|
| 1 | +# DOJ-2439 Manual Test Checklist |
| 2 | + |
| 3 | +## Prerequisites |
| 4 | +- [ ] jq installed (`jq --version`) |
| 5 | +- [ ] CodeSensei plugin installed in Claude Code |
| 6 | +- [ ] Profile exists at `~/.code-sensei/profile.json` |
| 7 | + |
| 8 | +## Test 1: Micro-Lesson Trigger (First Encounter) |
| 9 | + |
| 10 | +1. Delete a tech from your profile's `concepts_seen` array (e.g., remove "react") |
| 11 | +2. Ask Claude to create a `.jsx` file |
| 12 | +3. Verify: a `.json` file appears in `~/.code-sensei/pending-lessons/` |
| 13 | +4. Verify: the JSON has `"type":"micro-lesson"` and `"firstEncounter":true` |
| 14 | +5. Verify: the main context shows the delegation hint (not a full teaching prompt) |
| 15 | +6. Verify: if delegation succeeds, sensei produces a 2-3 sentence explanation |
| 16 | +7. Verify: the lesson file is deleted after delivery |
| 17 | + |
| 18 | +## Test 2: Inline-Insight Trigger (Repeat Encounter) |
| 19 | + |
| 20 | +1. Ensure "javascript" is in your profile's `concepts_seen` array |
| 21 | +2. Ask Claude to edit a `.js` file |
| 22 | +3. Verify: pending lesson has `"type":"inline-insight"` and `"firstEncounter":false` |
| 23 | +4. Verify: sensei produces a 1-2 sentence explanation (shorter than micro-lesson) |
| 24 | + |
| 25 | +## Test 3: Command-Hint Trigger |
| 26 | + |
| 27 | +1. Ask Claude to run a `git status` command |
| 28 | +2. Verify: pending lesson has `"type":"inline-insight"` or `"command-hint"` |
| 29 | +3. Verify: sensei explains briefly or skips if trivial |
| 30 | + |
| 31 | +## Test 4: Belt Calibration |
| 32 | + |
| 33 | +1. Set belt to "white" in profile.json |
| 34 | +2. Trigger a micro-lesson (Test 1) |
| 35 | +3. Verify: explanation uses analogies, zero jargon |
| 36 | +4. Change belt to "blue" in profile.json |
| 37 | +5. Trigger same micro-lesson |
| 38 | +6. Verify: explanation uses technical language freely |
| 39 | + |
| 40 | +## Test 5: Existing Commands Unchanged |
| 41 | + |
| 42 | +1. Run `/code-sensei:explain` — verify it still works as before |
| 43 | +2. Run `/code-sensei:quiz` — verify quiz flow unchanged |
| 44 | +3. Run `/code-sensei:why` — verify it still works as before |
| 45 | +4. Run `/code-sensei:progress` — verify dashboard unchanged |
| 46 | + |
| 47 | +## Test 6: Rate Limiting Still Works |
| 48 | + |
| 49 | +1. Rapidly create 3 files within 30 seconds |
| 50 | +2. Verify: only the first file triggers a pending lesson (rate limit = 30s) |
| 51 | +3. Exception: first encounters bypass rate limiting |
| 52 | + |
| 53 | +## Test 7: Session Cap Still Works |
| 54 | + |
| 55 | +1. Set `trigger_count` to 12 in `~/.code-sensei/session-state.json` |
| 56 | +2. Create a new file |
| 57 | +3. Verify: no pending lesson created (cap = 12 per session) |
0 commit comments