Every page carried a frontmatter `title` and repeated it as a body `# `, which
the site renders as two headings with two permalinks. The heading text matched
the frontmatter on 41 of the 43 pages; on the two quickstarts it did not, so
"Make a video with your Agent" and "和 Agent 一起制作视频" give way to the
titles already in their frontmatter.
Each step's video now sits directly under that step's heading rather than after
its prose, and the avatars link keeps a blank line beneath it.
The author-package walkthrough went from Manifest to activation without ever
mentioning `vocabulary`, so a package written by following it declares a tag
with no summary, no appearance, no attribute documentation and no preview.
Everything that inspects installed packages rather than reading source saw
nothing, and the one place that asked for a preview at all was a single clause
in the agent instructions.
The new step says which Surfaces owe a preview — the ones whose result has to
be seen, which is not the same set as the ones producing a VisualTrack — and
how the image is actually produced, since nothing in the repository generates
one and a hand-drawn mock-up would misrepresent output.
`tools/` held one file once the Playgrounds moved to `packages/`, and that file
is a test. A directory named for tools that contains no tool only invites the
question of what belongs there; `test/` already owns repository-level material,
holding the shared fixtures the boundary tests read.
The scan roots drop `tools` along with the directory. Leaving the name behind
would have failed every one of the four tests with ENOENT rather than a
boundary report, since the scan reads each root directly.
The layout guide named `tools/` but never named `test/`, so the entry is
replaced rather than removed.
Replace the generic playground with a file-backed Caption Playground, separate source workspaces from installed package roots, and derive exact transitive Module providers in Node package locks.
A stylesheet is read for one thing, its Film Recipe, so browsing the whole
repository to find one was a directory listing, a read endpoint and an asset
endpoint in the dev server to reach a single file. A file dialog reaches the
same file with none of it, and the server now serves no repository content
at all.
The guide page says what the panel does and, more usefully, where each part
of it comes from: the component list from manifests declaring a VisualTrack
Producer, the fields from input schemas, the starting values from
TypeDeclaration.default, the controls from ValueSchema.format. Someone
wondering why their new module is not listed can now find out without
reading the tool.
One process had two names. The directory, the Python package, its executable
and the repository script all said service; the wire protocol and the prose
said sidecar. Nothing distinguished them, so a reader had to learn that both
meant the same running program.
The protocol is svml.whisperx-service@1 and the Provider's implementation
locator follows it, which changes that Provider's Runtime identity — a Build
started against the old identity does not resume. Both package locks are
regenerated because the rename reached two locked READMEs as well.
Follows the v1 removal: the CLI is `narratage`, packages live under the
@narratage scope, there is one tsconfig.json and one `check`/`test` script
pair, wire format ids are @1, and examples/v2-bootstrap is examples/bootstrap.
Drops the v1 research oracle material from the development guide: src/,
stdlib/ and the root v1 test suite no longer exist, so the repository layout
and the command table describe one system rather than two.
Verified by running the documented `narratage check` and `narratage plan`
commands against examples/talking-film-graph-check.
Replace the obsolete v1 quickstart and monolithic develop page with a
concise quickstart and eight focused guides, in English and Chinese.
Give the home page and the documentation different themes. The home page
keeps the branded always-dark editorial design with no appearance toggle;
documentation pages use the stock VitePress theme with light/dark support.
Everything branded is scoped to `html.home-page`, set before first paint by
the inline script in config.ts and kept in sync by theme/Layout.vue, because
`html` and `body` sit outside the theme's `.Layout` root.
Exclude docs/README.md and docs/implementation-status.md from the site: they
index repository files and link to ../spec, ../packages and ../services, which
resolve when browsing the repository but have no route on the published site.
This restores `vitepress build` with dead-link checking enabled.