Files
tutor-service/.planning/phases/002-diagnostic-interview-loop/002-PLAN.md
2026-04-26 16:24:35 +09:00

2.1 KiB

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

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