2.8 KiB
2.8 KiB
Phase 2: Diagnostic Interview Loop - Context
Gathered: 2026-04-26 Status: Ready for planning Source: GSD continuation after Phase 1 completion
## Phase BoundaryPhase 2 proves the first job-seeker loop from target role/stack selection through a graded diagnostic answer. It should create a thin backend product surface for diagnostic sessions while avoiding persistent storage and real LLM calls until later phases require them.
## Implementation DecisionsPersistence
- Use an in-memory session store in Phase 2.
- Do not add a database or migrations yet.
- Persisting original answers and grading evidence means preserving them inside the in-memory diagnostic session record for this phase.
Interview Track
- Use the Backend Developer Interview track from
docs/planning/INTERVIEW_TRACKS.md. - Seed questions should cover the canonical concept clusters, starting with a small representative set.
Workflow Boundary
- Grading must go through the typed
workflows.Runnerinterface. - The default implementation can remain deterministic/stubbed, but it must
return typed
GradedAnswerdata rather than freeform prose. - HTTP handlers must not shell out or parse arbitrary assistant text.
<canonical_refs>
Canonical References
Downstream agents MUST read these before planning or implementing.
Product and Track
docs/planning/PRD.md- diagnostic interview product flow.docs/planning/INTERVIEW_TRACKS.md- first track and concept seed list.docs/planning/WORKFLOW_CONTRACTS.md- typed workflow result shape.
Engineering and Requirements
docs/planning/ENGINEERING.md- 600-line, SOLID, KISS, YAGNI constraints..planning/REQUIREMENTS.md- INT-01 through INT-06 requirements..planning/ROADMAP.md- Phase 2 goal and success criteria.openspec/changes/bootstrap-job-tutor-platform/specs/job-seeker-tutor/spec.md- diagnostic and first-track requirements.
openspec/changes/bootstrap-job-tutor-platform/specs/tutor-workflows/spec.md- typed workflow requirements.
</canonical_refs>
## Specific Ideas- Add
internal/interviewfor sessions, questions, answers, and in-memory store. - Add endpoints:
POST /api/v1/diagnostic-sessionsGET /api/v1/diagnostic-sessions/{id}POST /api/v1/diagnostic-sessions/{id}/answers
- Keep routing simple with standard library
http.ServeMux. - Add deterministic grading in the workflow stub so tests can prove typed evidence is recorded.
- Real
third-onegrading execution. - Database persistence.
- Authentication and user identity provider integration.
- Memory extraction and durable learner memory.
- Frontend UI.
Phase: 002-diagnostic-interview-loop Context gathered: 2026-04-26