ship: frontend scaffold + ask + choose (P1) #1

Merged
coreci-bot merged 15 commits from phase/01-frontend-scaffold-ask-choose into milestone/v0.1-prototype 2026-09-27 00:44:32 +00:00

15 Commits

Author SHA1 Message Date
coreci 229bc800da verify(P01): passed — zero P0, four P1 flagged for post-hoc
---ci---
phase: 1
milestone: v0.1
status: verify
requirements:
  covered: [REQ-52, REQ-53, REQ-54, REQ-55, REQ-56]
  partial: []
lessons:
  - "layer1 structural: all plan files exist, imports resolve, no TODO/stub, gates re-run green"
  - "layer2 behavioral: 20/20 tests, must-haves met, REQ coverage complete"
  - "layer3 security STRIDE: user input only reaches React-escaped JSX text nodes; no dangerouslySetInnerHTML, no eval, no useSearchParams; no injection surface in phase-1 scope"
  - "layer4 quality review: PASS, zero P0"
  - "P1-1: dials.ts formatDialValue mangles hyphens; per-claim renders as Per+Claim in every Advanced drawer"
  - "P1-2: Start-research button lacks empty-question guard on direct /choose nav"
  - "P1-3: MockApiClient single-slot lastRun means back-nav to an earlier created run 404s"
  - "P1-4: test gaps; run-view untested, choose direct-nav branch untested, string-dial drawer rendering untested"
  - "P1 routing: P1-1 and P1-2 fix in final phase P4 before owner demo; P1-3 and P1-4 fold into P2/P3 work"
---/ci---
2026-09-27 00:43:21 +00:00
coreci 2677878545 docs(P01-T4.1): boundary review — ApiClient boundary clean, gates green
---ci---
phase: 1
milestone: v0.1
status: execute
persona: ci-lead-developer
task: T-4.1
requirements:
  covered: [REQ-54, REQ-52]
---/ci---

Verified: MockApiClient imported only by src/lib/api/client.ts (the binding);
components consume the ApiClient interface via the api singleton. typecheck,
lint, 20/20 tests, build all re-run and green. Root README quickstart added.
2026-09-27 00:34:31 +00:00
coreci 6501117ce9 feat(P01-T3.4): root redirect + frontend README quickstart
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.4
requirements:
  covered: [REQ-52]
---/ci---
2026-09-27 00:30:55 +00:00
coreci e8952ac43e test(P01-T3.3): component tests — ask carry, choose cards, drawer disclosure
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.3
requirements:
  covered: [REQ-55, REQ-56]
---/ci---
2026-09-27 00:30:05 +00:00
coreci af5ea2c7a7 feat(P01-T3.2b): run placeholder route
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.2b
requirements:
  covered: [REQ-56]
---/ci---
2026-09-27 00:29:29 +00:00
coreci c262d54b5f feat(P01-T3.2): /choose — 8 methodology cards + advanced dials drawer
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.2
requirements:
  covered: [REQ-56]
---/ci---
2026-09-27 00:29:22 +00:00
coreci f671864df8 feat(P01-T3.1): /ask — question + optional context
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.1
requirements:
  covered: [REQ-55]
---/ci---
2026-09-27 00:27:48 +00:00
coreci 687b14d4c5 fix(P01): gate fixes — drop unused import flagged by lint
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-2.3
requirements:
  covered: [REQ-53]
---/ci---
2026-09-27 00:27:06 +00:00
coreci 4436de71d3 feat(P01-T2.3): MockApiClient + contract tests
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-2.3
requirements:
  covered: [REQ-53]
---/ci---
2026-09-27 00:26:55 +00:00
coreci 1ec7230a8d feat(P01-T2.2): scripted Deep Report run — trace, report, citations
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-2.2
requirements:
  covered: [REQ-53]
---/ci---
2026-09-27 00:26:13 +00:00
coreci b7b6c965be feat(P01-T2.1): methodology fixtures — all 8 locked methodologies
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-2.1
requirements:
  covered: [REQ-53, REQ-56]
---/ci---
2026-09-27 00:25:44 +00:00
coreci 112fa37ec2 feat(P01-T1.4): ApiClient interface + binding
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-1.4
requirements:
  covered: [REQ-53]
---/ci---
2026-09-27 00:25:23 +00:00
coreci 2626394e34 feat(P01-T1.3): domain types — methodology, dials, run, trace, citations
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-1.3
requirements:
  covered: [REQ-53]
---/ci---
2026-09-27 00:24:17 +00:00
coreci a2308c366c feat(P01-T1.2): design tokens — type scale, color, spacing (D-018)
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-1.2
requirements:
  covered: []
---/ci---
2026-09-27 00:23:59 +00:00
coreci af78d512a2 feat(P01-T1.1): scaffold Next.js App Router app (TS strict, Tailwind v4, Vitest)
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-1.1
requirements:
  covered: [REQ-52]
---/ci---
2026-09-27 00:23:26 +00:00