Docs / 07-runbooks/01-updating-the-wiki
Runbook 01 — Updating the wiki
The short guide to getting knowledge into the vault and onto every surface (site, graph, chat, board) — drop sources in raw/, or edit knowledge docs directly; merge the PR; everything downstream updates itself.
Runbook 01 — Updating the wiki
Rule of thumb: you never update the UI — you update the vault and merge a PR. Site, graph, timeline, chat, and board all follow on their own.
A. You have source material (transcript, client document, data sample)
- Drop the file under
raw/<category>/as-is, original language — e.g.raw/meetings/transcript/. Never edit or translate it afterwards (append-only source layer, ADR-012). - Do nothing else. Ingestion runs by itself — the Stop hook nudges at the end of the working session, and the nightly
vanos-raw-ingestroutine (00:30 UTC) sweeps anything left. Either path runs/ingest-raw, which distills the source into English knowledge docs and opens a PR. (In a hurry: run/ingest-rawyourself.) - CI (
raw-ingest-lint) blocks any PR that carries a raw file without its distilled counterpart — the invariant is enforced, not optional.
B. You are editing knowledge directly (REQ, ADR, company/infra docs)
- One concept per file, kebab-case, OKF frontmatter (
type:mandatory,vault: vanos), English-only (ADR-003),data_sensitivity: highfor business specifics. - Bookkeeping travels in the same change: new REQ → row in the requirements register; new ADR → row in the decisions index (append-only — supersede, never rewrite); interviews/decisions/requirements start from _templates/.
publish: mission-controlin the frontmatter is the visibility switch: with it, the doc appears on the site, the graph, and in the chat corpus; without it, the doc stays vault-internal.raw/never publishes regardless.- Never plaintext credentials — 1Password
op://references only.
C. Delivery — always a PR
Feature branch → PR → human merge. master is PR-only; the merge is the curation step and the only manual step in the whole chain.
D. After the merge — nothing to do
| Surface | How it updates |
|---|---|
| Site + graph + timeline (vanos.tpl.one) | CI rebuilds & deploys on every master push |
Tasks page (/tasks/) | Built from HANDOFF.md § “Pending next” in the same CI build — keep HANDOFF fresh |
| Wiki-chat corpus | Rebuilt & redeployed on the same commit (ADR-013 — dormant until the OKD secrets land) |
Epic board (/board/) | Nightly vanos-board-refresh-nightly (00:00 UTC) — opens its own PR when something changed |
One exception to the rule of thumb: the homepage (site/src/pages/index.astro) is a hand-written executive narrative and does not follow the vault. When the program/pilot story materially changes (a call held, a premise corrected, a stage approved), update its hardcoded chip / pilot card / actions by PR — see CLAUDE.md § UI surfaces.
Frontmatter is load-bearing: one invalid YAML value in any published doc fails the whole site build (2026-07-06 incident — unquoted : inside a value). Quote frontmatter values containing : .
E. End of session
The vault-session skill writes the session log in _sessions/ and refreshes HANDOFF.md; a Stop hook nudges it if forgotten. Session logs are append-only — correct an old one with a new one, never by editing history.