Seventeen PRs since v1.2.0 (#409 → #427), telling one story: the visual-diff console now has an end-user manual, and it cannot drift from what it describes.
What earns the minor
| Layer | PRs |
|---|---|
@gate/manual — three pages (console, report, sample) parsed at build time from the acceptance suite's own .feature files |
#414 |
| The step renderer, drawn on the board first | #415, #416 |
StepList promoted to a packages/ui molecule, shared by the manual and the console |
#417 |
| "snapshot" retired from both surfaces' own words | #413, #418 |
Wired to its deployed origin, linked from the console, a stable Thumbnail before images arrive |
#419, #420, #421 |
| Page views counted on the same terms as the blog and the console | #423, #424 |
| The glossary, and why a cached test cannot answer for the confinement guard | #409, #412 |
A UI fix — ds-table's card layout |
#410 |
apps/blog gets a robots.txt naming its sitemap |
#425 |
report.html retired — the console renders every report itself now |
#426 |
| Phase 5 board item: the console says what a run is, what A/B mean, and what a verdict means | #427 |
The deployed console's sample mode was already a real demo — PR #242's regression, seen backwards through the differ. What #427 actually closed was three sentences of narration, plus a worked overlap/margin example and a link to one representative Sandcastle-authored PR (#426) in the README, as the evidence the README had promised without pointing at an instance of it.
Ten manifests, not nine
apps/manual is new this cycle. The reason for lockstep is the one 1.0.0 stated and every release since has kept: nothing publishes to npm, every workspace is private, so the version is a coherence marker rather than a distribution fact. Every internal dependency is workspace:*, so pnpm-lock.yaml is unaffected and --frozen-lockfile still resolves.
The index, measured rather than adjusted
PROJECT_INDEX.md was stamped 2026-08-28 and had already drifted, in both directions and by omission:
| Claim | Corrected to |
|---|---|
apps/manual |
missing entirely → 6 files / 69 tests, three published pages |
packages/ui 34 / 492, 27 components |
35 / 512, 28 components (StepList, the sixth molecule) |
apps/blog 18 / 371 |
18 / 378 (375 passed, 3 skipped) |
packages/visual-diff 11 / 334 |
10 / 327 (report-html.mjs and its test file are gone) |
apps/storybook 5 / 125, 18 docs pages |
5 / 128, 19 docs pages |
apps/visual-diff-ui (53/829) and the orchestrator's own suite (39/654) had not drifted. README's own status table carried the same omission — no apps/manual row — corrected alongside it.
One known gap, carried forward rather than hidden
Phase 5's design-board update did not land this cycle: the pencil MCP could not see an open file this session, so designs/acceptance-gate.pen's Board 04 was not updated before the console copy in #427. Reconciling the board with that copy is a follow-up.
Full changelog: v1.2.0...v1.3.0