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
Owner

Phase 1 ship: Next.js App Router scaffold (TS strict, Tailwind v4, Vitest), ApiClient/MockApiClient boundary, /ask and /choose with all 8 methodology cards + advanced dials drawer. REQ-52..56. Gates: typecheck/lint/test(20)/build green. Review: PASS zero P0, four P1 flagged post-hoc.

Phase 1 ship: Next.js App Router scaffold (TS strict, Tailwind v4, Vitest), ApiClient/MockApiClient boundary, /ask and /choose with all 8 methodology cards + advanced dials drawer. REQ-52..56. Gates: typecheck/lint/test(20)/build green. Review: PASS zero P0, four P1 flagged post-hoc.
coreci-bot added 15 commits 2026-09-27 00:44:14 +00:00
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-1.1
requirements:
  covered: [REQ-52]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-1.2
requirements:
  covered: []
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-1.3
requirements:
  covered: [REQ-53]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-1.4
requirements:
  covered: [REQ-53]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-2.1
requirements:
  covered: [REQ-53, REQ-56]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-2.2
requirements:
  covered: [REQ-53]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-2.3
requirements:
  covered: [REQ-53]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-2.3
requirements:
  covered: [REQ-53]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.1
requirements:
  covered: [REQ-55]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.2
requirements:
  covered: [REQ-56]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.2b
requirements:
  covered: [REQ-56]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.3
requirements:
  covered: [REQ-55, REQ-56]
---/ci---
---ci---
phase: 1
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-3.4
requirements:
  covered: [REQ-52]
---/ci---
---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.
---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---
coreci-bot merged commit dd2538f33e into milestone/v0.1-prototype 2026-09-27 00:44:32 +00:00
coreci-bot deleted branch phase/01-frontend-scaffold-ask-choose 2026-09-27 00:44:32 +00:00
Sign in to join this conversation.