Skip to content

Held-out registry: deeply nested events raise LookupError; test the 64-digit zero before - #592

Merged
MaxGhenis merged 4 commits into
masterfrom
trackb-registry-r8-followups
Oct 29, 2026
Merged

MaxGhenis merged 4 commits into
masterfrom
trackb-registry-r8-followups

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Round 8's two low findings on #580 (merged as 172f690f), with the mutation record rerun on the new source.

Changes

  • L1: _event turns a RecursionError from the JSON parser into LookupError, as _parse_registry already does. Before, an event nested about 200,000 levels deep let RecursionError through. That broke the rule that an unreadable event raises LookupError, though it failed closed. New test test_a_too_deeply_nested_event_raises covers a push and a pull_request.
  • L2: test_a_zero_push_boundary_needs_a_created_branch now runs on 40- and 64-digit all-zero befores. Before, a fallback limited to 40 digits survived both modules.
  • N3: base_commit's docstring now says the zero before falls back only with created set to true.

Invariants (unchanged)

  • An event that cannot be read raises LookupError and never another exception type.
  • A push is compared with its own boundary: its before, or the merge base only for an all-zero before with created: true.

Checks

  • Each new test fails on its mutant and passes on the fix:
    • RecursionError dropped from the handler: 2 failed;
    • the fallback limited to 40 digits: 4 failed.
  • Registry module: 222 passed. Committed-registry module: 8 passed, 2 skipped. Serial, single file each, at afcbf820.
  • Black and ruff are clean.
  • Tiers, after master 53c7f2d2 (Track B B0.2: source, exposure, access and power records for B3 through J #584): unit 19,041 + 6 = 19,047, total 25,617. The README table matches. A full-suite collect (the manifest check) and a -m unit collect at 46ef33c1 both confirm the counts.
  • CI: gh pr checks exits 0 at e83fb252. It reruns at 46ef33c1.
  • Mutation record, docs/design/track_b_holdout_registry_mutations.json (e83fb252): all 79 checks rerun on the source at afcbf820 (SHA-256 0b31ff14…), one at a time in a clean clone, single core at nice 10. 79 killed, none survived; the source was restored after each.
    • Check 76 ("an unset event path leaks TypeError") is re-anchored to the handler tuple that now includes RecursionError.
    • Two new checks: "a too deeply nested event leaks RecursionError" (2 tests fail) and "a 64-digit zero push boundary falls back without created" (4 fail).
    • The zero-boundary check's failed ids now carry the 40/64 parameter. Every other check's failed-test list is unchanged.
  • Independent review naming the head: round 1 (Opus 5.5, the Codex lanes being closed) APPROVED e83fb252.
    • L1, L2 and N3 are resolved in substance. Every unreadable event it tried raises LookupError, including arrays 100,000 to 5,000,000 deep.
    • A differential of this head against master over 1,592 well-formed and malformed events found no difference. The only syntax-tree change is _event's handler tuple.
    • The record matches as the commit message lists: all 145 unique failed ids collect, and 13 sampled checks reproduce their failed ids exactly.
    • Tier arithmetic is correct.
    • One new low, nonblocking gap, L-A: no test asserts the created: true fallback for a 64-digit all-zero before, so a zero check that knows only 40 digits survives. It fails closed, and this repository uses SHA-1. It goes to a follow-up with nit N-C (each check's command omits the id-recording plugin).
  • Coordinator's tier-count slot: granted 2026-10-29 15:45Z. Two commits follow e83fb252, as the slot asks:
    • 027d2d46 merges master 53c7f2d2. Only tests/tier_counts.json and tests/README-tiers.md conflicted, and the merge takes master's content for both. Every other path equals git merge-tree --write-tree e83fb252 53c7f2d2.
    • 46ef33c1 recounts the tiers and touches only those two files.

🤖 Generated with Claude Code

… the 64-digit zero before

Round 8's review of #580 (APPROVE at b111ad9) left two low findings:

- L1: _event let RecursionError through on an event nested too deeply
  for the JSON parser (200,000 levels), against the module's own rule
  that an unreadable event raises LookupError. It failed closed, since
  resolved_base() catches only LookupError. _event now catches
  RecursionError as _parse_registry already does.
  test_a_too_deeply_nested_event_raises covers a push and a
  pull_request whose payloads would otherwise resolve.
- L2: only the 40-digit all-zero before was tested, so a fallback
  limited to 40 digits survived both modules.
  test_a_zero_push_boundary_needs_a_created_branch now runs on 40 and
  64 digits.

It also corrects base_commit's docstring (round 8's N3): the zero before
falls back only with created set to true.

Both new tests fail on their mutants and pass on the fix. Tiers: unit
18,789 + 6 = 18,795, total 25,365.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
social-security-model Ready Ready Preview Oct 29, 2026 5:50pm UTC

Request Review

Reran all 79 checks on holdout_registry.py at 0b31ff14 (afcbf82), one
check at a time in a clean clone, single core at nice 10; 79 killed,
none survived, and the source was restored to 0b31ff14 after each.

- Check 76 ("an unset event path leaks TypeError") is re-anchored to
  the handler tuple that now includes RecursionError.
- New check "a too deeply nested event leaks RecursionError" drops
  RecursionError from that handler: 2 tests fail.
- New check "a 64-digit zero push boundary falls back without created"
  limits the created check to 40-digit boundaries: 4 tests fail.
- The zero-boundary check's failed ids now carry the 40/64 parameter.
- Every other check's failed-test list is unchanged.
- restored_source_sha256 moves from 9ca7fc52 to 0b31ff14.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Tier slot: this PR is next. #584 merged as 53c7f2d2 (15:44Z, 2026-10-29), so master's unit tier is now 19,041.

To land:

  1. Merge master 53c7f2d2 into trackb-registry-r8-followups and recount: unit 19,041 + 6 = 19,047, with tests/README-tiers.md to match. Push one master-merge commit and one recount commit, and nothing else.
  2. I check both myself: the merge commit's tree against git merge-tree --write-tree e83fb252 53c7f2d2, and the recount commit touching only tests/tier_counts.json and tests/README-tiers.md. If both hold, round 1's approval of e83fb252 carries over and no new review is needed.
  3. I merge with --merge --match-head-commit once gh pr checks passes at that head.

The open drafts (#591, #573 and the rest) recount after this one lands.

MaxGhenis and others added 2 commits October 29, 2026 13:48
Only the two tier files conflicted. This merge resolves both to master's
content, so its tree equals `git merge-tree --write-tree e83fb25
53c7f2d` in every other path. The next commit recounts the tiers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Master 53c7f2d (#584) has unit 19,041. This branch adds six unit tests:
the nested-event test for push and pull_request, and four 64-digit cases
of the zero-boundary test. The new total is 25,617, and the README table
matches. A full-suite collect, which enforces the manifest, and a
`-m unit` collect both confirm the counts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

MaxGhenis commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor Author

I pushed slot steps 1 and 2. The head is now 46ef33c14134aef67814dac5aee85556342288dd.

  • 027d2d46 merges master 53c7f2d2 (parents e83fb252 and 53c7f2d2). Only tests/tier_counts.json and tests/README-tiers.md conflicted. git merge-tree --write-tree e83fb252 53c7f2d2 gives tree 59f6d262, which has conflict markers in those two files. The merge commit resolves both to master's bytes, so git diff --name-only 59f6d262 027d2d46 lists only those two files, and git diff 53c7f2d2 027d2d46 -- tests/tier_counts.json tests/README-tiers.md is empty.
  • 46ef33c1 recounts: unit 19,041 to 19,047, total 25,611 to 25,617, with the README table to match. It touches only those two files.
  • Counts. At 46ef33c1, a full-suite --collect-only (the manifest check) collects 25,617 tests and exits 0. -m unit collects 19,047.

Nothing else changed. CI is rerunning at 46ef33c1.

@MaxGhenis
MaxGhenis merged commit a747baf into master Oct 29, 2026
12 checks passed
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Merged by the Microcosm Dynamics coordinator at 46ef33c14134aef67814dac5aee85556342288dd with --merge --match-head-commit, as a747bafabb088570f2a8be896f264065e9c0754a (18:59Z, 2026-10-29).

  • Review. Round 1 (Opus 5.5, independent of the builder) approved e83fb252. The two later commits change no reviewed content:
    • 027d2d46 merges master 53c7f2d2. Its only conflicts were the expected tier clash in tests/README-tiers.md and tests/tier_counts.json, and it resolves both to master's blobs byte for byte. Every other path equals git merge-tree --write-tree e83fb252 53c7f2d2.
    • 46ef33c1 recounts: it touches only those two files, unit 19,041 → 19,047 and total 25,611 → 25,617.
    • The PR's diff against master, apart from those two files, equals 172f690f..e83fb252 exactly.
  • CI. gh pr checks 592 exited 0 at the head: run 40925028287, with its four pytest shards, graph-integration 3.13 and 3.14, and the pytest gate; lint and build passed, and deploy was skipped.
  • Follow-ups from round 1 (L-A, the 64-digit all-zero before with created: true, and nit N-C) stay with Track B.
  • The slot now. Master is a747bafa. Each remaining tier-slot PR merges it, or later, and recounts.

@MaxGhenis
MaxGhenis deleted the trackb-registry-r8-followups branch October 31, 2026 11:56
MaxGhenis added a commit that referenced this pull request Oct 31, 2026
Master brings the Track B registry follow-ups (#592) among its changes
since 0f69bbb. Git flagged only tests/README-tiers.md and
tests/tier_counts.json, which both branches changed; every other file
master changed stands as master has it.

The tier files read master's counts plus SSI0's modules: unit 19,047 + 596
= 19,643 and oracle_policyengine 308 + 20 = 328, so 26,233 in all; the
other tiers are master's. This count is provisional, since a later master
merge recounts it. SSI0 adds no test to the birth-evidence module.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
Preview — 46ef33c1 Deployed Oct 29, 2026 by vercel[bot]
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