From ea514c8fd2ec3032c4be96ffe0f2ff025e519d35 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 19 Oct 2026 09:59:50 -0700 Subject: [PATCH] chore(scripts): promote index-coverage checker from campaign scaffolding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #30 merged the throwaway checker under its .tmp- name. Promoted to scripts/kb-coverage.py and documented on okf-maintenance.md § Automated Gates alongside kb-lint (the bundle previously documented neither gate). Self-tested: kb-coverage.py reports 0 issues on the current bundle. Refs #29 --- omp-docs/references/okf-maintenance.md | 23 ++++++++++++++++++- ...{.tmp-index-coverage.py => kb-coverage.py} | 0 2 files changed, 22 insertions(+), 1 deletion(-) rename scripts/{.tmp-index-coverage.py => kb-coverage.py} (100%) diff --git a/omp-docs/references/okf-maintenance.md b/omp-docs/references/okf-maintenance.md index 900f5e8..609da21 100644 --- a/omp-docs/references/okf-maintenance.md +++ b/omp-docs/references/okf-maintenance.md @@ -8,7 +8,7 @@ tags: - documentation - best-practices - unverified -timestamp: 2026-01-15 +timestamp: 2026-10-19 --- # OKF Bundle Maintenance @@ -139,6 +139,27 @@ git status --short # What is uncommitted | `index.md` count differs from file count | Always | Fix immediately | | `log.md` has no entries for 30+ days | Context-dependent | Normal if no changes made | + +--- + +## Automated Gates (this bundle) + +Two mechanical checkers live in `scripts/`; both exit non-zero on violations. +Run both before committing any `omp-docs/` change; `tests/kb-lint.bats` pins +their behavior. + +```bash +bash scripts/kb-lint.sh omp-docs # OKF conformance +python3 scripts/kb-coverage.py omp-docs # index coverage doctrine +``` + +- **kb-lint** — OKF v0.1 rules: non-empty `type` frontmatter on every + non-index file, no frontmatter on `index.md`, resolvable wikilinks and + relative links, reserved names (`index.md`/`log.md`), `YYYY-MM-DD` log + headings. +- **kb-coverage** — the AGENTS.md anti-rot mechanism: every directory has an + `index.md`, and that index links every sibling file and subdirectory. + --- ## See Also diff --git a/scripts/.tmp-index-coverage.py b/scripts/kb-coverage.py similarity index 100% rename from scripts/.tmp-index-coverage.py rename to scripts/kb-coverage.py -- 2.54.0