feat: add diagnostic interview loop
This commit is contained in:
77
.planning/phases/002-diagnostic-interview-loop/002-PLAN.md
Normal file
77
.planning/phases/002-diagnostic-interview-loop/002-PLAN.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# 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*
|
||||
Reference in New Issue
Block a user