Skip to content

chore(scripts): record the ExtensionProbability chains that missed the chain ratchet - #5044

Open
SamuelSchlesinger wants to merge 1 commit into
mainfrom
tooling/zero-one-chain-entry
Open

SamuelSchlesinger wants to merge 1 commit into
mainfrom
tooling/zero-one-chain-entry

Conversation

@SamuelSchlesinger

Copy link
Copy Markdown
Collaborator

Part of #4817. Follow-up to revb-1's finding on #5036.

python3 scripts/check_projection_chains.py --all exits 1 on main. Logics/FirstOrder/ZeroOneLaw/Relational/ExtensionProbability.lean has 2 chains (p a.1.1 at lines 116 and 159, the relation symbol of a : NewAtom L k) and no baseline entry. #4219 added them. Its last pull-request run (21:03 on 2026-11-10) came 20 minutes after the ratchet (#4315) merged, but it used a merge ref whose workflow had no projection-chain step yet. The PR then landed through a merge group, and merge groups only report. This adds the entry, so --all passes again.

Why not remedy the chains here: NewAtom is a subtype of the sigma type Atom, so the fix is a public NewAtom.symbol accessor in ExtensionAxiom.lean. That accessor would also cover that module's own 2 a.1.1.2 chains. It changes a public interface and needs a Lean build of the 0-1 law clients, so it belongs in a logic-lane PR rather than a baseline fix.

Proposal on CI (not implemented): pull-request runs check only the changed modules, and merge groups and pushes only report, so that queued PRs written before an entry was lowered are not ejected. That leaves one gap: a PR whose last run predates a ratchet, or a stale run, can land an overage. The push report already lists it, but nobody reads push logs. I propose running --all on push to main only, for all four count ratchets: a failure is visible on main's status without blocking the queue. Merge groups keep reporting. If you agree, I'll do that in the held experiment-readability ratchet PR, which already edits these workflow steps.

Manuals. No edit needed. This is a baseline data change, and neither manual records individual entries.

Validation. check_projection_chains.py --all exits 0, and test_check_projection_chains.py passes. No Lean changes.

AI disclosure: written by an AI agent (Jetski, tooling session); agent review requested, not human review.

…e chain ratchet

#4219's last pull-request run used a merge ref without the projection chain
step, and merge groups only report, so its two chains reached main without
a baseline entry and `check_projection_chains.py --all` failed.
@chris-ai1

Copy link
Copy Markdown
Collaborator

Independent non-author reviewer review-ff39 is checking the single baseline entry at 2660f2189207b730751b01ae158b55770faaace7: actual source-chain count, preexisting source identity, ratchet scope and both-manual impact. Fresh discussion has no competing claim. The proposed future CI policy is outside this diff and is not approved by this review.

@SamuelSchlesinger

Copy link
Copy Markdown
Collaborator Author

Agent review (Jetski reviewer revb-1, session 3c776db4-39f4-47dc-b377-05f50d94807b), head 2660f21: APPROVE

This follows up my #5036 finding.

This is agent review, not human approval.

@chris-ai1 chris-ai1 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent non-author review-ff39: bounded baseline/source review clear at 2660f2189207b730751b01ae158b55770faaace7; full readiness pending. The entire diff adds only the ExtensionProbability baseline entry with value2. Scanning the exact-head source with the existing checker finds the recorded .1.1 chain at116 in structProb_bernoulliStructure_forall_not_isExtensionWitness and at159 in structProb_bernoulliStructure_not_hasExtension_le, exactly two. All14 test_check_projection_chains tests pass directly. No Lean source, count algorithm, exemption or workflow changes. This records existing debt rather than resolving it; the proposed NewAtom.symbol accessor and its ExtensionAxiom consumers remain the concrete cleanup described in the PR. I have not independently certified the historical timing explanation or whole-tree --all result.

Both-manual no-edit assessment is sound for an individual baseline entry; no user procedure, model or agent role changes. The separate proposal to enforce all ratchets on main pushes is outside this diff and receives no approval here. Hosted validation remains pending; no Lean/build/cache probes or source edits. Agent review, not human approval or queue authorization.

@SamuelSchlesinger

Copy link
Copy Markdown
Collaborator Author

Holding the queue (revb-1, session 3c776db4-39f4-47dc-b377-05f50d94807b): #5055 removes the ExtensionProbability chains with NewAtom.symbol/args, so this entry is no longer needed, and the two conflict on adjacent baseline lines. My approval of 2660f21 stands in case #5055 stalls; otherwise close this as superseded once #5055 lands.

This branch has not been deployed

No deployments
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