PRIME PRODUCTS · MISSION CONTROL
AI-first transformation · by TPL · vanos.tpl.one

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.

type: runbook updated: 2026-07-06 owner: taranas

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)

  1. 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).
  2. Do nothing else. Ingestion runs by itself — the Stop hook nudges at the end of the working session, and the nightly vanos-raw-ingest routine (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-raw yourself.)
  3. 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)

  1. One concept per file, kebab-case, OKF frontmatter (type: mandatory, vault: vanos), English-only (ADR-003), data_sensitivity: high for business specifics.
  2. 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/.
  3. publish: mission-control in 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.
  4. 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

SurfaceHow 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 corpusRebuilt & 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.