Skip to content

Commit 33a4bfb

Browse files
fix(ci): repair doc-truthing guard after #614's .md→.adoc migration (#617)
## What Repairs `main`'s **red `CI`** after #614 merged. The `build` job's `./tools/check-doc-truthing.sh` governance guard failed because **#614 migrated six status/history docs from `.md` → `.adoc`**, but the guard still keyed off the old `.md` paths in two places: - **Presence list** (`BANNERED_DOCS`) → `bannered doc is missing` for `BACKEND-IMPLEMENTATION`, `COMPILER-CAPABILITIES`, `ALPHA-1-RELEASE-NOTES`. - **Over-claim ratchet baseline** (`tools/doc-overclaims.allow`) → `new over-claim(s)` for the migrated `.adoc` history/roadmap snapshots (identical, already-blessed claims — just at `.adoc` paths with `.adoc` markup). On the previous `main` tip (`2aa00ff`) this guard was green, so this is a regression introduced purely by the migration — not new over-claiming. ## Fix (hotfix + hardening) 1. **Re-key the over-claim baseline** to the migrated `.adoc` paths via the tool's documented `--update`. This is a **1:1 re-bless of identical historical/roadmap content** — every removed `.md` signature has an equivalent `.adoc` one added; **zero new live over-claims**. 2. **Harden the presence check** so it can't re-break on a future migration: `BANNERED_DOCS` are now extension-less **stems** resolved to whichever of `.adoc`/`.md` is present (`.adoc` preferred). ## Verification - `./tools/check-doc-truthing.sh` → exit 0: *"OK: doc-truthing intact — presence invariants + over-claim ratchet (DOC-04/05/08/09)."* - Resolver unit-tested: both-present → `.adoc`; only `.md` → `.md`; neither → missing. - `dune build` clean. (The only `build`-job step after the guard is `dune build @fmt`; this change touches no OCaml, so it's unaffected.) Greens the `build` job / `CI` on `main`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01Lz7pRcec2Z3tVtaAhvB3M8 --- _Generated by [Claude Code](https://claude.ai/code/session_01Lz7pRcec2Z3tVtaAhvB3M8)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 39299c3 commit 33a4bfb

2 files changed

Lines changed: 25 additions & 16 deletions

File tree

tools/check-doc-truthing.sh

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,14 @@ MATRIX="docs/CAPABILITY-MATRIX.adoc"
5555

5656
# Docs that historically over-claim and MUST carry a pointer back at $MATRIX
5757
# (DOC-04). Each must mention CAPABILITY-MATRIX.adoc somewhere in its body.
58+
# Listed as extension-less stems and resolved to whichever of .adoc/.md is
59+
# present (.adoc preferred), so a .md<->.adoc migration (DOC-FORMAT) does not
60+
# break this presence check the way a hard-coded extension would.
5861
BANNERED_DOCS=(
59-
"README.adoc"
60-
"docs/architecture/BACKEND-IMPLEMENTATION.md"
61-
"docs/reference/COMPILER-CAPABILITIES.md"
62-
"docs/history/ALPHA-1-RELEASE-NOTES.md"
62+
"README"
63+
"docs/architecture/BACKEND-IMPLEMENTATION"
64+
"docs/reference/COMPILER-CAPABILITIES"
65+
"docs/history/ALPHA-1-RELEASE-NOTES"
6366
)
6467

6568
# The machine-readable mirror (DOC-05): it follows the matrix, it does not
@@ -142,9 +145,15 @@ else
142145
fi
143146

144147
# --- 2. Every over-claiming doc still points back at the matrix (DOC-04) -----
145-
for doc in "${BANNERED_DOCS[@]}"; do
146-
if [ ! -f "$doc" ]; then
147-
note "ERROR: bannered doc is missing: $doc"
148+
for stem in "${BANNERED_DOCS[@]}"; do
149+
# Resolve the stem to whichever extension is present (.adoc preferred), so a
150+
# .md<->.adoc migration does not trip the presence check.
151+
doc=""
152+
for ext in adoc md; do
153+
if [ -f "$stem.$ext" ]; then doc="$stem.$ext"; break; fi
154+
done
155+
if [ -z "$doc" ]; then
156+
note "ERROR: bannered doc is missing: $stem.{adoc,md}"
148157
note " If it was intentionally removed, drop it from BANNERED_DOCS"
149158
note " in this guard. Otherwise restore the file + its banner."
150159
fail=1

tools/doc-overclaims.allow

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
docs/ROADMAP.adoc * Production-ready toolchain
1212
docs/ROADMAP.adoc |Production ready
1313
docs/STATE-2026-05-26.adoc |*Phase 3 (Q3 2026)* |Production ready |*1.0* |requires Stage E (typed-wasm contract widening — cross-repo)
14-
docs/architecture/BACKEND-IMPLEMENTATION.md > *production-ready*. One reference target (WASM); Deno-ESM/Node-CJS solid;
14+
docs/architecture/BACKEND-IMPLEMENTATION.adoc _code-generators exist_, not _production-ready_. One reference target
1515
docs/bindings-roadmap.adoc |Production backend default; pairs with SQLite for dev.
16-
docs/guides/WHAT-MAKES-IT-BRILLIANT.md **Q: When will it be production-ready?**
17-
docs/history/ALPHA-1-RELEASE-NOTES.md - Production-ready
18-
docs/history/ALPHA-1-RELEASE-NOTES.md - Production-ready compiler
19-
docs/history/PHASE3-ASSESSMENT.md - Row polymorphism is production-ready! ✅
20-
docs/history/PHASE3-COMPLETE.md - **Production-ready** type system
21-
docs/history/PHASE3-SESSION-SUMMARY.md - ✅ Row polymorphism is production-ready
22-
docs/history/PHASE3-SESSION-SUMMARY.md | Row Polymorphism | 100% ✅ | Production ready |
23-
docs/standards/ROADMAP.md This roadmap outlines the path from current state (lexer + parser) to a complete, production-ready language.
16+
docs/guides/WHAT-MAKES-IT-BRILLIANT.adoc *Q: When will it be production-ready?* A: Aiming for compiler {plus}
17+
docs/history/ALPHA-1-RELEASE-NOTES.adoc * Production-ready
18+
docs/history/ALPHA-1-RELEASE-NOTES.adoc * Production-ready compiler
19+
docs/history/PHASE3-ASSESSMENT.adoc *Good News:* - Row polymorphism is production-ready! ✅ - Effect
20+
docs/history/PHASE3-COMPLETE.adoc *Lambda scope bug fixed* (bonus!) - *Production-ready* type system
21+
docs/history/PHASE3-SESSION-SUMMARY.adoc Key accomplishments: - ✅ Row polymorphism is production-ready - ✅
22+
docs/history/PHASE3-SESSION-SUMMARY.adoc |Row Polymorphism |100% ✅ |Production ready
23+
docs/standards/ROADMAP.adoc to a complete, production-ready language.

0 commit comments

Comments
 (0)