Appearance
About this article
- Audience: Contributors shipping firmware releases and keeping the public docs hub accurate
- Goal: After reading, you can align verification gates with a release, run the docs security cleanse, and rebuild the VitePress site before publish
- Type: How-to
Summary
A Ghost Protocol release coordinates edge firmware, Phantom orchestration, and verification harnesses. Public docs describe capabilities and procedures; detailed gate percentages and soak tables stay in private operator handoff. Every docs change must pass the security cleanse and a local VitePress build before sync to the public site.
Prerequisites
- Repo at
[repo-root] - Node 22 for docs builds (see
oak-vms-firmware/docs/.nvmrc) - Familiarity with Release status overview and Production grading overview
- Access to operator handoff for live gate state (private)
Release gate tiers (public summary)
Gates stack from encoding stability through detection authority, federation, and firmware manager drift checks.
| Tier | Focus | Public pass themes |
|---|---|---|
| T1 | H.265 recording and soak | Fresh chunks at expected fps, thermal limits held, soak gate PASS |
| T2 | RF-DETR precomputed detections | Harness scenarios meet minimum pass rate on live MCP |
| T3 | Gemma / A2A / Hermes zero-trust | Signed agent queries, graceful offline notes, mesh active |
| T4 | Firmware manager | No manifest drift across health, CLI, and poll surfaces |
Fleet-wide promote decisions require both canary shadows meeting policy on critical tiers. Run verification layers in Testing before claiming a tier bump. Exact thresholds, historical soak rows, and remainders live in operator handoff—not in public pages.
Pre-release verification checklist
- Soak and contract — Orchestrator batch with
--prune-first --visual --tapon canary before fleet-wide promote. - Readiness — Phantom modules PASS after stack up; remediate via approved playbooks if critical.
- Docs audit — No credentials, private IPs, personal names, or live fleet IDs in pages marked for public sync.
- Site vet — Run
node scripts/audit-docs-secrets.mjsandnpm run vet:docsin the gp-site-v2 publishing project when available.
Docs hub maintenance process
The VitePress hub under oak-vms-firmware/docs/ is the polished presentation layer over requirements, architecture, operator guides, and reference material.
When handoff or code changes materially:
- Read the relevant operator handoff section (private) for current fleet state—do not paste it verbatim into public pages.
- Update the targeted public page with concept summaries, placeholders, and symptom → fix troubleshooting patterns per EDITORIAL.md.
- Cross-link related guides (recovery, soaks, API quick reference) instead of duplicating long tables.
- Move historical planning notes to
appendices/internal-plans/—they do not sync to the public site. - Rebuild locally and fix broken links.
Article template every page should follow:
- About this article (audience, goal, type)
- Summary (conclusion first)
- Prerequisites
- Task body
- Next steps
- Operator depth (single handoff link)
Security cleanse (required)
Before marking a page editorialStatus: done, confirm:
- Placeholders only:
YOUR_DEVICE_PASSWORD,<device-ip>,PHANTOM_PROXY,[repo-root],[operator-artifacts] - No private IPs, macOS home paths, temporary artifact paths, or staff names
- No live container UUIDs, soak percentages, session IDs, or
file:lineimplementation citations - No COGS, margins, or payment secrets
- No repeated public-safe disclaimer in the body (sync prepends it once)
Build and publish the docs site
bash
cd [repo-root]/oak-vms-firmware/docs
nvm use 22
npm ci
bash build.shThe build wrapper rejects Node versions outside 20–22. CI should pin Node 22. Static output from .vitepress/dist/ deploys behind a /docs/ base path using the same patterns as other frontend deploy scripts in cost-sentinel.
Local preview while editing:
bash
npm run docs:devHistorical content reorg
Heavy planning documents (phase notes, bulk reviews, implementation kanban exports) belong under appendices/internal-plans/. Keep user-facing sections clean: quickstart, operator guides, architecture, reference, troubleshooting, contributing. Update index.md navigation when adding new top-level pages—do not delete historical files; move or archive with pointers in the internal-plans README.
AI-assisted doc updates (optional)
For large rewrites, use a plan-then-act agent workflow: explore handoff and code with read-only tools, draft against EDITORIAL.md, then apply edits with unique anchors. Parallel exploration helps API catalogs and cross-link passes. Preserve handoff .bak files in the private repo; public pages never include .bak content or blockquotes from handoff.
Next steps
- Local setup: Development environment
- Verification layers: Testing
- Release train context: Release status
- Editorial standards: EDITORIAL.md
Operator depth
Live fleet state and harness evidence live in private operator handoff (not published) (private).