Skip to content

XL-2 carrier: occurrence projection progress, match arms 3+ delivered, silent-drop arms outstanding - #12584

Merged
gunbai-bot[bot] merged 7 commits into
mainfrom
session/lively-deer-269
Sep 29, 2026
Merged

gunbai-bot[bot] merged 7 commits into
mainfrom
session/lively-deer-269

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Carrier update in gunbc.compiler_frontend_program_status, plus its partition witness. Owner: quiet-seal-543.

Every PR cited below was checked as MERGED when this was written, and each is cited by its merge sha.

Not run locally. The required floor, which runs the diff-touched witness claims, is the evidence.

🤖 Generated with Claude Code

Update: #12510 has merged (b768b0f), so DataInitializerMatchScrutineeLowering and MatchArmStatementBodyLowering are now DELIVERED. Their owners are the claims in v2.test.claim.body_lowering.match_position_structure. #12436 then merged (d28bf20), so EnclosingExpressionLoweredWhole is DELIVERED too. The partition is now 23 arms: 15 delivered and 8 outstanding.

gunbc-ci-auto-heal and others added 5 commits September 29, 2026 02:26
…, three silent-drop arms outstanding

LoweringOccurrenceProjection why replaced whole (#12334's proposed wording) citing
#12305/#12314/#12317/#12334/#12475 and #12313 by merge sha; stays OUTSTANDING on the
ten NameRoleNotYetRead binder productions, named. Header/nesting excluded populations
cited as they stand. MatchEveryArmLowered delivered by #12383 (8ebd8b6).
EnclosingExpressionLoweredWhole, DataInitializerMatchScrutineeLowering and
MatchArmStatementBodyLowering outstanding, tracked by the #12309/#12364 rows
(#12436/#12510 not merged). Partition witness: 23 arms, 12 delivered, 11 outstanding.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…m statement body; partition 14/9

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ion 15/8

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

HOLD / REQUEST_CHANGES at exact head 9cdaebb.

The merge-SHA accounting, 23 = 15 delivered / 8 outstanding partition, and current floor evidence check out. One carrier-truthfulness defect blocks approval.

[P2] LoweringOccurrenceProjection currently says that the occurrence-role producer/census “separate binders, labels and module-header segments -- outside the XL-2 residual -- from references, so locus_erased now counts only references that lost their locus.” That statement is false while this same arm remains outstanding on the ten NameRoleNotYetRead binder productions.

The production code makes the contradiction concrete: erased_atom_disposition classifies an erased atom with NO role-index entry as ErasedReference, which increments locus_erased. report_with_role_gaps separately records not_yet_read / reader_refused counts; it does not remove those atoms from locus_erased. reference_conservation.dag’s own contract states the exact caveat: a binder the producer could not read “stays in locus_erased.” The carrier later says the same thing (“a binder under any of them is still counted in locus_erased rather than role-separated”), so the why currently asserts both propositions at once.

Please narrow the earlier sentence instead of changing the standing. For example: recorded DeclarationRole and non-module-scope ReferenceRole atoms are separated into role_excluded, headers into header_channel; locus_erased is reference-only only for the role-classified population, while NameRoleNotYetRead / reader-refused / unminted gaps remain visible through their counters and may still contribute to locus_erased. Keep LoweringOccurrenceProjection OUTSTANDING until those reader gaps close.

Everything else I checked is consistent with the requested carrier update:

  • all cited delivery PRs are merged at the recorded merge SHAs (#12305 6c3c84f, #12314 b40c7f6, #12317 3ae62b4, #12334 60ef76c, #12475 987c55d, #12313 285ea30, #12383 8ebd8b6, #12510 b768b0f, #12436 d28bf20);
  • the exact-head floor planned and passed both changed partition witnesses, with 577/577 executed, claims_failed=0, FloorClean, and required-ci adjudication PASSED blockers=0;
  • xl2_prerequisites_outstanding is mechanically filtered from the standing list, and the XL-2 rehearsal completeness roster imports that function, so the downstream P5/completeness causes shrink with the outstanding set rather than a copied count;
  • the corrected #12436 census number does not invalidate this carrier delta: this PR records the merged capability/owner, not the old 285 recovery total;
  • the nesting population remains cited as its existing arm, without deciding the pending namespace ruling;
  • #12598’s overlapping edit should re-derive the partition when it lands second, as noted.

At review time floor/generated/witnesses are successful; emit-build and rust-unit-tests are still queued and are not the reason for this hold. No local tests were run by me. After the wording correction, rebind to the new exact head and require the merge_group candidate to pass against then-current main.

gunbc-ci-auto-heal and others added 2 commits September 29, 2026 06:32
…ns (binders under NameRoleNotYetRead still count there)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gunbai-bot

gunbai-bot Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor Author

Addresses the CHANGES_REQUESTED at 9cdaebb by narrowing the LoweringOccurrenceProjection why. Commit a1121bb includes this fix and a merge of current main.

  • Atoms with a recorded DeclarationRole, or a ReferenceRole whose category is not module-scope, go to role_excluded. Module-header segments go to header_channel.
  • locus_erased is reference-only for role-read productions only. An erased atom with no role entry is ErasedReference (erased_atom_disposition) and still counts in locus_erased.
  • Binders under NameRoleNotYetRead productions are counted as role_not_yet_read (reader refusals as role_reader_refused) without leaving locus_erased.

The standing is unchanged: the arm stays OUTSTANDING.
— sent from lively-deer-269

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

APPROVE-MERGE at exact head a1121bb, through the merge queue only.

Re-review against my CHANGES_REQUESTED review 5348533306: the carrier-truthfulness defect is fixed.

LoweringOccurrenceProjection now says exactly what the production model supports. Recorded DeclarationRole atoms and recorded non-module-scope ReferenceRole atoms route to role_excluded; module-header segments route to header_channel. The claim that locus_erased is reference-only is explicitly bounded to ROLE-READ PRODUCTIONS. The text also states the complementary case: an erased atom with no role entry is ErasedReference, so binders under NameRoleNotYetRead productions remain in locus_erased while the role producer's gaps are separately counted as role_not_yet_read / role_reader_refused. The later ten-production outstanding list is therefore consistent with the earlier summary instead of contradicting it. Standing correctly remains PrerequisiteOutstanding.

The rest of the carrier remains sound from the prior review: 23 prerequisites partition as 15 delivered / 8 outstanding; the four newly delivered capabilities cite merged PR merge SHAs; xl2_prerequisites_outstanding is mechanically filtered from the standing list and is consumed by the rehearsal completeness roster; XL-2 remains NotDerivable with the rehearsal producer unavailable. The existing HeaderSegmentsNotRefusalSites and NestingScopedReferencesUncounted wording is preserved without adjudicating the pending nesting ruling.

Exact-head run 36531654717 has floor, generated, and witnesses successful. The floor records both changed partition witnesses as planned-and-passed, 577/577 executed, claims_failed=0, FloorClean, and required-ci adjudication PASSED with blockers=0. emit-build and rust-unit-tests are still queued and are non-required; this approval does not treat them as completed evidence.

No new local tests were run by me. This supersedes review 5348533306. Require the actual merge_group candidate to pass against then-current main; no direct merge or check bypass.

@briansrls
briansrls dismissed their stale review September 29, 2026 07:10

Superseded by exact-head approval 5348937920 after the requested carrier wording correction landed.

@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Sep 29, 2026
Merged via the queue into main with commit 6ff35d1 Sep 29, 2026
5 checks passed
@gunbai-bot
gunbai-bot Bot deleted the session/lively-deer-269 branch September 29, 2026 09:41
@briansrls
briansrls restored the session/lively-deer-269 branch September 29, 2026 09:44
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