Skip to content

Dev - #463

Open
amaybaum wants to merge 11 commits into
mainfrom
dev
Open

Dev#463
amaybaum wants to merge 11 commits into
mainfrom
dev

Conversation

@amaybaum

Copy link
Copy Markdown
Owner

No description provided.

claude added 11 commits August 28, 2026 16:51
b441 left the projective question open in neither direction and named
H^2(G, U(1)) as the invariant that would decide it, for G the group generated
by the native operations. The answer comes in two parts, and neither is that
computation.

PART ONE: G IS NOT NATIVE DATA. phi is a PARTIAL map. The b76B realization
extends it to a bijection by matching the two complements in sorted order, and
that completion supplies images for 512 of the 576 states -- phi is genuine on
64, or 11.1%. Over six explicit completions of the identical genuine dynamics
ord(phi) takes six distinct values, from 182886 to 15287220, b76B's own being
1876950. So the marked group and every invariant of it, H^2 included, is a
property of an arbitrary matching. This is why the round does not compute |G|:
the number would describe the sorted() call rather than OI.

PART TWO: THE GENUINE LOOPS CARRY NO COCYCLE. The genuine evolution has depth
one -- phi's genuine domain is the c = 0 slice, its genuine image is the c = 1
slice, the two are disjoint, and both instruments are the identity on c = 1.
No genuine closed loop contains phi, shown twice over: structurally, since
genuine steps never decrease the counter and phi strictly increases it; and
exhaustively, over all 576 start states and every genuine word to length 8,
where all 34 closed words lie in the instrument group. That group is
padding-independent of order 6, nonabelian, generated by two involutions whose
product has order 3. Its integer homology is computed here from the normalized
bar resolution in exact arithmetic with Smith normal form -- no library and no
cited value -- giving H_1 = Z/2, which independently reproduces the
abelianization, and H_2 = 0. The machinery is controlled first, and one control
is nontrivial by design: Z/2 x Z/2 returns H_2 = Z/2, so a routine that could
only answer "trivial" is excluded. U(1) is divisible, so H^2(-, U(1)) vanishes
with the multiplier and every projective lift over a genuine loop is
linearizable.

SCOPE. This closes the route for b76B AS CONSTRUCTED and not for OI. Depth one
is a compiled-in limit rather than a setting: the kernel table is built from
length-1 contexts only, so running the construction at K = 2 fails inside the
dynamics with KeyError ((0, 0), (0, 0)) before any probe can ask it anything.
Raising it is a construction task. The four structures stay separate -- the
operation-history cocycle settled here is not the Berry/Bargmann section, not
local spatial curvature, and not the U(1)_Y identification. b441 is unchanged,
and nothing propagates to the manuscripts this round.

Wired into the foundations CI job as the eighth probe. Verdict gating verified
by forcing a control failure: NG8 withholds its text and the probe exits 1.
Release gate 10/10; eight foundations probes green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
Running any foundations or layer probe writes a __pycache__ directory next to
the source. Nothing of the kind is tracked and none of it is work, but with no
rule for it the tree reads as dirty after every probe run.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
b442 closed the operation-history projective route for b76B and left the
obvious objection open: b76B is depth one, its kernel table is indexed by
length-1 contexts only, and K >= 2 fails inside the construction, so the no-go
might have been an artifact of a model too small to host the question. This
round builds the generalization b442 named as the prerequisite and finds the
answer unchanged, for a sharper reason than depth.

THE CONSTRUCTION SUCCEEDS. A variable-length-context realization -- CTXS
carrying every length 1..K, so a depth-c state's lookup is internal to the
table -- reproduces b76B exactly at K = 1 (576 states, 16 tables, phi genuine
on 64) and at horizon K realizes EXACTLY K successive phi steps with no padding
used for any of it, through the intended alternating history in which an
instrument writes the action slot and phi consumes it. Verified at K = 1, 2, 3.
The kernel-table index u is checked to be a spectator, which is what licenses
fixing one table where the full ensemble would be 2^20 tables and half a
billion states.

AND IT CHANGES NOTHING. The step counter is a bounded monotone grading: phi
strictly increases it, no intervention lowers it. So the genuine phi-count on
any path is exactly K and no genuine closed path contains phi at any horizon --
closed words exist at every K, so the check is not vacuous, and not one of them
contains phi. The record FILL is not a second grading, since the instruments
erase as well as write, which is why the instrument sector has loops at all.

MONOTONE-RECORD NO-GO. A native realization carrying a grading into a finite
range, strictly increased by every genuine evolution arrow and lowered by no
genuine intervention arrow, has no genuine closed path containing evolution.
The proof is immediate; the content is that the hypotheses hold for the
finite-horizon recording architecture as such. The grading is the SOLE blocker,
demonstrated rather than argued: adding one c-lowering arrow to the identical
construction takes the closed-word count from 52 to 952 and produces 900 closed
words containing phi. Nothing else about the construction prevents them.

THE ESCAPE IS BLOCKED BY OI ITSELF. Forgetting the record would break the
grading, but phi does not descend to the visible sector -- two states agreeing
on everything visible step to different next visible values. Quotienting the
record away gives no dynamics rather than a smaller one.

The padding fraction WORSENS with K (88.9%, 95.9%, 98.6%), so b442's first part
strengthens under the generalization instead of dissolving in it. Recorded as a
diagnostic, not as the theorem: the no-go is about the grading and would hold
verbatim if phi were total.

SCOPE. This constrains the finite-horizon operational realization and NOT the
fixed finite reversible substratum. The corpus's recurrence claims -- Poincare
recurrence, the minimal recurrent bijective representative, indivisibility
somewhere in the recurrence cycle -- are about the substratum, which carries no
bounded grading and recurs for exactly that reason. They are different objects,
this round corrects neither, and NOTHING propagates to the manuscripts. Whether
the two can be one object, a recurrent realization that does not destroy the
record's predictive information, is the open question handed on.

Wired into the foundations CI job as the ninth probe. Verdict gating verified
by forcing the FH4 control to fail: FH8 withholds and the probe exits 1. The
FH4 witness is sorted before min() so the printed word is reproducible across
runs. Release gate 10/10; nine foundations probes green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
…s witness

b443 asked whether the recurrent finite substratum can support a recurrent
observation-history realization without erasing the hidden information that
makes phi well-defined. The answer is no, established at two levels of
generality that this round is careful to keep apart.

THE GENERAL HALF, ARCHITECTURE-INDEPENDENT. The obvious objection to any
family argument is that a generic finite permutation recycles bits, so
"injectivity forces a growing stack" is false without further hypotheses. That
objection is correct and is tested rather than waved away: over 800 random
bijections with random visible projections at |S| = 8, 16, 64, 256, the visible
block entropy never exceeds log2|S| -- it saturates there and stops, against an
i.i.d. fair-bit target of H_12 = 12.00. The reason is one line mentioning no
architecture: the whole visible trajectory is a deterministic function of the
initial state, so H(X_1..X_n) <= H(s_0) <= log|S| for every n. Shuffling
redistributes entropy and cannot create it. Hence the visible process of a
finite bijection has ZERO ENTROPY RATE, and a stationary law of rate h > 0
cannot be reproduced exactly beyond log|S|/h steps; equivalently |S| >= 2^(hn)
is forced for exactness to horizon n. The bound is TIGHT: a de Bruijn cycle of
order n attains H_n = log2|S| exactly at n = 3,4,5,6, so this is a sharp
theorem and not a loose inequality. No ring buffer, stack or shift register
appears in the argument; the de Bruijn cycle is a witness that the bound is
attained, not a hypothesis of the no-go.

THE CONSTRUCTIVE HALF, FAMILY-SPECIFIC AND LABELLED AS SUCH. A ring-buffer
realization -- order-K Markov kernel over a fixed K-window, horizon counter
removed -- achieves what b442 and b443 could not: phi TOTAL with NO PADDING AT
ALL, where b443's construction needed 95.9%, and genuinely RECURRENT, with 170
closed words containing phi and up to 4 phi steps in one loop against b443's
zero. b443's hypotheses do not apply to it. The cost is exact: phi is not
injective, every collision differs ONLY in the two window heads that fall out,
and it destroys 2.00, 1.68, 1.64 bits per step at K = 1, 2, 3 against a ceiling
of 2.00. Repairing that with a genuine predecessor stack -- push and grow,
blocking at overflow -- restores injectivity at D = 1, 2, 3 and reinstates a
bounded monotone grading, the stack fill, which is exactly b443 FH8's
hypothesis. The circle closes.

WHAT IS NOT CLAIMED. The trilemma is EXHIBITED ON A FAMILY and is NOT proved
universal; deriving total + injective + well-defined + recurrent as jointly
impossible from the OI conditions remains open and is the next target. The
entropy bound does NOT explain b76B's K = 1: its ceiling there is 9.3 to 18.2
steps against an actual horizon of 1, so the budget and b443's grading are
complementary limitations and must not be merged.

AND IT CORRECTS NOTHING. Corpus exactness is already scoped to every finite
accessible horizon with t << t_R, with no indefinite or for-all-time claim
anywhere; the one arbitrarily-long-horizons claim is the fair coin of the
dilation construction, which carries a tape of seeds sized to the horizon, so
|S| grows with K and the bound is satisfied. The theorem supports that
construction and makes its necessity quantitative. Nothing propagates.

Wired into the foundations CI job as the tenth probe. Verdict gating verified
by forcing the RE4 loophole control to fail: RE8 withholds and the probe exits
1, with the file confirmed byte-identical afterwards. Release gate 10/10; ten
foundations probes green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
b444 bounded the state space by the entropy of ONE visible trajectory. That is
the wrong instrument for an intervention-driven theory: a single initial state
fixes an entire intervention-response table R_s : A^K -> V^K, not one
trajectory, so every distinct deterministic response strategy in the comb needs
at least one distinct supported initial state.

THE HIERARCHY, each step a theorem and none an observation:

    |S| >= |supp mu| >= N_resp(K) >= max_a N_words(K,a) >= max_a 2^H(X^(a))

s_0 determines R_s; R_s at a fixed a gives one trajectory word; entropy never
exceeds log support. b444 is the weakest rung. THE SHARP OBJECT IS |supp mu|
AND NOT |S|: a realization may carry arbitrarily many unreachable states, which
are irrelevant to capacity. Counting all 576 b76B states rather than the 32
supported ones inflates the response count from 4 to 9, and an earlier draft of
this round did exactly that.

THE SEPARATION IS STRICT BUT NOT MONOTONE. With a genuine seed ensemble at
K = 1..4 the response count runs 4, 22, 22, 22 against a single-sequence
entropy bound of 2.00, 4.00, 7.02, 9.93 -- a ratio of 2.0x, 5.5x, 3.1x, 2.2x
that PEAKS at an intermediate horizon and then narrows, because N_resp
saturates against |supp mu| = 32 while single-sequence support keeps growing.
A claim that the gap widens with K would be false.

K = 1 TIGHTNESS, in two parts that must not be merged. d_latent = N_resp = 4 is
FREE: aggregating the prior weight of supported states sharing a response
function gives a four-atom ensemble, verified to reproduce every fixed-sequence
marginal exactly, with no search. d_rev-comb = 4 is SEARCHED: an explicit
four-state realization -- readout (0,0,1,1), instruments (0,1,2,3) and
(0,1,3,2), evolution (0,2,1,3) -- with bijective evolution, bijective
involutive readout-preserving instruments, all four response classes one state
apiece, and both comb marginals exactly 1/2. The canonical realization uses 576
states: a 144x overhead.

THE L4 BOUNDARY. Imposing pointwise action separation -- I_a(s) != I_b(s) at
every supported state, a neutral condition and not a ban on I_0 = id -- makes
four states EXHAUSTIVELY impossible and five sufficient. The search is
exhaustive rather than sampled: only phi o I_a affects the response and pi o
phi ranges over every colouring of the same class sizes, so all readouts, all
readout-preserving involution pairs and all colourings are covered. The
five-state witness is verified independently, including persistence
phi(I_0 s) != phi(I_1 s), weights 1/4 each and both marginals exactly 1/2. The
extra state is bought by action distinguishability, NOT by reversibility.

SCOPE. L4 IS A STRENGTHENING UNDER STUDY AND IS NOT AN OI CONDITION: C2/C4 do
not generically require an intervention to write a persistent action label, and
a construction may pre-encode a response table instead. At K = 1 there is no
later conditional response for an action trace to serve, so the four-state
witness having no written record is a property of the horizon and not a defect.
This round therefore NEVER claims d_rev-comb < d_OI and never measures d_OI.
The chain collapses only where conditions have been checked, and only the first
two collapses are established. K >= 2 is the open frontier. Nothing propagates.

Wired into the foundations CI job as the eleventh probe. Verdict gating
verified by forcing the CD5 control to fail: CD8 withholds and the probe exits
1, file confirmed byte-identical afterwards. Release gate 10/10; eleven
foundations probes green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
Forward correction to 5e26968, which is preserved as history. Review found
that the round conflated the response functions used by ONE realization with
the minimum deterministic strategies required by the comb, and that the L4
result was an artefact of a criterion stronger than comb equivalence. Both are
corrected here; the round's substance survives.

WHAT WAS WRONG. (1) CD3 derived "d_latent = 4" by aggregating the canonical
realization's response functions and read the result as intrinsic. That shows
four atoms SUFFICE, not that four are MINIMAL. N_resp(M) bounds M's own
support; minimising over realizations runs the other way, D_strat(C) <=
N_resp(M). The same reasoning at K = 2..4 would have licensed "D_strat >= 22",
which does not follow at all. (2) CD5 reported that pointwise action separation
forces five states. That search required the state space to exhibit all four
counterfactual response pairs, which is strictly stronger than reproducing the
comb: the comb constrains action-conditioned probabilities, not the joint
occurrence of counterfactual pairs. (3) CD4 tested only unconditional marginals
where the comb is the conditional law P(X_1 | X_0, a).

WHAT IS CORRECTED. The per-realization hierarchy is retained and labelled as
per-realization. D_strat(C) is introduced as the intrinsic quantity, minimised
over deterministic decompositions whose strategies retain the initial visible
label, since a decomposition forgetting X_0 answers a weaker question.
D_strat(1) = 4 is established by a genuine lower bound -- both outcomes carry
positive weight at every (x_0, a), so two strategies are needed per visible
value and strategies for different visible values are distinct -- and attained
by exhaustive minimisation. The four-state reversible witness is re-verified
against the full conditional comb and is therefore minimal. The L4 minimum is
corrected from 5 to 4 by an explicit four-state machine with pointwise action
separation, bijectivity, involutivity, readout preservation and persistence,
reproducing the conditional comb while exhibiting only two counterfactual
response pairs -- which is precisely why the old criterion rejected it. So L4
costs nothing here and forces no dimension overhead.

WHAT SURVIVES. The per-realization hierarchy with b444 as its weakest rung and
|supp mu| rather than |S| as the sharp object; the non-monotone separation
within that realization; d_rev-comb(1) = 4 now proved minimal rather than
merely exhibited; and a canonical 576-state realization against an intrinsic
minimum of 4, a 144x overhead.

WHAT IS NOT CLAIMED. D_strat(K) for K >= 2 is NOT computed -- the canonical
counts of 22 bound it from above only, and computing it is the first task of
the next round, before asking whether reversible or OI constraints add
overhead. d_OI is still not measured and L4 is still not an OI condition.

Both withdrawn claims are recorded in the file rather than quietly repaired.
Verdict gating re-verified by forcing the CD5 control to fail: CD8 withholds
and the probe exits 1. Release gate 10/10; eleven foundations probes green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
… its lower bound

D_table(2) = D_strat(2) = 8 < d_bij-comb(2) = 10 on the b76B comb. Both halves exact,
each by its own kind of argument.

Lower bound: a THEOREM, via the saturated-class lemma. If every state of a readout
class carries positive prior weight, the one-step bijection g = phi o I_a is forced to
map that class's complement into the wrong readout class, and the other sector can then
never produce an outcome the comb gives it weight 1/4. So a readout class of exactly
four states is impossible, every class needs five, and |S| >= 10. The obstruction uses
ONE repeated action sequence (a,a) and no cross-action history comparison, and it
assumes only that the one-step map is a bijection.

Upper bound: CONSTRUCTIVE, via an explicit ten-state machine -- bijective evolution,
bijective involutive readout-preserving instruments -- reproducing the full conditional
comb P(X_1 X_2 | X_0, a) on all four sequences at both visible values.

Because the bound needs only bijectivity and the witness satisfies every strengthening,
the 2x2 instrument lattice collapses: d_bij-comb = d_inv = d_RP = d_rev-comb = 10.

Non-anticipation is a real constraint and free here: it discards 192 of 256 response
tables and costs no dimension.

Scope. For the present comb reversibility requires one zero-weight workspace state per
visible sector; whether an analogous workspace lower bound holds for a broader class of
finite combs REMAINS OPEN -- an observed structural pattern and a follow-up conjecture,
not a general theorem. d_OI-memory(2) is not defined and not measured; d_L4(2) is not
computed. Nothing propagates to the manuscripts.

comb_realization_probes.py (CR1-CR8) added and wired into the foundations job as the
twelfth probe. Verdict gating tested both ways. Release gate 10/10; twelve foundations
probes green (18, 4, 9, 7, 18, 7, 9, 8, 8, 8, 8, 8).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
The lower bound of b446 is claimed as a theorem, so it is proved as one. OIBridge/
CombRealization.lean carries it as a universal implication over an arbitrary finite
state type: `saturated_class_obstruction`, then `workspace_state_forced`,
`class_card_ge_five` and `card_ge_ten`. No comb data enters the statement -- the
hypotheses are the two support facts read off a single repeated action sequence, and
`Function.Injective` on a finite type is exactly reversibility of the one-step map.

The proof is the short one: the zero-probability outcome propagates forward along the
orbit of the witness, so every positive iterate lies in the readout class, while an
injective self-map of a finite type returns the witness to itself -- and the witness is
outside the class. Finiteness is used exactly once, and it is essential: on the integers
with the successor map both hypotheses hold and nothing follows.

Each theorem prints its axiom dependencies at build time, so the kernel's own answer is
what the log records: propext, Classical.choice, Quot.sound, and no sorryAx.

The file is imported from OIBridge.lean because that is the bridge library's root -- a
module the root does not import is never built and never gated.

comb_realization_probes.py gains CR7, which checks the pairing mechanically: the four
theorems present, the axiom prints present, no `sorry`, no axiom of its own, the state
type a variable, and the import from the root actually there. The old scope check is
CR7b. Lean proves the reason; the probe keeps the census; PROBED is not FORMALLY PROVED.

.gitignore gains .lake/ and lake-manifest.json. `lake exe cache get` recreates both and
CI clones fresh, so committing them would ship gigabytes of machine-specific state and
nine embedded git repositories; the Mathlib revision is pinned in lakefile.toml, which
is the thing that has to be under version control.

Verified locally: lake build of the module clean with no warnings; five zero-import core
files kernel-checked; release gate 10/10; comb_realization_probes 9/9 with verdict
gating tested both ways.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
The header now says what the division of labour is, in the file that carries the
certification: the exhaustive census over n <= 9 is evidence and this file is proof,
the two layers are independent, and PROBED is not FORMALLY PROVED.

Rebuilt clean; the four axiom prints are unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
… GAP closed

Verification stops being something a round adds where new work happens and becomes a
standing property of the corpus: a census of every canonical mathematical statement,
a machine-readable coverage ledger, a gate check that keeps the ledger honest, and
one formalization closed to prove the loop works end to end.

WHAT THE CENSUS SEES. tools/proof_census.py enumerates the bold-headed Theorem /
Lemma / Corollary / Proposition / Definition statements in papers/*.md -- canonical
sources only, since the book chapters are mirrors under AGENTS.md section A.25 and the
.tex/.pdf are build products, and counting them would inflate every number the census
exists to report. 123 statements, each with a FINGERPRINT of its own text.

THE BASELINE AS THE CENSUS FOUND IT, which is the point of the round rather than an
incidental output:

    area                 K3    K2    K1     P   GAP  total
    computation           0     0     0     0     2      2
    equivalence-chain     0     0     0    13     1     14
    gr                    0     0     0     0    16     16
    locality-combs        0     0     0     0     6      6
    memory-conditions     0     0     0    12     0     12
    oi-foundations        0     0     0     2     7      9
    reconstruction        0     0     0     0    11     11
    sm                    0     4     1     7    29     41
    TOTAL                 0     4     1    34    72    111

Kernel coverage 5/111 (4.5%); machine coverage 39/111 (35.1%). Twelve further
statements are excluded from the denominator as definitions, summaries or mirrors,
and are recorded rather than dropped. 27 of the 46 probes the ledger names are NOT
run by CI -- evidence a contributor can run, not a gate, and the ledger reports the
difference rather than blurring it.

WHAT THE META-CHECK ENFORCES. Every canonical statement has an entry and every entry
names a real statement; every fingerprint still matches, so an entry certifying a
sentence the manuscript no longer contains is caught rather than inherited; every
named probe and Lean file exists and every named Lean declaration is really in the
file named; a mapping recorded as `named` carries the exact string by which the
checker names its target and that string must be present, so attribution by wishful
reading fails the gate; a Mathlib-side module must be imported by the bridge root or
it is never built and certifies nothing; and levels mean what they say -- K3/K2/K1
require a Lean theorem, P requires a probe and forbids one, GAP forbids both, and
K3 REQUIRES AN EMPTY DELTA, so "there is some related Lean theorem" cannot be filed
as an exact formalization.

Nothing is silently dropped: 17 checkers that certify reasoning carrying no
bold-headed statement -- the detailed-balance chain of GR section 3.2, the regulator
symmetry sums, the C1-C4 primitiveness probe, the review countercontrols -- and the
research-layer results that deliberately do not propagate are listed with what they
certify, so the census gap is visible rather than invisible.

THE FIRST CLOSURE, [SM] Theorem 17, GAP to K3. Time-reversal invariance of the
discrete wave equation: a symmetry of a second-order linear recursion, needing no
analysis, no lattice, no dimension and no imported premise. OI_Time_Reversal.lean is
zero-import, so it joins the core kernel gate rather than the Mathlib bridge, and it
supplies its own minimal additive commutative group because the zero-import layer has
no algebra library to draw on.

The proof is stated first with the SPATIAL STENCIL LEFT ABSTRACT, which settles a
reading question the manuscript leaves open: section 5.1 displays the nearest-neighbour
form while the theorem says "the discrete wave equation", which elsewhere in [SM] is
d-dimensional. The reversal argument uses nothing about the spatial coupling, so both
readings are covered at once and neither is assumed; the displayed form is an instance.
Two controls: a field constant in time solves the equation, and the first-order
transport rule is a deterministic reversible update that is NOT time-reversal
invariant -- so this is a fact about the second-order form, not about lattice dynamics.

time_reversal_probe.py is the independent executable layer the round makes standard.
It re-derives the fact by exact integer evolution rather than by proof, runs the
countercontrol as a computation, and adds a control showing that changing the SPATIAL
coefficients does not break reversal. A kernel proof of a mis-transcribed equation
would still be a kernel proof of the wrong thing; an independent evolution catches it.

After the closure: kernel coverage 6/111 (5.4%), machine coverage 40/111 (36.0%).

Gate wiring: coverage_check is the release gate's eleventh check; structural_core_probe's
zero-import roster and both verify.yml loops now carry six core files and six layer
probes. Kernel green on all six; the four new theorems print propext and Quot.sound
with no sorryAx. No manuscript file is touched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
…n be watched failing

The backlog is now part of the ledger rather than prose: eighteen targets in seven
declared tiers, each with a centrality, a difficulty and a concrete ROUTE, ranked by
centrality and formalization difficulty together. The ordering rule is recorded with
it -- within a tier take the easy K3 conversions first so coverage rises quickly, but
never let that displace a central theorem merely because it is harder.

The standing LEAN-FIRST policy is stored in the ledger too, and coverage_check now
fails if it is missing. A policy that exists only in a round note is a policy the next
round forgets.

coverage_check gains three rules. Every backlog item must name a real entry that is
not yet K3 -- a closed target must LEAVE the backlog, or the backlog stops being a
list of work -- must carry a route, since a target with no route is a wish, and must
sit in a declared tier; ranks must be a permutation of 1..n.

And it gains a --ledger option, for one purpose: running the check against a
DELIBERATELY BROKEN copy. A gate nobody has watched fail is a gate nobody knows is
wired. Five corruptions are now confirmed to fail it -- a stale fingerprint, a K3
entry carrying a delta, a Lean declaration absent from the file named, a backlog item
already closed, and the policy deleted. The repo's own ledger path stays the default,
so the release gate is untouched by the option that makes this testable.

The docstring now states the distinction the levels encode where the levels are
defined: PROBED IS NOT FORMALLY PROVED. A probe is evidence, a kernel proof is
certification, they live in separate columns, and no entry may hold one while
claiming the other.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XEQMD5kRhaU9WyeZt6dmM1
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