Skip to content

feat(tri): the tenth ledger -- the one refusal that work could lift - #2962

Merged
gHashTag merged 3 commits into
masterfrom
loop/tenth-ledger
Aug 30, 2026
Merged

feat(tri): the tenth ledger -- the one refusal that work could lift#2962
gHashTag merged 3 commits into
masterfrom
loop/tenth-ledger

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

The one refusal that work could lift

Of the six ledgers the audit excused last pass, five are excused by cost or
by shape — two gated by the corpus suite (minutes per run), one keyed by the
sha1 of the line it excuses, one a generated observation the next regeneration
would erase. Exactly one was excused by missing work:

docs/reports/type_conflicts_classified.json — measured, and it CATCHES …
Not planted into yet because the plant must clone an existing row's field
shape, which Plant cannot express.

It can now.

The plant

ClassifiedName deserialises name and verdict and nothing else, so a
two-field object is complete for the reader and false for the claim — no
type name in this corpus is called PlantedByLedgersAudit:

{ "name": "PlantedByLedgersAudit", "verdict": "DRIFT" }

Inserted into names textually rather than by re-serialising, so the document's
formatting survives the restore.

caught  docs/reports/type_conflicts_classified.json  by tri types classified

ledger-shaped files on disk   15   planted into 10, excused 5, unclassified 0

Verified for the right reason

That is the whole risk with a JSON plant, and #2950
is the pass where it bit. The planted file parses, and the gate fails on the
claim:

STALE  PlantedByLedgersAudit: classified, but no longer conflicting -- drop the row
Error: 1 stale row(s) and 0 unjudged conflict(s).

A shape error wearing a catch would have left this ledger reported as protected
while its staleness check was never exercised once.

Mutation-checked

mutation result
plant emits invalid JSON substitution_keeps_what_makes_it_false fails on "planted ledger must parse"
plant replaces instead of inserting the same test fails: the planted row must be one more row
ledger added but its exclusion left in place no_ledger_is_both_planted_into_and_excused failed before I noticed

That last one is the check written two passes ago catching the change that
landed today.

Checks

  • cargo test -p tri392 passed, 0 failed
  • cargo clippy --all-targets120 warnings, identical to master
  • tri ledgers audit — 10 caught, 0 missed, exit 0; the ledger restored unchanged
  • one file changed

Refs #2864

Of the six ledgers the audit excused last pass, five are excused by cost or by
shape: two are gated by the corpus suite and take minutes, one is keyed by the
sha1 of the line it excuses, one is a generated observation that the next
regeneration would erase. Exactly one was excused by MISSING WORK.

`docs/reports/type_conflicts_classified.json` was measured as catching a planted
row, and left out because the plant had to clone an entry's field shape and
`Plant` could express only an appended line and one ghost key.

It can now. `ClassifiedName` deserialises `name` and `verdict` and nothing else,
so a two-field object is complete for the reader and false for the claim -- no
type name in this corpus is called `PlantedByLedgersAudit`. The row is inserted
into `names` textually rather than by re-serialising, so the document's
formatting survives the restore.

    caught  docs/reports/type_conflicts_classified.json  by tri types classified

    ledger-shaped files on disk   15   planted into 10, excused 5, unclassified 0

VERIFIED FOR THE RIGHT REASON, which is the whole risk with a JSON plant. The
planted file parses, and the gate fails on the claim:

    STALE  PlantedByLedgersAudit: classified, but no longer conflicting -- drop the row
    Error: 1 stale row(s) and 0 unjudged conflict(s).

A shape error wearing a catch would have left this ledger reported as protected
while its staleness check was never exercised.

Mutation-checked: make the plant emit invalid JSON and
`substitution_keeps_what_makes_it_false` fails on "planted ledger must parse".
The same test asserts the planted row is one MORE row rather than a replacement,
because an insertion that overwrites would test a different file.

And the coverage test earned itself. Adding the ledger while leaving its
exclusion in place put one path in both lists, and
`no_ledger_is_both_planted_into_and_excused` failed before I noticed -- the
check written two passes ago catching the change that landed today.

  cargo test -p tri   392 passed, 0 failed
  cargo clippy        120 warnings, same as master
  tri ledgers audit   10 caught, 0 missed, exit 0; the ledger restored unchanged

Refs #2864
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-30 16:22:55 UTC

Summary

Status Count
Total Open PRs 8
PRs with Failing Checks 7
PRs with All Checks Green 1
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=4d82ec850541 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-30 16:23:21 UTC

Summary

Status Count
Total Open PRs 8
PRs with Failing Checks 7
PRs with All Checks Green 1
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=4d82ec850541 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-30 16:39:42 UTC

Summary

Status Count
Total Open PRs 8
PRs with Failing Checks 7
PRs with All Checks Green 1
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=4d82ec850541 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit d7fdb4f into master Aug 30, 2026
36 checks passed
@gHashTag
gHashTag deleted the loop/tenth-ledger branch August 30, 2026 16:49
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