Repository navigation
Row 3 (root K): emitter-attested use-line for anonymous record-literal heads — materialization_carriers 51 → 49 - #8528
Merged
Merged
Conversation
…l heads — materialization_carriers 51 -> 49
The authored-source attestation gate refused exactly the candidate an
anonymous record literal's emitter-decided head needs (compile_stage_memo /
parse_table_memo 'retention: {..}' renders 'ProviderRetention { .. }' with
no import — E0422 x2). Third attestation arm collect_anonymous_record_lit_heads
admits only heads the emitter will render for anonymous literals, via the
proposer's own tn-Absent decision chain; registry/export-proof/kernel/
local-decl/already-imported walls unchanged. Stage0 projection spliced at
exactly these hunks; surrounding committed-seed drift (three other lanes'
regen content) deliberately not carried.
Measured on one instrument, one base (main b2dd729), remote, binaries
built beside the measurement: 51 -> 49 with the full composition unchanged
outside the E0422 row. E0425 NonEmptyStr trio is declared residue (alias-peel
in signature rendering), next packet.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
gunbai-bot
Bot
force-pushed
the
session/swift-moth-294
branch
from
August 19, 2026 07:10
fce0b6d to
9e49bb8
Compare
… floor BUDGET-REFUSE) The witness passed but cost 61.7s CPU against the 1552ms floor budget (run 32226586721, BUDGET-REFUSED, floor exit 1): its fixture imported the real std.cache_interface and paid that module's whole import closure. The mechanism under test — an anonymous record literal whose head the emitter decides and must import — needs only a provider module with a record type reached solely through an anonymous literal, so the fixture now targets a new importless three-type module test.fixture.anonhead_provider. The live corpus specimens stay pinned by the board receipt, not by this witness (witness-cost-derives-from-purpose ruling). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3 tasks done
This was referenced Aug 19, 2026
Merged
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.
Summary
Vertical-integrator lane (
swift-moth-294, nodeadhoc-497a24aa-140): first Row-3 packet on the materialization_carriers error board.Mechanism.
reference_derived_use_linessynthesizes a use-line only for candidates the module's authored source text attests. An anonymous record literal (retention: { release_policy: …, capacity: … }inextdeps.realization.compile_stage_memo/parse_table_memo) gets its head from the emitter (ProviderRetention { .. }), a name the authored source structurally cannot spell — so the gate refused exactly the candidate the emitted bytes need, and rustc reported E0422 on a head the emitter itself wrote.Fix. Third attestation arm
collect_anonymous_record_lit_heads(src/v1/05_emit_rust.dag): admits a candidate only when it is a head the emitter will render for an anonymous record literal in this module's items, computed by the proposer's owntn-Absent decision chain (emit_inferred_type_leaf_namewhen the summary is known, elseanonymous_record_lit_surface_name). This is not a widened text gate: the deep inferred/type-summary over-collection route (theAuthoredTokenOrdinalfabrication receipt) stays refused, and the registry-resolve, transitive export-proof, kernel, local-decl and already-imported walls are unchanged. Gate note corrected in place.Stage0 splice, exact hunks only.
v1_compiler_emit_rust.rsis regenerated for exactly this change. A fresh whole-src/v1emit also restores three other lanes' content the committed seed is missing (#8466's trait_bound_witness wiring, #8460's callable-wrap, the function-value lowering #8516 restores) — deliberately not carried here (ratified by smart-ram-730): three lanes of unrelated restored content would make this span delta unattributable. That drift is routed to its owners.Measurement — one instrument, one base, composition grain
Instrument identical to #8460/#8490 (
gunbc compile → cssl_assemble → cargo build --release --lib,CSSL_STD_SEED_LINK=1), executed remotely with binaries built beside the measurement, both arms atmain b2dd729f92:E0422 → 0 (both sites now import through
pub use crate::std_cache_interface::{ProviderRetention};); no other row moved. Note: this base's composition differs from #8490's receipt atdd9c2307(two different 51s exist; flagged to the coordinating session) — full receipt indocs/probes/materialization_carriers_row3_use_line_2026-08-19.md.Declared residue (not silently absorbed): Row 3's three E0425
NonEmptyStrsites did not move. A companion signature-leaf attestation arm was built, measured at zero effect, and removed before this PR — the signature's top-level leaf is the already-importedCacheInterfaceId; theNonEmptyStrspelling comes from a deeper alias-peel insiderender_rust_fn_sig_type. That trio is the next packet, root-caused at the renderer.Test plan
dag/test/claim/anonymous_record_head_use_line_witness_test.dag: fixture referencesProviderRetentiononly through an anonymous argument-position literal; asserts the synthesized use-line + emitted head, with a negative over-collection assertion. Executed green through the real pipeline on the fixed tree (w_anonymous_record_head_gets_use_line→true); red direction evidenced by the pre-fix baseline bytes (use-line absent at the same construction).src/v1regen route verified: the spliced file matches the fresh emit of the edited authority at exactly these hunks (offsets shift −5 from drift hunks not carried).cargo buildof the assembled probe crate before/after, exit/histogram as above.🤖 Generated with Claude Code