- Shared markdown toolbar on every rev-113/114 live-preview composer (closes named rev-114 candidate)Closes the named rev-114 next-sprint candidate at the operator-help-typing axis. Rev 113/114 closed the verify-after-typing surface (live preview) on seven composer surfaces (signal detail, artifact body editor, memory teach + memory edit, task creation summary + goal, operator note, renew note, comment). Rev 115 closes the help-typing surface โ a small toolbar above each textarea with one-tap buttons for B / I / `code` / link / quote / list / ordered-list / heading. Toolbar preserves cursor position via the textarea ref + selection range, replacing the highlighted span with the wrapped output and re-selecting the inserted text so the operator can keep typing. Compact variant for inline composers (operator notes, comments, renew notes); default variant for full-form composers (artifact body, memory, signal detail, task creation). Now every composer surface carries the standard write/verify/render trio that every modern markdown editor pairs.
- Word-count + reading-time chip on the rev-23 inline artifact body editorCumulative micro-polish on the operator's most load-bearing direct-edit surface. The character-count chip has shipped since rev 23; rev 115 adds words + estimated reading time at 220 wpm (the same heuristic the rev-104 blog reading-time chip uses) alongside the existing char count. Long structured briefs (the rev-10 governance-first artifact, decision artifacts with rationale + risk sections, customer-onboarding drafts) now show the structural metric โ ~8 minute read at 220 wpm โ not just raw char count. Procurement reviewers reading shared briefs care about reading time; operators editing them now see what their reviewer will see.
- Auto-save drafts to localStorage on the artifact body editorNew 7-day-TTL localStorage drafts on the rev-23 inline artifact body editor. While the editor is open, every change is debounced + persisted (per-artifact key); on Edit-click, the draft is restored if it differs from the saved state, with an amber 'Restored draft from this browser. Save or discard.' callout + Discard button. Drafts survive a tab close, refresh, accidental Cancel, or browser crash. Cleared on save / discard / matching-saved-state. Closes the most-painful operator-loss flow on the dashboard โ a 12,000-char brief edit that gets discarded by a stray Cmd-W now survives.
- Cumulative visual polish on the new toolbar surfaceCumulative micro-polish (every rev 22+ has carried at least one). New .ld-md-toolbar + .ld-md-toolbar-btn CSS shares the rev-22+ design language: 1px transparent border that emphasises in brand-color on hover, 1px hover lift, focus-visible outline ring matching the rev-38 dashboard accessibility pattern. Compact variant uses 22px buttons (vs 26px default) so the toolbar reads as ambient affordance on inline composers without overwhelming the textarea below. Toolbar buttons use Lucide icons (Bold, Italic, Code, Link, Quote, List, ListOrdered, Heading) so the visual vocabulary matches every other dashboard chip surface.