|
1 | | -# Socratic Study Mentor -- Active Backlog |
| 1 | +# Socratic Study Mentor — Active Backlog |
2 | 2 |
|
3 | 3 | > Single source of truth for outstanding work. |
4 | | -> For Phase 1-4 implementation details, see `docs/plans/2026-03-15-feat-unified-study-platform-plan.md`. |
| 4 | +> System overview: `docs/system-overview.md` |
| 5 | +
|
| 6 | +## Core Features (maintained) |
| 7 | + |
| 8 | +| Feature | Status | |
| 9 | +|---------|--------| |
| 10 | +| Socratic AI sessions (Claude, Kiro, Gemini, OpenCode) | Active | |
| 11 | +| Content pipeline → NotebookLM (split, process, autopilot) | Active | |
| 12 | +| Flashcard/quiz review (PWA web app, SM-2) | Active | |
| 13 | +| Session intelligence (export, search, sync) | Active | |
| 14 | +| Live study sessions (`studyctl study` + tmux + sidebar) | Active | |
5 | 15 |
|
6 | 16 | ## Completed (summary) |
7 | 17 |
|
8 | 18 | | Phase | Description | Status | |
9 | 19 | |-------|-------------|--------| |
10 | | -| 1 | Fix broken code (spaced repetition, progress, config) | Done | |
11 | | -| 2 | Unify agent framework (5 platforms, shared docs) | Done | |
12 | | -| 3 | AuDHD methodology (emotional regulation, parking lot, etc.) | Done | |
13 | | -| 4 | Documentation site (MkDocs Material, font toggle, custom admonitions) | Done | |
14 | | -| 5 | Documentation & install polish (README, agent-install, roadmap) | Done | |
15 | | -| 6 | Centralised artefact store (GitHub Pages, config, store module) | Done | |
16 | | -| 7 | Unified config & cross-machine sync (hosts, SSH, install scripts) | Done | |
17 | | -| 8 | StudyCards TUI (review_loader, review_db, SM-2, voice toggle) | Done | |
18 | | -| 9 | TUI polish & PWA web app (Pomodoro, voice, accessibility) | Done | |
19 | | -| Phase 0 | Pre-work: config consolidation, CLI split, WAL mode, service layer | Done | |
| 20 | +| 1-9 | Foundation, agents, AuDHD methodology, docs, artefacts, config, TUI, PWA | Done | |
| 21 | +| Phase 0 | Config consolidation, CLI split, WAL mode, service layer | Done | |
20 | 22 | | Phase 1 | Content absorption: 7 modules, 10 CLI commands, 76 tests | Done | |
21 | | -| Phase 4 | PyPI + Homebrew tap live, OIDC trusted publishing | Done | |
| 23 | +| Phase 4 | PyPI + Homebrew tap, OIDC trusted publishing | Done | |
22 | 24 | | Phase 5 | Doctor/upgrade/install-mentor: 3 CLI commands, 7 checker modules | Done | |
23 | | -| Fixes | Export progress bar (A1), list_concepts (A2), course picker (A3), retry wrong (A4), SQL/connection leaks (A5), narrow exceptions (A6) | Done | |
| 25 | +| Compaction | Strip to 4 core features, 13 CLI commands | Done | |
24 | 26 |
|
25 | | -## Unified Platform Plan -- Next Phases |
| 27 | +### v2.2 — Live Session Dashboard (on `feat+live-session-dashboard` branch) |
26 | 28 |
|
27 | | -### Phase 6: CI/CD Pipeline (next) |
| 29 | +| Item | Status | |
| 30 | +|------|--------| |
| 31 | +| Session CLI (`session start/end/status`, `park`) + IPC protocol | Done | |
| 32 | +| cmux agent protocol (Phase 1.5) | Done | |
| 33 | +| Web dashboard — SSE + HTMX + Alpine.js (`/session`) | Done | |
| 34 | +| Bug fixes — parking dedup, IPC permissions 0700/0600, CORS, SSE mtime | Done | |
| 35 | +| `studyctl study` — tmux session, agent launcher (Claude), Textual sidebar | Done | |
| 36 | +| Agent personas (`study.md`, `co-study.md`) | Done | |
| 37 | +| Auto-cleanup on agent exit + sidebar `Q` end session | Done | |
| 38 | +| Persistent session directories with conversation resume (`claude -r`) | Done | |
| 39 | +| Pomodoro countdown timer (25/5/25/5/25/5/25/15 cycle) | Done | |
| 40 | +| Catppuccin-compatible tmux overlay (no theme clobbering) | Done | |
| 41 | +| System overview doc (`docs/system-overview.md`) | Done | |
| 42 | +| **359 tests pass, all pre-commit hooks pass** | | |
28 | 43 |
|
29 | | -Nightly drift detection, pre-release gate, Docker image pipeline. Spec at `docs/ci-cd-pipeline.md`. |
| 44 | +**Not yet merged to main. Pending: test `--resume` in a real study session, then squash-merge + release v2.2.0.** |
30 | 45 |
|
31 | | -### Phase 7: Docker Web + Server-Side TTS |
| 46 | +## Next |
| 47 | + |
| 48 | +### v2.2 — Remaining Polish (Phase 2) |
32 | 49 |
|
33 | | -Docker image running `studyctl web` with kokoro-onnx server-side TTS. |
| 50 | +- [ ] Vendor HTMX + Alpine.js into `web/static/` (remove CDN, enable offline PWA) |
| 51 | +- [ ] Parked topic warmup at session start (surface unresolved topics from previous sessions) |
| 52 | +- [ ] Break suggestions at timer threshold crossings (from `break-science.md`) |
| 53 | +- [ ] Energy streaks — correlate energy levels with session outcomes in `studyctl streaks` |
34 | 54 |
|
35 | | -### Phase 2: FastAPI Web UI |
| 55 | +### Phase 6: CI/CD Pipeline |
36 | 56 |
|
37 | | -Replace stdlib HTTP server with FastAPI. HTMX + Alpine.js frontend, artefact viewer, progress dashboard. Migrate all 11 existing routes. |
| 57 | +Nightly drift detection, pre-release gate, Docker image pipeline. Spec at `docs/ci-cd-pipeline.md`. |
| 58 | + |
| 59 | +- [ ] Nightly: fresh install on Ubuntu + macOS, `studyctl doctor --json` as gate |
| 60 | +- [ ] Pre-release: upgrade path N-1 → N, triggered on release tags |
| 61 | +- [ ] Docker: `studyctl-web` image with server-side TTS, health check via doctor |
38 | 62 |
|
39 | | -See: `docs/plans/2026-03-15-feat-unified-study-platform-plan.md` -- Phase 2 |
| 63 | +### Phase 3: Devices (ttyd + LAN access) |
40 | 64 |
|
41 | | -### Phase 3: MCP Agent Integration |
| 65 | +- [ ] ttyd via nginx/Caddy proxy (Unix socket, htpasswd auth) |
| 66 | +- [ ] pyrage + macOS Keychain for password management |
| 67 | +- [ ] Web terminal embed (iframe with LAN IP, `frame-ancestors` CSP) |
| 68 | +- [ ] `studyctl study --lan` flag |
42 | 69 |
|
43 | | -FastMCP v1 server with stdio transport. Flashcard/quiz generation tools, study context tools, onboarding agent skill. |
| 70 | +### Phase 7: Docker Web + Server-Side TTS |
44 | 71 |
|
45 | | -See: `docs/plans/2026-03-15-feat-unified-study-platform-plan.md` -- Phase 3 |
| 72 | +- [ ] Docker image running `studyctl web` with kokoro-onnx TTS |
| 73 | +- [ ] FastAPI audio endpoint for browser playback |
46 | 74 |
|
47 | 75 | ## Standalone Items (not blocked by phases) |
48 | 76 |
|
49 | 77 | - [ ] Obsidian export: convert flashcard JSON to Obsidian `#flashcard` format (Spaced Repetition plugin compatible) |
| 78 | +- [ ] Merge `feat+live-session-dashboard` to main + release v2.2.0 |
| 79 | +- [ ] Textual sidebar tests (using Textual test framework) |
| 80 | + |
| 81 | +## Archived Features (in git history, restore on demand) |
| 82 | + |
| 83 | +- TUI dashboard (`studyctl tui`) — replaced by Textual sidebar in tmux |
| 84 | +- Scheduler (launchd/cron management) |
| 85 | +- Calendar .ics generation (`schedule-blocks`) |
| 86 | +- Knowledge bridges DB + CLI commands |
| 87 | +- Teach-back scoring DB + CLI commands |
| 88 | +- Crush + Amp agent definitions |
50 | 89 |
|
51 | 90 | ## Deferred (add when real demand appears) |
52 | 91 |
|
53 | | -- LAN password auth (`--password` flag + HTTP Basic Auth) |
| 92 | +- LAN password auth (Phase 3 — ttyd + pyrage + Keychain) |
54 | 93 | - Config editor web UI |
55 | | -- GitHub Issues API feedback |
56 | | -- TUI artefact browser |
57 | | -- Native iOS/macOS app (research in `docs/research/swift-poc-feasibility.md`) |
| 94 | +- Native iOS/macOS app |
58 | 95 | - AWS cloud sync (Cognito, DynamoDB, push notifications) |
| 96 | +- Agents: Gemini, Kiro, OpenCode launch commands (add when testing against binaries) |
59 | 97 |
|
60 | 98 | ## Key File References |
61 | 99 |
|
62 | 100 | | Item | Location | |
63 | 101 | |------|----------| |
64 | | -| Unified Platform Plan | `docs/plans/2026-03-15-feat-unified-study-platform-plan.md` | |
65 | | -| Brainstorm (decisions) | `docs/brainstorms/2026-03-15-unified-study-platform-brainstorm.md` | |
66 | | -| Code Review Items | `code-review-plan-items.md` | |
| 102 | +| System Overview | `docs/system-overview.md` | |
| 103 | +| Session Architecture Plan | `docs/plans/2026-03-29-feat-unified-session-architecture-plan.md` | |
67 | 104 | | CLI Package | `packages/studyctl/src/studyctl/cli/` | |
| 105 | +| Study Orchestrator | `packages/studyctl/src/studyctl/cli/_study.py` | |
| 106 | +| tmux Wrapper | `packages/studyctl/src/studyctl/tmux.py` | |
| 107 | +| Agent Launcher | `packages/studyctl/src/studyctl/agent_launcher.py` | |
| 108 | +| Textual Sidebar | `packages/studyctl/src/studyctl/tui/sidebar.py` | |
| 109 | +| Web PWA + Session Dashboard | `packages/studyctl/src/studyctl/web/` | |
| 110 | +| Agent Personas | `agents/shared/personas/` | |
68 | 111 | | Services Layer | `packages/studyctl/src/studyctl/services/` | |
69 | | -| Settings (config) | `packages/studyctl/src/studyctl/settings.py` | |
70 | 112 | | Review DB (SM-2) | `packages/studyctl/src/studyctl/review_db.py` | |
71 | | -| TUI Source | `packages/studyctl/src/studyctl/tui/` | |
72 | | -| Web PWA | `packages/studyctl/src/studyctl/web/` | |
73 | | -| Hosts Config | `~/.config/studyctl/config.yaml` | |
| 113 | +| Config | `~/.config/studyctl/config.yaml` | |
| 114 | +| Session Directories | `~/.config/studyctl/sessions/` | |
0 commit comments