2.8 KiB
2.8 KiB
name, description
| name | description |
|---|---|
| okf-small-bundle-docs-audit | Audit + dedupe a small repo's docs bundle for OKF conformance when the kb-lint/kb-coverage toolchain does not exist: inline conformance and link-audit scripts, owner-per-fact cuts, index trio, one log. |
OKF docs audit for a small repo bundle (no kb-lint toolchain)
Use for a repo whose KB is one docs directory (e.g. dankvoice → dankvoice-docs/), where scripts/kb-lint.sh / kb-coverage.py do not exist. For the big dank/command-center campaign see skill docs-dedupe-verify-campaign; same frame, no scouts — a corpus under ~1500 lines gets read fully yourself (scouts lie).
Frame
- OKF spec lives at
~/.omp/omp-docs/references/okf-spec.md(the command-center deploy checkout). v0.1 conformance = every non-reserved.mdhas parseable frontmatter with non-emptytype;index.md= listing with NO frontmatter;log.mdreserved, exactly one, bundle root. - Branch off
origin/mainin a fresh worktree; docs-only + src-comment changes still need the repo's normal gate.
Procedure
- Inventory
wc -levery page; read all fully. Ledger per fact: which page OWNS it (laws page owns laws, decisions own rationale, contributing owns process, README owns user-facing, GLOSSARY owns terms). Everything else becomes a pointer. - Hunt the rot classes that repeat: dead test citations (name in docs not in
grep -c tests/— verify withgit log --all -S), hand-maintained censuses (test counts, scenario lists) — replace with a pointer to the authoritative source, never refresh the copy; deleted doc lines for live env vars (comparegit show <fixed>:file | grep -c VARvs HEAD); sections contradicting the page's own head; open items already resolved in live state (check the live settings file, not the doc). - Frontmatter:
type+ one-linedescription+tags+timestamp. On edit-rejection the tool prints the file's current#TAG— reissue with it, no re-read needed. - Conformance check (inline python): walk bundle dirs, regex
^---\n(.*?)\n---then^type: \Son each non-reserved.md. - Link audit (inline python): per md file,
\]\(([^)#]+); skip http;os.path.normpath(join(dirname, target))must exist. ReportN checked / ALL RESOLVE. - Create
index.mdat bundle root + each subdir (listing, no frontmatter, relative links) andlog.mdat the bundle root seeded with laws/incidents only.
Gotchas
- Src docstring fixes are artifact-free only if the bundler strips comments — prove with
bun run build; cmp dist/... oldbefore claiming no rebuild needed. - README must NOT enumerate design records; point at
decisions/index.mdso new records need no README edit. - Mark superseded decision records in their frontmatter
description("its X design is superseded by the Y record") — never rewrite history bodies.