Repository navigation
Native lane: ownership rows for four unowned body-lowering fatal causes - #12365
Merged
Merged
Conversation
…(call_argument_unread, operator_operand_unread, type_annotation_not_carried, paren_group_unread) Each row names its real owner and flip trigger. Claims over supplied receipt rows: the four causes pass the file-refusal clause, and an unknown fatal cause beside them still refuses unowned. The admission check is unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…w 71603) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In the broad native run at main bd2c586, 872 of 1058 file refusals carried a fatal cause with no FatalGrain row in
v2.workflow.compile_door_cause_ownershipknown_frontier_causes, sogunbc.witness_v2_native_routenative_route_file_refusals_attributedfailed on them.Rows added (FatalGrain, SharedSelfHostCriticalPath), each with its real owner:
body_lowering_reason_call_argument_unread(802): value-position lowering. Function values in argument position go through MQ-1: function values in value position (lambdas and fn literals) lower to the generic fn Arrow; unwritten types are fresh type parameters #12210; the positional fold-step residue goes through MQ-1: a positional fold step lowers like the named form (position from std.algebra's fold signature) #12272.body_lowering_reason_operator_operand_unread(59): the body-lowering modeling pass (gentle-koi-724). The shapes are caret symbols and parenthesisedascasts (v2: typed cast node (Transform[coerce, e] + <cast-target>) retires the as-cast refusal #12315).body_lowering_reason_type_annotation_not_carried(8): the let-annotation Bind carrier (v2: let-annotation Bind carrier (retires typed_statement_let rung drop) #12322) plus the typed cast node (v2: typed cast node (Transform[coerce, e] + <cast-target>) retires the as-cast refusal #12315).body_lowering_reason_paren_group_unread(3): raised byv2.compiler.body_lowering_foldbody_lower_paren_group_lowered(introduced by XL-2 hotfix: call arguments lower as values; nested-call/record args no longer refuse the whole module (list args still refuse, located) #12173) when the group's inner value did not lower. The group has no semantics of its own, so this is value-position lowering and it flips with MQ-1: function values in value position (lambdas and fn literals) lower to the generic fn Arrow; unwritten types are fresh type parameters #12210 and v2: typed cast node (Transform[coerce, e] + <cast-target>) retires the as-cast refusal #12315.Evidence (
v2.test.v2_native_route, supplied receipt rows per the DESIGN §3 witness rule):the_body_lowering_frontier_causes_are_owned_at_fatal_grain: the file-refusal clause holds over one row per cause, and a Context-stage refusal classifies asCompilerFrontierAttributed.an_unknown_fatal_cause_beside_the_owned_ones_still_refuses_unowned: control. The same rows plus one unknown cause fail the clause.an_unattributed_file_refusal_is_refusedstill pins the admission-level refusal. The admission check is unchanged.Exclusions.
classify_native_refusallooks exclusions up at FatalGrain, the same grain as file refusals, so no HeadGrain rows are needed. I matched the subject histogram neat-boar-16 sent from the bd2c586 receipt (rows checksum 9334399c71c35bc8). Before this PR,excluded_unattributedwas 1388: Context call_argument_unread 1146, operator_operand_unread 206 and type_annotation_not_carried 19, plus 17 more. After it, 17 remain:infer_match_scrutinee_not_bool(2, Prepare:v2.test.extdeps.coordination_claims.coordination_obligation_exchange_arm_sharp_holdsand...coordination_obligation_settlement_arm_sharp_holds, the known residue) andeval_rejected_invalid_node(15, Eval). Neither has an evident frontier owner.eval_rejected_invalid_nodeis also overloaded: two claim-verdict arms inv2.compiler.evalrelabel a Rejected actual as invalid_node, which erases the real cause. Whether to own them here is escalated to neat-boar-16 (my recommendation is follow-ups, not rows).value_unloweredcarries its own row in #12299.I could not run the claims locally (the sccache build failed), so CI's floor is the first execution.
🤖 Generated with Claude Code