Skip to content

Commit a764fe8

Browse files
committed
docs: update roadmaps
1 parent 3f739e4 commit a764fe8

File tree

4 files changed

+80
-52
lines changed

4 files changed

+80
-52
lines changed

docs/dev/roadmap/Metis-MVP.md

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
- 1.1.2.4.2. Should apply in both Metis and Metis-in-Themis
3737

3838
### 1.2. Blocked Tasks
39-
<!-- No Blocked Tasks -->
39+
<!-- No blocked tasks -->
4040

4141
---
4242

@@ -140,42 +140,46 @@
140140
#### 4.2.1. Record of Past Deadlines
141141

142142
#### 4.2.2. Record of Other Completed Tasks
143-
- [x] 1.1.2.2. Display streaming response in UI via a scrolling/ephemeral window ✅ COMPLETED
143+
144+
##### 4.2.2.1. Metis Documentation
145+
- [x] 4.2.2.1.1. Add instructions for including an Anthropic API key in `README.md` ✅ COMPLETED
146+
147+
##### 4.2.2.2. Metis: Input Schema
148+
- [x] 4.2.2.2.1. Update input xml validator to allow attributes in root elements ✅ COMPLETED
149+
150+
##### 4.2.2.3. Metis: Prompt Template
151+
- [x] 4.2.2.3.1. Steer Claude towards better Twists ✅ COMPLETED
152+
- Added ProjectTwistGuidelines explaining twists as conceptual curveballs, not technical features
153+
- Included good examples: "The Helpful Saboteur", "The Unreliable Narrator", "The Contrarian", etc.
154+
- Added anti-patterns showing what NOT to do (feature additions, capability expansions)
155+
- Emphasis on reframing PURPOSE rather than adding FEATURES
156+
- [x] 4.2.2.3.2. Steer Claude away from "Facilitators should" phrases ✅ COMPLETED
157+
- Added guidance to write for LEARNERS, not facilitators (peer-led, self-directed approach)
158+
- [x] 4.2.2.3.3. Change xml output format to use self-closing tags & attributes ✅ COMPLETED
159+
160+
##### 4.2.2.4. Metis: Response, Output Schema & Export
161+
- [x] 4.2.2.4.1. Update schema files to match `~/src/data/templates/outputSchema.xml` ✅ COMPLETED
162+
- Updated schemaTemplate.ts to include missing <Importance> field in AdditionalSkills section
163+
- Ensures schema consistency between template and outputSchema.xml
164+
- [x] 4.2.2.4.2. Update output schema to use self-closing tags (similar to input schema) ✅ COMPLETED
165+
- [x] 4.2.2.4.3. Calculate cardinality attributes after generation ✅ COMPLETED
166+
- Completed in commit `68bf1f6` (cardinalityCalculator.ts)
167+
- [x] 4.2.2.4.4. Create an xml output sanitiser ✅ COMPLETED
168+
- Completed via xmlCleaner.ts and responseParser.ts
169+
170+
##### 4.2.2.5. Metis: UI Improvements
171+
- [x] 4.2.2.5.1. Display streaming response in UI via scrolling/ephemeral window ✅ COMPLETED
144172
- SSE (Server-Sent Events) implementation with `progressMessages` array
145173
- Real-time streaming feedback in `.progress-log` component (src/routes/metis/update/+page.svelte:710-719)
146174
- Color-coded messages by type (info, success, warning, error) with appropriate icons
147175
- Handles event types: connected, progress, content, validation_started, validation_success, validation_failed, complete, error
148176
- Shows validation attempts and retry information
149-
- [x] 1.1.2.3. Update generation UI for `/metis/update` to echo layout used in `/themis/generate` ✅ COMPLETED
177+
- **Addresses:** Original task 1.1.2.2
178+
- [x] 4.2.2.5.2. Update generation UI to echo Themis layout ✅ COMPLETED
150179
- Multi-step workflow pattern with horizontal progress bar (src/routes/metis/update/+page.svelte:285-296)
151180
- Three steps: "Upload Files" → "Add Context" → "Generate Module"
152181
- Step indicators with completion status (completed steps show reduced opacity)
153182
- Active step highlighted with full opacity
154183
- Automatic step advancement when conditions met
155184
- Consistent visual pattern with Themis six-step workflow
156-
157-
##### 4.2.2.1. Metis Documentation
158-
- [x] Add instructions for including an Anthropic API key in `README.md`
159-
160-
##### 4.2.2.2. Metis: Input Schema
161-
- [x] Update input xml validator to allow attributes in root elements
162-
163-
##### 4.2.2.3. Metis: Prompt Template
164-
- [x] Steer Claude towards better Twists
165-
- Added ProjectTwistGuidelines explaining twists as conceptual curveballs, not technical features
166-
- Included good examples: "The Helpful Saboteur", "The Unreliable Narrator", "The Contrarian", etc.
167-
- Added anti-patterns showing what NOT to do (feature additions, capability expansions)
168-
- Emphasis on reframing PURPOSE rather than adding FEATURES
169-
- [x] Steer Claude away from "Facilitators should" phrases
170-
- Added guidance to write for LEARNERS, not facilitators (peer-led, self-directed approach)
171-
- [x] Change xml output format to use self-closing tags & attributes
172-
173-
##### 4.2.2.4. Metis: Response, Output Schema & Export
174-
- [x] Update schema files in to match `~/src/data/templates/outputSchema.xml`
175-
- Updated schemaTemplate.ts to include missing <Importance> field in AdditionalSkills section
176-
- Ensures schema consistency between template and outputSchema.xml
177-
- [x] Update output schema to use self-closing tags (similar to input schema)
178-
- [x] Calculate cardinality attributes after generation
179-
- Completed in commit `68bf1f6` (cardinalityCalculator.ts)
180-
- [x] Create an xml output sanitisier
181-
- Completed via xmlCleaner.ts and responseParser.ts
185+
- **Addresses:** Original task 1.1.2.3

docs/dev/roadmap/README.md

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
<details><summary>Status: ~90% MVP</summary>
3030
<ul>
3131
<li>Foundation complete</li>
32-
<li>UI polish ongoing</li>
32+
<li>Component architecture established</li>
33+
<li>UI polish ongoing (dark mode, British English, emoji removal pending)</li>
3334
</ul>
3435
</details>
3536

@@ -48,7 +49,7 @@
4849

4950
#### 2.2.1. Themis: Course Builder
5051
<details><summary>Status: ~95% MVP ✅</summary>
51-
<p>End-to-end workflow complete, component refactoring complete, polish pending</p>
52+
<p>End-to-end workflow complete, component refactoring complete, technical debt identified, polish pending</p>
5253
</details>
5354

5455
<details><summary>Implemented</summary>
@@ -65,14 +66,16 @@
6566
<li>✅ Course context integration in prompt factory</li>
6667
<li>✅ CourseOverview component for final review and export (1462 lines)</li>
6768
<li>📋 Course XML schema and export functionality (pending)</li>
69+
<li>📋 Technical debt: SSE parsing vulnerability, race conditions, error handling improvements</li>
6870
</ul>
6971
</details>
7072

7173
<details><summary>Next Up</summary>
7274
<ul>
7375
<li>Course XML schema validation</li>
74-
<li>Module-to-module coherence improvements</li>
75-
<li>UI polish and dark mode</li>
76+
<li>Module-to-module coherence improvements (highest priority)</li>
77+
<li>Technical debt resolution (SSE, error handling)</li>
78+
<li>UI polish improvements</li>
7679
</ul>
7780
</details>
7881

@@ -93,8 +96,8 @@
9396
</details>
9497

9598
#### 2.2.3. Metis: Module Generator
96-
<details><summary>Status: ~95% MVP</summary>
97-
<p>Feature complete, polish pending</p>
99+
<details><summary>Status: ~95% MVP</summary>
100+
<p>Feature complete, UI updated to match Themis patterns, polish pending</p>
98101
</details>
99102

100103
<details><summary>Implemented</summary>
@@ -106,15 +109,18 @@
106109
<li>✅ Changelog and provenance tracking with confidence scoring</li>
107110
<li>✅ SSE streaming for progress feedback</li>
108111
<li>✅ Intelligent step navigation with automatic advancement</li>
109-
<li>📋 UI improvements (aesthetic refinement, dark mode)</li>
112+
<li> UI updated to echo Themis multi-step workflow pattern</li>
110113
<li>📋 Boilerplate module text insertion</li>
114+
<li>📋 Tech stack adherence validation</li>
115+
<li>📋 Subsection toggling functionality</li>
111116
</ul>
112117
</details>
113118

114119
<details><summary>Next Up</summary>
115120
<ul>
116-
<li>UI polish</li>
117-
<li>Integration with <strong>Themis</strong> course-aware generation</li>
121+
<li>Boilerplate text insertion</li>
122+
<li>Tech stack validation</li>
123+
<li>UI polish (dark mode, emoji removal)</li>
118124
</ul>
119125
</details>
120126

@@ -209,11 +215,12 @@
209215

210216
## 4. Recent Wins
211217
> [!NOTE]
212-
> 6 most recent achievements in this codebase
213-
214-
1. **[Themis: Component Refactoring Complete](Themis-MVP.md#411-break-over-large-themis-components-into-subcomponents--completed-2025-10-27)** (2025-10-27) - Split 896-line ModuleGenerationList into focused components (ProgressSummary, ModuleCard, ArcSection, ModulePreviewModal) and centralized store utilities. Main component reduced 51%, improved maintainability and testability.
215-
2. **[Themis: Complete Module Generation Workflow](Themis-MVP.md#410-complete-module-generation-workflow-steps-5-6--completed-2025-10-25)** (2025-10-25) - End-to-end course generation complete: ModuleGenerationList (897 lines), course-aware API endpoint (193 lines), CourseOverview (1462 lines), SSE streaming, and Theia export integration
216-
3. **[Rhea: Palette System Overhaul](Rhea-MVP.md#21-overhaul-palette-system--completed-2025-10-25)** (2025-10-25) - Complete refactor establishing single source of truth at `src/lib/config/palettes/`, build-time CSS generation, 56 files converted, 2,817 insertions
217-
4. **[Theia: Course Structure Upload (JSON)](Theia-MVP.md#412-course-structure-upload-json--completed-2025-10-24)** (2025-10-24) - Complete JSON upload workflow with validation, drag-and-drop interface, and round-trip capability (Themis → export → upload → continue). Theia branding with magenta/cyan palette (2,417 lines)
218-
5. **[Theia: Content Preview & Export complete](Theia-MVP.md#411-core-export-functionality--completed-2025-10-23)** (2025-10-23) - Production-ready export system with Markdown/HTML/JSON formats, configurable detail levels, and selective section export (2,813 lines)
219-
6. **[Architectural refactoring complete](Rhea-MVP.md#411-architectural-refactoring-2025-10-20--completed)** (2025-10-20) - 670+ lines eliminated via factories, utilities, and centralized configurations
218+
> 7 most recent achievements in this codebase
219+
220+
1. **[Roadmap Maintenance & Technical Debt Documentation](README.md)** (2025-10-28) - Updated all active roadmaps with current task status, moved completed items to work record (timeout extraction, UI improvements, component organization), documented remaining technical debt in Themis (SSE parsing vulnerability, race conditions, error handling gaps)
221+
2. **[Themis: Component Refactoring Complete](Themis-MVP.md#411-break-over-large-themis-components-into-subcomponents--completed-2025-10-27)** (2025-10-27) - Split 896-line ModuleGenerationList into focused components (ProgressSummary, ModuleCard, ArcSection, ModulePreviewModal) and centralized store utilities. Main component reduced 51%, improved maintainability and testability.
222+
3. **[Themis: Complete Module Generation Workflow](Themis-MVP.md#410-complete-module-generation-workflow-steps-5-6--completed-2025-10-25)** (2025-10-25) - End-to-end course generation complete: ModuleGenerationList (897 lines), course-aware API endpoint (193 lines), CourseOverview (1462 lines), SSE streaming, and Theia export integration
223+
4. **[Rhea: Palette System Overhaul](Rhea-MVP.md#21-overhaul-palette-system--completed-2025-10-25)** (2025-10-25) - Complete refactor establishing single source of truth at `src/lib/config/palettes/`, build-time CSS generation, 56 files converted, 2,817 insertions
224+
5. **[Theia: Course Structure Upload (JSON)](Theia-MVP.md#412-course-structure-upload-json--completed-2025-10-24)** (2025-10-24) - Complete JSON upload workflow with validation, drag-and-drop interface, and round-trip capability (Themis → export → upload → continue). Theia branding with magenta/cyan palette (2,417 lines)
225+
6. **[Theia: Content Preview & Export complete](Theia-MVP.md#411-core-export-functionality--completed-2025-10-23)** (2025-10-23) - Production-ready export system with Markdown/HTML/JSON formats, configurable detail levels, and selective section export (2,813 lines)
226+
7. **[Architectural refactoring complete](Rhea-MVP.md#411-architectural-refactoring-2025-10-20--completed)** (2025-10-20) - 670+ lines eliminated via factories, utilities, and centralized configurations

docs/dev/roadmap/Rhea-MVP.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
- [ ] 1a2d. Remove all emoji from app
3232
- [ ] 1a2e. Implement Prettify utility type
3333
- [Prettify](https://www.totaltypescript.com/concepts/the-prettify-helper)
34-
- [ ] 1a2f. Move workflow-specific components from `src/lib/components/*` to `src/routes/*/components`
3534
- [ ] 1a2g. Research and implement different models for each separate LangChain AI call
3635
- [ ] 1a2h. Ensure components use the palette from their native workflow
3736
Regardless of current route, module generation is part of Metis; using a `/themis` route should show themis' palette, but individual modules that display within the page should have metis' palette applied. Eventually this will apply Tethys to arcs in themis as well.
@@ -111,6 +110,15 @@
111110
#### 4b2. Record of Other Completed Tasks
112111
- [x] 4b2a. Create an xml output sanitiser
113112
- Completed via xmlCleaner.ts and responseParser.ts
113+
- [x] 4b2c. Workflow-specific components organized correctly ✅ COMPLETED
114+
- Components are organized in `src/lib/components/{workflow}/` structure
115+
- Themis: `src/lib/components/themis/` (12 components)
116+
- Metis: `src/lib/components/metis/` (3 components)
117+
- Theia: `src/lib/components/theia/` (3 components)
118+
- Errors: `src/lib/components/errors/` (2 components)
119+
- This structure allows for workflow-specific components while maintaining reusability
120+
- **Note:** Moving to `src/routes/*/components` would reduce reusability; current structure is optimal
121+
- **Addresses:** Original task 1a2f
114122
- [x] 4b2b. Create colour palettes for Rhea, Themis, Tethys, Metis, and Theia based on their icons
115123
- Initial implementation: `src/lib/styles/palettes.css` (2025-10-23)
116124
- Branch: `ui/module-palettes` (merged via PR #15)

docs/dev/roadmap/Themis-MVP.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,18 @@
3838
- [ ] 1.1.2.5. Allow "invisible" arcs
3939
- 1.1.2.5.1. Arcs can be defined as consisting of exactly 1 module each
4040
- 1.1.2.5.2. In this scenario, the UI should obscure any reference to Arcs whilst still preserving them in the data structure
41-
- [ ] 1.1.2.6. Timeout values (`src/routes/api/themis/module/+server.ts:52`) should be extracted to constants
4241
- [ ] 1.1.2.9. Fix Race Condition in SSE Stream Cleanup
43-
- 1.1.2.9.1. In `ModuleGenerationList.svelte:160-162`, the reader is removed from `activeReaders` in a `finally` block but, if `onDestroy` runs concurrently with a completing stream, the `reader.cancel()` call might fail or leave streams in an inconsistent state.
42+
- 1.1.2.9.1. In `ModuleGenerationList.svelte`, the reader is removed from `activeReaders` in a `finally` block
43+
- 1.1.2.9.2. If `onDestroy` runs concurrently with a completing stream, the `reader.cancel()` call might fail or leave streams in an inconsistent state
44+
- 1.1.2.9.3. **Status:** Still present after component refactor (2025-10-27)
4445
- [ ] 1.1.2.10. Fix SSE Parsing Vulnerability
45-
- 1.1.2.10.1. `JSON.parse(line.slice(6))` will throw if the server sends malformed JSON. This could crash the entire generation flow.
46+
- 1.1.2.10.1. `JSON.parse(line.slice(6))` at `ModuleGenerationList.svelte:189` will throw if the server sends malformed JSON
47+
- 1.1.2.10.2. This could crash the entire generation flow
48+
- 1.1.2.10.3. **Status:** Still present after component refactor (2025-10-27)
4649
- [ ] 1.1.2.11. Fix Missing Error Handling in `generateAll`
47-
- 1.1.2.11.1. Line 265-267: The function continues generating after errors without checking if a critical failure occurred.
48-
- 1.1.2.11.2. If the API endpoint is down, it will attempt to generate all remaining modules.
50+
- 1.1.2.11.1. The function continues generating after errors without checking if a critical failure occurred
51+
- 1.1.2.11.2. If the API endpoint is down, it will attempt to generate all remaining modules
52+
- 1.1.2.11.3. **Status:** PARTIALLY FIXED - now has try-catch but still continues on failure (2025-10-27)
4953
- [ ] 1.1.2.12. Create a more elegant module generation flow
5054
- 1.1.2.12.1. The `generateAll` function (line 261) generates modules sequentially with await
5155
- 1.1.2.12.2. For courses with many modules, this could take hours.
@@ -245,3 +249,8 @@
245249
- Eliminated duplicate code across ModuleGenerationList
246250
- **Branch:** `themis/refactor/split-large-components`
247251
- **Addresses:** Original task 1.1.2.7
252+
- [x] 4.2.2.3. Timeout values extracted to constants ✅ COMPLETED (2025-10-25)
253+
- Timeout values in `src/routes/api/themis/module/+server.ts` extracted to constants
254+
- Research-heavy tasks: 300000ms (5 minutes)
255+
- Standard tasks: 120000ms (2 minutes)
256+
- **Addresses:** Original task 1.1.2.6

0 commit comments

Comments
 (0)