docs: record rehearsal route matrix implementation
This commit is contained in:
@@ -0,0 +1,72 @@
|
|||||||
|
# Task 1 Implementation Report
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
Implemented the canonical defense rehearsal route manifest and documentation
|
||||||
|
from `task-1-brief.md`.
|
||||||
|
|
||||||
|
- Added `scripts/presentation-rehearsal-routes.json` with all 42 current
|
||||||
|
`mainScenes` scene/beat pairs. Each object has exactly `sceneId`, `beatId`,
|
||||||
|
`route`, and `fileStem`.
|
||||||
|
- Added `docs/runbooks/presentation-rehearsal-matrix.md` with one row per route,
|
||||||
|
including the presenter sentence, dominant/supporting visuals, chat mode,
|
||||||
|
evidence mode, and exact fallback route.
|
||||||
|
- Linked the matrix from `docs/runbooks/defense-presentation.md` and explicitly
|
||||||
|
described it as a rehearsal checklist rather than a new story or product
|
||||||
|
contract.
|
||||||
|
- Extended `storyboard-navigation.test.ts` to validate unique and complete
|
||||||
|
bidirectional coverage against `mainScenes`, exact manifest keys, canonical
|
||||||
|
route fields, and hash round-trips through `hashForLocation` and
|
||||||
|
`locationFromHash`.
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
|
||||||
|
The test-first check was performed before creating the manifest: the focused
|
||||||
|
Vitest suite failed with an import-resolution error because
|
||||||
|
`scripts/presentation-rehearsal-routes.json` did not exist. After adding the
|
||||||
|
manifest, the same suite passed.
|
||||||
|
|
||||||
|
Exact verification commands and results:
|
||||||
|
|
||||||
|
```text
|
||||||
|
pnpm --dir web/apps/console test -- src/presentation/storyboard-navigation.test.ts
|
||||||
|
PASS: 1 test file, 11 tests
|
||||||
|
|
||||||
|
pnpm --dir web/apps/console typecheck
|
||||||
|
PASS: tsc -b --pretty false
|
||||||
|
|
||||||
|
PowerShell JSON validation using ConvertFrom-Json
|
||||||
|
PASS: manifest entries: 42
|
||||||
|
PASS: manifest keys: beatId, fileStem, route, sceneId
|
||||||
|
|
||||||
|
PowerShell matrix row count
|
||||||
|
PASS: matrix route rows: 42
|
||||||
|
|
||||||
|
git diff --check
|
||||||
|
PASS: no whitespace errors; Git reported only LF-to-CRLF normalization warnings
|
||||||
|
```
|
||||||
|
|
||||||
|
## Self-Review
|
||||||
|
|
||||||
|
- The manifest uses the current `mainScenes` IDs, including `approval`,
|
||||||
|
`resume-output-evidence`, and `conclusion/questions`; no historical
|
||||||
|
interrupt-evidence or workflow-demo route names were introduced.
|
||||||
|
- The coverage test fails on a missing beat with its scene ID and rejects stale
|
||||||
|
manifest entries, duplicate pairs, incorrect canonical route strings, and
|
||||||
|
malformed navigation round-trips.
|
||||||
|
- Matrix evidence references remain bounded by existing storyboard pointers,
|
||||||
|
prepared replay evidence, and the defense runbook fallback wording. No
|
||||||
|
expected output was invented.
|
||||||
|
- All current scene beats use `hidden` chat mode in the storyboard metadata, so
|
||||||
|
the matrix records `hidden` consistently rather than inventing full, rail, or
|
||||||
|
dock modes.
|
||||||
|
|
||||||
|
## Deviations And Concerns
|
||||||
|
|
||||||
|
No functional deviations from the brief. The repository emits line-ending
|
||||||
|
normalization warnings for the touched text files during Git operations; these
|
||||||
|
are not whitespace errors and do not affect the committed content.
|
||||||
|
|
||||||
|
## Commit
|
||||||
|
|
||||||
|
Implementation commit: `fce33934` (`docs: define presentation rehearsal route matrix`)
|
||||||
Reference in New Issue
Block a user