# Phase 3 Plan: Learner Memory **Status:** Ready for execution **Phase Goal:** Convert graded answer evidence into structured learner memory. ## Requirements Covered - MEM-01: System stores learner profile with role, stack, timeline, and preferences. - MEM-02: System stores concept mastery states with evidence. - MEM-03: System stores recurring misconceptions with supporting answers. - MEM-04: System stores intervention history and review schedule. - MEM-05: Temporary session context does not become durable memory without evidence. ## Tasks ### 1. Add learner memory package - Create `internal/learnermemory`. - Define profile, concept mastery, misconception, intervention, review schedule, and snapshot types. - Add in-memory store with clear interface. ### 2. Add memory extraction workflow output - Extend `workflows.StubRunner.ExtractLearningMemory` to return evidenced memory update candidates from a graded answer. - Ensure candidates without evidence are not applied. ### 3. Wire diagnostic answers to memory - Inject learner memory service into interview service. - After grading an answer, extract and apply memory updates. - Keep diagnostic session records and learner memory records separate. ### 4. Add memory read endpoint - Add `GET /api/v1/learners/{userID}/memory`. - Return learner profile, mastery, misconceptions, interventions, and review schedule. ### 5. Add tests and verification - Test memory applies only evidenced updates. - Test diagnostic answer submission updates learner memory. - Test memory HTTP read endpoint. - Run Go tests, OpenSpec validation, and line-count check. ## Out of Scope - Persistent database. - Memory ranking/decay. - Progression readiness map. - Frontend UI. --- *Plan created: 2026-04-26*