feat(wiki): deterministic wiki-lint (pilot step 2) — drift check that actually gates #164
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feature/wiki-lint"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pilot step 2: a deterministic
wiki-lintthat checksdocs/wiki/against the codebase — dangling references, resurrected old names, orphan pages. Advisory by default,--strictto gate.Evaluation of the original draft
The approach was right (the three checks, FreeBSD-portable, advisory +
--strict). But check #2 — "resurrected old names," the most important one and the exact drift that motivated this — was non-functional. Proof: plantinghermes-agent+usb_nodes+COLIBRI_AUTOSPAWN_PIin a real source file passed clean, exit 0 under--strict. Three bugs:echo | tr | while) →fail/passhappened in a subshell, so counts and the--strictexit were lost.\n→ the per-file filter never matched → nothing detected even if the subshell worked.OLD_NAMESwas hardcoded and already stale (nousb_nodes), despite the comment claiming it parsed the ledger.Fix
naming-decisions.md— self-updating, no hardcoded list to rot (the meta-point of the wiki).--strictpropagate.xargs grep -nHFacross the file list; filter legit contexts case-insensitively (migration / rename / back-compat /alias/ changelog) so the serde alias and thesetup-mothermigration code don't false-positive.usb_nodes → hive_nodesfrom In-flight to Shipped (#161 merged) → now enforced.Verified
PASS 37 / FAIL 0, exit 0.hermes-agent/usb_nodes/COLIBRI_AUTOSPAWN_PI→ each FAILs,--strictexits 1.#[serde(\n alias = …)]).sh -n+ markdown gate green.Recommend wiring it advisory-first alongside
ci-checks.sh(it's already inAGENTS.md); graduate to--strictin the gate once trusted.🤖 Generated with Claude Code