Skip to content

Lane A Root-A emit-seam grounding (the E0107-unmasked dominant pole): faithful-list/FreeMonoid CONSUMPTION through host Vec receivers — emitted count/first/skip/iteration render as bare Vec methods on Rc-of-Vec and fail method-resolution (16 errors in std_realization_schedule.rs: 13 E0599 + 3 E0308, - #5734

Merged
briansrls merged 1 commit into
mainfrom
session/zesty-wren-43
Jun 24, 2026

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jun 24, 2026 •

Copy link
Copy Markdown
Contributor

Lane A Root-A emit-seam grounding

faithful-list/FreeMonoid CONSUMPTION through host Vec receivers. Emitted count/first/skip/iteration rendered as bare host-Vec methods on Rc<Vec<...>> and failed method-resolution — the 13 E0599 + 3 E0308 in std_realization_schedule.rs.

Root (in INFER, not the emitter — §6 root-cause-to-the-language-layer)

A transparent type-alias receiver (type Schedule = List<List<Runnable>>) is resolved so its structural .name carries the container carrier (List) while its ident_span still points at the source spelling (Schedule). Pervasive type machinery reads the kind via authored_name_at (which returns the source spelling, not .name), so algebra-method dispatch, element typing, and ReceiverSelf result reconstruction all miss the kernel-algebra profile (keyed by List/Set/Map) and fall through to a bare host-Vec method.

Fix

  • reground_alias_carrier_identity (04_types.dag) re-grounds ident_span onto the structural .name so authored_name_at agrees with .name (pure ident-normalization, no peel; mirrors structural_carrier_template_name).
  • resolve_method_receiver_type (04_lookup.dag) composes the one existing peel authority resolve_scrutinee_type_node (the match-scrutinee resolver, seen-set bounded) with re-grounding, double-gated so structs/services/already-grounded/container-spelled receivers short-circuit — it returns the peeled type only when peeling reveals a declared-container-alias carrier the spelling hid.
  • Call site: 04_infer.dag ExprMethodCall receiver. Authority in src/v1/04_{types,lookup,infer}.dag; seed mirrors in v1_compiler_infer_{types,lookup}.rs + v1_compiler_infer.rs.

Verified by execution

  • Baseline (origin/main) emits 16 bare .count()/.skip()/bare-.first() calls on Schedule receivers → 0 with this change (all faithful host-Vec: .len() as i64, .first().cloned(), .iter().cloned().skip(n).collect()).
  • Blast radius A/B: byte-diff of the full base-vs-fix --emit-fresh output = exactly one file differs (std_realization_schedule.rs). Zero corpus-wide dispatch regression.
  • Termination oracle: full-corpus regen_stage0 --emit-fresh TERMINATES (197s local; 503s independent cold confirm), 108 modules. EMIT_EXIT=1 is the pre-existing std_serialization.rs self-compile mismatch (identical on baseline), not this change.
  • cargo fmt --check + clippy -p v1-compiler clean; both realization_schedule witnesses pass.

The remaining errors in that file (Measure<Time> E0573, inner List E0107) are separate upstream poles (other lanes), byte-identical in the baseline.

Deeper root (tracked, not gold-plated here)

alias-carries-name-not-carrier is the same class the measure-tower and brand-peel hit. The general fix is canonical-identity-on-the-resolved-node (the wall-after-grounding being tracked); this PR grounds it surgically at the method-receiver seam only.

🤖 Generated with Claude Code

…ivers to their carrier

faithful-list/FreeMonoid consumption through host Vec receivers. A transparent
type-alias receiver (e.g. `type Schedule = List<List<Runnable>>`) is resolved so its
structural .name carries the container carrier ("List") while its ident_span still
points at the source spelling ("Schedule"). Pervasive type machinery reads the kind
via authored_name_at (the source spelling), so algebra-method dispatch, element
typing, and ReceiverSelf result reconstruction all miss the kernel-algebra profile;
emitted count/first/skip/iteration then render as bare host-Vec methods that fail
method-resolution (the 13 E0599 + 3 E0308 in std_realization_schedule.rs).

reground_alias_carrier_identity re-grounds the ident onto the structural carrier so
authored_name_at agrees with .name. resolve_method_receiver_type composes env-aware
alias resolution (resolve_scrutinee_type_node) with re-grounding, guarded so only
transparent container aliases are affected -- structs, services, and already-grounded
receivers pass through untouched. Authority in src/v1/04_{types,lookup,infer}.dag;
seed mirrors in v1_compiler_infer_{types,lookup}.rs + v1_compiler_infer.rs.

Verified: origin/main emits 16 bare .count()/.skip()/bare-.first() calls on Schedule
receivers; this change converts every one to faithful host-Vec forms (.len(),
.first().cloned(), .iter().cloned().skip(n).collect()). Remaining schedule errors
(Measure<Time> E0573, inner List E0107) are separate upstream poles, not this lane.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@briansrls
briansrls force-pushed the session/zesty-wren-43 branch from bda862d to 4d0fa7b Compare June 24, 2026 18:11
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review June 24, 2026 18:26
@briansrls
briansrls merged commit a4e79da into main Jun 24, 2026
3 of 4 checks passed
@briansrls
briansrls deleted the session/zesty-wren-43 branch June 24, 2026 19:21
briansrls added a commit that referenced this pull request Jun 25, 2026
…re-tower census refresh (#5788)

* WIP: roadmap inversion (again)

* WIP: roadmap inversion (again)

* Drop unrelated host-effect doc regen-drift from roadmap-citation PR

main_wet regenerates host-effect-orchestration.md from its .dag Plan
authority, which still emits the pre-#5756 '[now, parallel]' text; that
stale regen leaked into this PR and rewound Phase A's LANDED marker.
This PR is roadmap citations only — restore origin/main's doc verbatim.

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

* WIP: roadmap inversion (again)

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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