[HARDENING] STATE-CLAIM + the resolution state, built together (REVIEWED-127)

Both halves of the schema, shipped in one change because the ruling said half a schema
invites a third patch and a third patch is how a vocabulary accretes instead of being
designed.

157 — resolution state. `resolved:` on any block; a resolved block is no longer due but
is NOT dropped: it prints as a closed ledger, because a discharge that vanishes from the
report is its own decay. The pointer must RESOLVE — a real path or a real git object —
so an undocumented discharge is impossible to express rather than merely discouraged. A
dangling pointer reports in the register-integrity lane, the same lane as an amendment
that replaced the record it amends; both are a record closing over its own history.

The 25th's hand-rename is MIGRATED back to DEFERRED-DECISION with resolved: set. That
block was the per-instance workaround 157 was filed against, and it is now the
migration's own test case.

158 — STATE-CLAIM. Reuses trigger_fired() verbatim and inverts only what firing MEANS:
for a deferral, fired = the decision is due; for a state-claim, fired = THE CLAIM IS
FALSE. Two new trigger kinds earned directly from today's instances: text-present (the
trial-09 hold, falsified by REVIEWED-124's existence) and file-changed-since ("the filed
rule not edited", false one hour after writing).

16 new controls, each with its discriminating half — fires on met, silent on unmet,
manual listed-never-fired, resolved excluded from due-ness, the SAME block unresolved
still due, a real pointer resolves, "yes, done" does not.

Proven on the LIVE blocks, not only fixtures: pointing the state-claim at an older
commit made it report FALSIFIED by name; replacing the resolution with "yes done" made
register-integrity report it; both restored and both returned to quiet.

⚠ One control failed before shipping and the failure was the useful part. The negative
control for file-changed-since pointed at FOOL-SEED-RULE.md, which this same session then
edited — so "unchanged since HEAD" broke, correctly. A control whose subject is "did this
file change" must not point at a file the session is changing. Re-pointed at a frozen
2026-08-02 trial artifact, with the reason recorded at the fixture. Caught because the
controls run on every invocation rather than in a separate suite.

First two real state-claims filed, deliberately one of each kind: ~/CLAUDE.md untouched
under PENDING-150, mechanically watched and [ESCALATE]-grade the moment it goes false;
and §9's channel unbuilt, marked `manual` because it has no filename yet and inventing a
proxy falsifier is the error the schema's own comment warns against.

⚠ The zero-state prints a WARNING, not a tick: "0 marked, NOT none-stale" with the ~57
unmarked candidates named as a grep. An instrument that reads nothing reports exactly
like one that finds nothing, and that is the failure this item exists to end.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J6hZXNYSxEfZseBGTni4sf
This commit is contained in:
David F Glidden
2026-08-25 15:29:59 +02:00
co-authored by Claude Opus 5
parent 0dcf304486
commit 063eccfd80
4 changed files with 247 additions and 17 deletions
+10 -1
View File
@@ -299,7 +299,16 @@ which is the entire point of having filed it early. Current state lives in
- ~~No bones have been derived. No soul has been generated.~~
→ **Bones derived 2026-08-25**, once, commit `5694b925`. **No soul generated** — that
remains true, and §7 of the doctrine is unrun.
- `~/CLAUDE.md` has **not** been touched (PENDING-150, unbundled).
- `~/CLAUDE.md` has **not** been touched (PENDING-150, unbundled). — **still true, and now watched.**
<!-- STATE-CLAIM: claude-md-untouched-pending-150
since: 2026-08-22
claims: ~/CLAUDE.md has not been touched under PENDING-149; PENDING-150 stays unbundled
falsified-by: file-changed-since d6377af CLAUDE.md
-->
*(The first negative state-claim in this system to carry a falsifier. It is the one bullet
in §6 still true, it is `[ESCALATE]`-grade the moment it stops being true, and until today
nothing in this system would have noticed. REVIEWED-127.)*
- Nothing has been implemented of §8, §8a or §9 — the status line is confirmed free but
not built.