78 lines
2.1 KiB
Markdown
78 lines
2.1 KiB
Markdown
|
|
# Phase 2 Plan: Diagnostic Interview Loop
|
||
|
|
|
||
|
|
**Status:** Ready for execution
|
||
|
|
**Phase Goal:** Prove the first job-seeker loop from role selection through
|
||
|
|
graded diagnostic interview.
|
||
|
|
|
||
|
|
## Requirements Covered
|
||
|
|
|
||
|
|
- INT-01: User can select target role, stack, and interview timeline.
|
||
|
|
- INT-02: User can complete a diagnostic technical interview.
|
||
|
|
- INT-03: System can generate role-specific interview questions.
|
||
|
|
- INT-04: System can grade user answers against explicit rubrics.
|
||
|
|
- INT-05: System can ask targeted follow-up questions for weak answers.
|
||
|
|
- INT-06: System preserves original answers and grading evidence.
|
||
|
|
|
||
|
|
## Tasks
|
||
|
|
|
||
|
|
### 1. Add interview domain package
|
||
|
|
|
||
|
|
- Create `internal/interview`.
|
||
|
|
- Define session, question, answer, and store types.
|
||
|
|
- Add in-memory store implementation.
|
||
|
|
- Add backend developer diagnostic question catalog.
|
||
|
|
|
||
|
|
### 2. Add diagnostic service
|
||
|
|
|
||
|
|
- Create session from target role, stack, and optional interview timeline.
|
||
|
|
- Select first diagnostic questions from the backend developer track.
|
||
|
|
- Record submitted answers.
|
||
|
|
- Invoke `workflows.Runner.GradeInterviewAnswer`.
|
||
|
|
- Attach typed grading result and evidence to the answer record.
|
||
|
|
|
||
|
|
### 3. Add HTTP endpoints
|
||
|
|
|
||
|
|
- `POST /api/v1/diagnostic-sessions`
|
||
|
|
- `GET /api/v1/diagnostic-sessions/{id}`
|
||
|
|
- `POST /api/v1/diagnostic-sessions/{id}/answers`
|
||
|
|
|
||
|
|
### 4. Extend workflow stub
|
||
|
|
|
||
|
|
- Return deterministic typed grades.
|
||
|
|
- Include follow-up recommendation for weak answers.
|
||
|
|
- Include evidence references.
|
||
|
|
|
||
|
|
### 5. Add tests
|
||
|
|
|
||
|
|
- Domain tests for session creation and answer grading.
|
||
|
|
- HTTP tests for create/get/answer flow.
|
||
|
|
- Existing config/workflow tests remain passing.
|
||
|
|
|
||
|
|
### 6. Update GSD/OpenSpec state
|
||
|
|
|
||
|
|
- Mark INT-01 through INT-06 complete if all success criteria pass.
|
||
|
|
- Add Phase 2 summary and verification artifacts.
|
||
|
|
|
||
|
|
## Verification
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
gofmt -w cmd internal
|
||
|
|
go test ./...
|
||
|
|
openspec validate bootstrap-job-tutor-platform --strict
|
||
|
|
```
|
||
|
|
|
||
|
|
Run Go line-count check and confirm every manually authored Go file is at or
|
||
|
|
below 600 lines.
|
||
|
|
|
||
|
|
## Out of Scope
|
||
|
|
|
||
|
|
- Database persistence.
|
||
|
|
- Authentication.
|
||
|
|
- Real LLM grading.
|
||
|
|
- Durable learner memory.
|
||
|
|
- Progression map.
|
||
|
|
- Frontend.
|
||
|
|
|
||
|
|
---
|
||
|
|
*Plan created: 2026-04-26*
|