T-JQJ5-learning-p7-author-mode
State: planning/proposed · Impact: medium · Complexity: medium
Edit a book inside the reader. The notes experience already provides live-preview editing, rename with link rewriting and etag-guarded writes over a registered vault; author mode is that over a book vault, plus book-model validation on save and a form for exercise fences.
| Location | Role today |
|---|---|
packages/ts/markdown-ui/ | MdSurface read, live and source modes; MarkdownPlugin.editor and commands for editor-side extensions |
solutions/determined/experiences/notes/ | The reference vault editor over write_doc, apply_rename |
solutions/determined/apps/learning-cli/ | check, the same validation author mode runs on save |
Proposed
Section titled “Proposed”An author toggle on a book vault switches MdViewer to MdSurface.
Save runs the book-model contract for the note’s kind and shows a
rejection inline. The plugin’s editor entry adds a fence widget in
live mode that opens a form over the exercise spec. A create-module
command scaffolds a note of the right kind with order set.
Approach
Section titled “Approach”- Author toggle and save path with contract validation.
- Live-mode widget for the two fence languages.
- Create-module and create-part commands through the plugin’s
commands.
| Area | Note |
|---|---|
solutions/determined/experiences/learning/ | Author mode, commands, fence widget |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1: Editing a module and saving persists; a save with a bad
kindis rejected inline. - AC-2: An exercise fence edited through the form round-trips to the same fence text.
Out of scope
Section titled “Out of scope”- Multi-author conflict beyond CAS.
Dependencies
Section titled “Dependencies”T-J3NW.
Discovery context
Section titled “Discovery context”D-LIRI.
Depends on
Section titled “Depends on”T-J3NW