Skip to content

feat(doc-truth): over-claim ratchet (DOC-17) complementing #476's banner guard (Refs #176)#475

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/wonderful-gauss-SbT8o
May 30, 2026
Merged

feat(doc-truth): over-claim ratchet (DOC-17) complementing #476's banner guard (Refs #176)#475
hyperpolymath merged 1 commit into
mainfrom
claude/wonderful-gauss-SbT8o

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

@hyperpolymath hyperpolymath commented May 30, 2026

What

Adds the phrase-detection half of the issue #176 doc-truthing MONITOR, as ledger row DOC-17 — complementing the DOC-16 banner guard that landed in #476.

Context / dedup: This PR was originally built in parallel with #476 as a superset (banner invariant + over-claim ratchet). #476 merged first, landing tools/check-doc-truthing.sh, which enforces banner/matrix-primacy/STATE-mirror presence but deliberately does not phrase-scan — its header notes a naive production-ready grep false-positives on the negating banners and future-roadmap text, so it leaves novel over-claim phrasings to the Hypatia/gitbot bots. This PR was then reworked to drop the now-duplicate banner check and keep only the unique part: a false-positive-free ratchet for exactly that phrase detection. Renamed to avoid any clash with #476's script.

How

  • tools/check-doc-overclaims.sh — toolchain-free ratchet. Scans README.adoc + docs/** (excluding the two governance docs that quote the rule — CAPABILITY-MATRIX + TECH-DEBT) and fails any backend-breadth / production-ready / stdlib-% signature not in a frozen baseline. No false positives, because the legitimate set is frozen and only new phrases fail.
  • tools/doc-overclaims.allow — the 13-signature baseline (future-tense roadmap milestones, dated history snapshots, the corrective banners — none a live over-claim). Re-baseline with --update / just doc-overclaims-bless; the diff is the audit trail. Signatures are path + normalised-line (robust to line moves).
  • Wiring: added to the guard recipe (so just check) and the CI build job, right after feat(doc-truthing): in-repo DOC-04/05 guard + ADR-019 record (Refs #175 #176 #260) #476's banner guard. Distinct names — no clash with check-doc-truthing.sh.
  • Docs: TECH-DEBT.adoc DOC-17 row + MONITOR note (both halves now mechanical); CAPABILITY-MATRIX.adoc change-control references both guards; STATE.a2ml mirror note.

Verification

$ ./tools/check-doc-overclaims.sh
OK: no new over-claims beyond the frozen baseline (tools/doc-overclaims.allow).
$ ./tools/check-doc-truthing.sh      # #476's guard still green alongside
OK: doc-truthing banners intact (matrix primacy + DOC-04 banners + DOC-05 mirror keys).
  • bash -n clean; script chmod +x; SPDX headers on both new files.
  • Negative test bites: a new over-claim in a scanned doc fails the gate.
  • DOC-05 gate-number policy unchanged (live test count never hard-coded). No compiler code touched (the gate is intentionally toolchain-free; the OCaml build/test gate runs in CI as usual).
  • Branch is based on main after feat(doc-truthing): in-repo DOC-04/05 guard + ADR-019 record (Refs #175 #176 #260) #476, so DOC-16 + DOC-17 are both present with a single, clean ledger.

Refs #176
Refs #175

https://claude.ai/code/session_01HR1GHjBfNdfcFZm1XiLXK4

@hyperpolymath hyperpolymath force-pushed the claude/wonderful-gauss-SbT8o branch from fac9645 to 470bf14 Compare May 30, 2026 22:06
@hyperpolymath hyperpolymath marked this pull request as ready for review May 30, 2026 22:20
hyperpolymath pushed a commit that referenced this pull request May 30, 2026
…ner guard (Refs #176)

PR #476 landed the DOC-16 banner/primacy/mirror PRESENCE guard
(tools/check-doc-truthing.sh) but deliberately does not phrase-scan —
"production-ready" legitimately appears in the negating banners and
future-roadmap sections, so a naive grep false-positives, and it leaves
novel over-claim phrasings (the DOC-08/09 MONITOR) to the Hypatia/gitbot
bots.

This adds the missing phrase-detection half without that false-positive
problem, as DOC-17:

* tools/check-doc-overclaims.sh — toolchain-free ratchet. Scans README +
  docs/** (excluding the two governance docs that quote the rule —
  CAPABILITY-MATRIX + TECH-DEBT) and fails any backend-breadth /
  "production-ready" / stdlib-% signature not in the frozen baseline.
* tools/doc-overclaims.allow — the 13-signature baseline (future-tense
  roadmap milestones, dated history snapshots, the corrective banners;
  none a live over-claim). Re-baseline with `--update`; the diff is the
  audit trail. Signatures are path + normalised-line (robust to moves).
* Wired into the `guard` recipe (so `just check`) and the CI build job,
  right after #476's banner guard. Distinct script/recipe names — no
  clash with check-doc-truthing.sh.
* Ledger DOC-17 row + MONITOR note (both halves now mechanical); matrix
  change-control + STATE.a2ml mirror updated.

Originally this PR (#475) was a superset of #476, built in the same
parallel session; on finding #476 merged first it was reworked to drop
the duplicate banner check and keep only the unique ratchet (DOC-DEDUP).
DOC-05 gate-number policy unchanged; no compiler code touched. Verified
locally: both guards green, ratchet negative-test bites.

Refs #176
Refs #175

https://claude.ai/code/session_01HR1GHjBfNdfcFZm1XiLXK4
@hyperpolymath hyperpolymath force-pushed the claude/wonderful-gauss-SbT8o branch from 470bf14 to 6c39eb4 Compare May 30, 2026 22:27
@hyperpolymath hyperpolymath changed the title feat(doc-truth): mechanical MONITOR gate for status-doc over-claims (DOC-16, Refs #176) feat(doc-truth): over-claim ratchet (DOC-17) complementing #476's banner guard (Refs #176) May 30, 2026
…ner guard (Refs #176)

PR #476 landed the DOC-16 banner/primacy/mirror PRESENCE guard
(tools/check-doc-truthing.sh) but deliberately does not phrase-scan —
"production-ready" legitimately appears in the negating banners and
future-roadmap sections, so a naive grep false-positives, and it leaves
novel over-claim phrasings (the DOC-08/09 MONITOR) to the Hypatia/gitbot
bots.

This adds the missing phrase-detection half without that false-positive
problem, as DOC-17:

* tools/check-doc-overclaims.sh — toolchain-free ratchet. Scans README +
  docs/** (excluding the two governance docs that quote the rule —
  CAPABILITY-MATRIX + TECH-DEBT) and fails any backend-breadth /
  "production-ready" / stdlib-% signature not in the frozen baseline.
* tools/doc-overclaims.allow — the 13-signature baseline (future-tense
  roadmap milestones, dated history snapshots, the corrective banners;
  none a live over-claim). Re-baseline with `--update`; the diff is the
  audit trail. Signatures are path + normalised-line (robust to moves).
* Wired into the `guard` recipe (so `just check`) and the CI build job,
  right after #476's banner guard. Distinct script/recipe names — no
  clash with check-doc-truthing.sh.
* Ledger DOC-17 row + MONITOR note (both halves now mechanical); matrix
  change-control + STATE.a2ml mirror updated.

Originally this PR (#475) was a superset of #476, built in the same
parallel session; on finding #476 merged first it was reworked to drop
the duplicate banner check and keep only the unique ratchet (DOC-DEDUP).
DOC-05 gate-number policy unchanged; no compiler code touched. Verified
locally: both guards green, ratchet negative-test bites.

Refs #176
Refs #175

https://claude.ai/code/session_01HR1GHjBfNdfcFZm1XiLXK4
@hyperpolymath hyperpolymath force-pushed the claude/wonderful-gauss-SbT8o branch from 6c39eb4 to a1e6903 Compare May 30, 2026 22:30
@hyperpolymath hyperpolymath merged commit f10fbdb into main May 30, 2026
0 of 26 checks passed
@hyperpolymath hyperpolymath deleted the claude/wonderful-gauss-SbT8o branch May 30, 2026 22:30
hyperpolymath added a commit that referenced this pull request May 30, 2026
… check-doc-truthing.sh (#479)

Folds the over-claim ratchet (#475 / DOC-17) into the banner-presence guard
(#476 / DOC-16) so the two near-identically-named doc-truthing scripts do not
linger. tools/check-doc-truthing.sh is now the single toolchain-free gate:
#476's fail-accumulator structure for the presence invariants (DOC-04/05) +
#475's over-claim ratchet (DOC-08/09) + the `--update` re-baseline mode, over
the unchanged 13-signature tools/doc-overclaims.allow. check-doc-overclaims.sh
deleted; CI two steps -> one; justfile guard runs one script (doc-truth-bless);
ledger DOC-16 rewritten, DOC-17 folded in. Pure consolidation, no behavioural
change, no compiler code touched.

Refs #176
Refs #175

https://claude.ai/code/session_01HR1GHjBfNdfcFZm1XiLXK4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants