Skip to content

fix(docs): repoint README soundness-ledger refs to docs/SOUNDNESS.adoc#675

Closed
hyperpolymath wants to merge 1 commit into
mainfrom
worktree-fix-soundness-ledger-backlink
Closed

fix(docs): repoint README soundness-ledger refs to docs/SOUNDNESS.adoc#675
hyperpolymath wants to merge 1 commit into
mainfrom
worktree-fix-soundness-ledger-backlink

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

README referenced SOUNDNESS-LEDGER.adoc — a filename that does not exist — in three places (lines 30, 145, 195). The soundness single-source-of-truth is docs/SOUNDNESS.adoc. Repointed all three.

Why it's not cosmetic

tools/check-soundness-ledger.sh Property 2 (back-links) does grep -q "SOUNDNESS.adoc" over the pointer docs (README.adoc, CAPABILITY-MATRIX, PROOF-NEEDS, NAVIGATION, .claude/CLAUDE.md). SOUNDNESS-LEDGER.adoc does not contain the substring SOUNDNESS.adoc, so the gate — wired into just check + CI — was RED:

ERROR (property 2): README.adoc no longer links to docs/SOUNDNESS.adoc
Soundness-ledger gate FAILED.

The other four pointer docs already referenced docs/SOUNDNESS.adoc correctly; README was the sole offender.

Verification

Built off system OCaml 4.14.1 + opam (dune 3.24.0) and ran the full gate after the fix:

BUILD_EXIT=0
OK: soundness ledger — all 5 properties hold
  (anchors exist + back-links + content-bound + stamp-fresh + pins live).
GATE_EXIT=0

Docs-only; no build or behaviour change (README.adoc | 6 +++---).

Out of scope (flagged, not bundled)

  • README TODOs "add a LICENSE file" (×2) are stale — LICENSE (MPL-2.0, 16 KB) exists. Separate follow-up.
  • 6a2descriptiles estate-mandate migration (.machine_readable/6a2/ + 32 refs) — deserves its own scoped PR.

🤖 Generated with Claude Code

README referenced `SOUNDNESS-LEDGER.adoc` (a filename that does not exist)
in three places. The soundness single-source-of-truth is `docs/SOUNDNESS.adoc`.

This was not cosmetic: `tools/check-soundness-ledger.sh` Property 2
(back-links) does `grep -q "SOUNDNESS.adoc"` over the pointer docs, and the
old string did not match, so the soundness-ledger gate (wired into
`just check` + CI) was RED:

  ERROR (property 2): README.adoc no longer links to docs/SOUNDNESS.adoc

After the fix the full gate passes (built off system OCaml 4.14.1 +
opam, dune 3.24.0): "OK: soundness ledger — all 5 properties hold".
Docs-only; no build/behaviour change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@hyperpolymath hyperpolymath marked this pull request as ready for review July 6, 2026 23:31
@hyperpolymath hyperpolymath enabled auto-merge (squash) July 6, 2026 23:31
@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

@hyperpolymath

Copy link
Copy Markdown
Owner Author

Superseded by #677, which fixes both README doc-governance gates (soundness back-link and the doc-truthing CAPABILITY-MATRIX back-link) plus the stale LICENSE TODO. #675 fixed only the soundness link, so the required doc-truthing gate kept it unmergeable.

auto-merge was automatically disabled July 6, 2026 23:51

Pull request was closed

@hyperpolymath hyperpolymath deleted the worktree-fix-soundness-ledger-backlink branch July 6, 2026 23:51
hyperpolymath added a commit that referenced this pull request Jul 7, 2026
…I gates) (#677)

## Problem

README failed **two** CI doc-governance gates (both in
`.github/workflows/ci.yml`):

1. **`check-soundness-ledger.sh`** (property 2, back-links) — README
pointed at `SOUNDNESS-LEDGER.adoc`, a filename that **does not exist**.
The gate greps for `SOUNDNESS.adoc`; the old string didn't match → RED.
2. **`check-doc-truthing.sh`** (DOC-04) — README did **not** mention the
authoritative status matrix `CAPABILITY-MATRIX.adoc` anywhere → RED.

Both were pre-existing reds on `main` (verified against pristine
`origin/main`).

## Fix (README.adoc only)

- Repoint the 3 soundness-ledger references → `docs/SOUNDNESS.adoc`
- Add `docs/CAPABILITY-MATRIX.adoc` (feature readiness) in Status +
Documentation
- Replace the stale *"state the license and add a LICENSE file"* TODO
with a real License section (`LICENSE` + `LICENSES/` already exist:
MPL-2.0 code, CC-BY-SA-4.0 docs)

## Verification (real toolchain — dune 3.24.0, OCaml 4.14.1 + opam)

```
BUILD_EXIT=0
OK: doc-truthing intact — presence invariants + over-claim ratchet (DOC-04/05/08/09).  (TRUTH_EXIT=0)
OK: soundness ledger — all 5 properties hold.                                          (GATE_EXIT=0)
```

## Supersedes #675

#675 fixed only the soundness link, so it could not turn the
doc-truthing gate green on its own (that gate is required, so #675 was
unmergeable alone). This PR fixes both. **#675 will be closed as
superseded.** Also unblocks the descriptiles migration #676 (blocked
only by these same README gates).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
hyperpolymath added a commit that referenced this pull request Jul 7, 2026
…(naming canon) (#676)

## What

Estate naming mandate (2026-06-30): the machine-readable metadata family
is **`descriptiles`**; **`6a2` is fully deprecated** and must never be
reintroduced. `rsr-template-repo` already led this rename (PR #128).
This brings AffineScript into line.

## Changes (38 files, mechanical + verified)

- `git mv .machine_readable/6a2 .machine_readable/descriptiles` (6
`.a2ml` files)
- Updated the **one** code dependency: `tools/check-doc-truthing.sh`
`STATE_FILE` path
- Updated `.machine_readable/TRUST.contractile` deny-rule path
- Updated ~30 doc/metadata references (paths + `6a2 metadata`
family-name prose)

Replacement was **word-boundaried** (`\b6a2\b` → `descriptiles`) so
checksum substrings are untouched; `Cargo.lock` hash coincidences
(`…846a2afffd…`) were excluded.

## Verification (real toolchain)

Built off system OCaml 4.14.1 + opam (dune 3.24.0):
- `dune build` = **exit 0** (zero build impact — metadata/doc only)
- **zero `\b6a2\b` references remain** anywhere (excl. Cargo.lock
checksums)
- `check-doc-truthing.sh` reads the renamed
`.machine_readable/descriptiles/STATE.a2ml` correctly

## Pre-existing red gates (NOT caused by this PR)

README fails two back-link gates **on `main` independently** of this
change (README is untouched here — verified against pristine
`origin/main`):
1. README → `SOUNDNESS.adoc` (soundness-ledger gate) — fixed by **#675**
2. README → `CAPABILITY-MATRIX.adoc` (doc-truthing gate) — third README
defect, being fixed alongside #675

Once those README fixes land, this PR's CI clears.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant