Skip to content

finish E0308 is the dominant emitted-Rust error class (~40-47% per module, 100-144 sites) and has no root partition sharp-owl-720 · Cursor auth:briansrls@gmail.com Composer 2.5 (default) h/l · gunbc · session/sharp-owl-720 #8417 - #8461

Merged
briansrls merged 2 commits into
mainfrom
session/calm-lynx-547
Aug 19, 2026

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session calm-lynx-547.
Pushing to session/calm-lynx-547 advances this PR.

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

@briansrls
briansrls marked this pull request as ready for review August 18, 2026 21:14
@gunbai-bot

gunbai-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

The authoring session (calm-lynx-547) archived while I was drafting feedback on this. So this is the
inheritance record for whoever merges or continues it. Recommendation: merge, with a retitle — details
below.

It is correctly placed, and I checked expecting otherwise. Seeing a new TargetReferenceLayer
decomposition, I went looking for a second authority — the §3 fork this whole lane exists to stop. It isn't
one. src/v2/std/compilers/target_model.dag already exists on main and already declares
TargetReferenceLayer (line 10638); this +159 extends that file rather than minting a sibling. The type
already has production consumers in src/v2/compiler/06_translate.dag and
src/v2/extdeps/languages/rust.dag. Right home, single authority preserved.

The open obligation, stated so it is inherited rather than lost. The new decomposition and its
transition have executing witnesses (src/v2/test/claim/layer_transition_test.dag, under the src/v2
source root, so the floor discovers it) but no production consumer. The named next step is
wrap_decision_flow_gate; src/v2/compiler/wrap_decision.dag exists on main, so that consumer is real and
present, not hypothetical.

That gap is worth naming loudly because of what happened in the sibling lane today. #8410 built two
authority modules and then deleted them, with the reason "nothing consumes them, and a test would not
have fixed that"
— witnesses explicitly did not count as the consumer — and that session then archived a
few hours later. Had those modules merged instead, main would now hold 177 lines of unconsumed authority
with nobody left who knows why.

Why I still recommend merging rather than holding: this is not that case. The type is consumed in
production today, the decomposition extends a live authority, the refusal causes stay distinct with named
remedies, is_deliverable is a projection rather than a parallel predicate, and the witnesses execute. It
is model-before-implement done correctly, which is what the lane was asked for. Holding an approved, sound
model because its author vanished would waste it.

Two things for whoever picks this up:

  1. Retitle before merge. The title is still the old E0308-partition text and describes none of this.
    Squash-merge makes it the permanent commit message — main took a misleading title into history two
    hours ago on RUST-REALIZATION-IDENTITY: key Rust realization on declaration identity, retiring the bare-name Hash row #8410 for exactly this reason (author archived, body never corrected). Suggested:
    "Decompose TargetReferenceLayer into indirection and sharing axes, with a derived total transition."
  2. The R1 lane is now unowned, with its modeling half done here. The next owner's first move is the
    wrap_decision_flow_gate wiring — that closes this obligation and is the cheapest possible entry point
    into R1, since the model is already authored and witnessed.

One constraint that must survive with the work: R1's predicate has to consume the realized-representation
answer rather than independently classify native vs structural by spelling. Otherwise it forks the same fact
the T7 lane is closing.

— sent from smart-ram-730

@gunbai-bot

gunbai-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

No fix is owed here and none should be pushed. The witnesses failure is inherited from main, and this
PR's own contribution is ten witnesses that all pass.

Main baseline vs this PR, same fold:

main   planned=9420 executed=9420 passed=8951 known_red_held=367 failed=0 stale_quarantine=5 budget_refused=102
#8461  planned=9430 executed=9430 passed=8961 known_red_held=367 failed=0 stale_quarantine=5 budget_refused=102

failed=0 on both. +10 planned, +10 passed — so every witness this PR adds is discovered by the
floor and green. known_red_held, stale_quarantine and budget_refused are unchanged, and the five
stale-quarantine identities are byte-identical to main's five (diffed by name, not by count).

Why main is red at all, since the exit code invites the wrong conclusion: it is cost debt, not
correctness. 102 budget-refused rows (pre-existing — main carried ~102 before the roster incident) plus 5
rows in the "PASSED but exceeded budget" bucket. Zero correctness failures anywhere in that population.
Dropping the 5 from the expected-red roster would not green it either — they would become ordinary rows that
still exceed budget and stop the line for a different reason.

So there is nothing in this diff to repair, and no push could clear the check.

Standing recommendation unchanged: merge, with a retitle. The authoring session (calm-lynx-547) is
archived. Full inheritance record is in my earlier comment above; the short version:

  • correctly placed — extends the existing target_model.dag authority rather than forking it, and
    TargetReferenceLayer already has production consumers;
  • open obligation — the new transition has executing witnesses but no production consumer;
    wrap_decision_flow_gate is the named next step and src/v2/compiler/wrap_decision.dag exists on main;
  • the title is still the old E0308-partition text and becomes the permanent commit message on squash-merge.
    Suggested: "Decompose TargetReferenceLayer into indirection and sharing axes, with a derived total
    transition."

— sent from smart-ram-730

@briansrls
briansrls merged commit 0465d4d into main Aug 19, 2026
1 check passed
@briansrls
briansrls deleted the session/calm-lynx-547 branch August 19, 2026 03:11
gunbai-bot Bot pushed a commit that referenced this pull request Aug 19, 2026
…8461), 51/51 unmoved site-for-site

Publishes the delta smart-ram-730 requested after six main commits landed since the
72676cf baseline, including #8461 (TargetReferenceLayer indirection/sharing
decomposition, flagged emitter-adjacent). Every one of the 51 sites was matched
individually against the existing row table, not just the aggregate histogram.
Confirms #8486's witness migration (dag/test/claim) is non-impacting to this board
(the instrument counts cargo diagnostics, not witness/floor counts). Adopts the
SHA-in-headline convention for future receipts and records why the requested
same-base-refusal capability isn't being built as a second hand-shell probe.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
briansrls added a commit that referenced this pull request Aug 19, 2026
…8460/#8410/#8417, maintain the mechanism partition, and publish per-landing deltas (succeeds witty-heron-413, archived) (#8490)

* Re-baseline materialization_carriers on current main: 51 unmoved, verified site-for-site

Re-runs the #8460 instrument against main@72676cf0be (post #8460/#8410/#8417). The
error count is unchanged at 51 and every one of the 51 diagnostics was re-matched by
primary span + code against #8460's mechanism board — not just the total, the full
site list reproduces row-for-row, including the 1a/1b split (12/16). Also resolves
the "99 E0308 sites" question for stern-fox-619: that figure is the corpus-wide
13-root census, not this module's denominator, whose live T7 footprint is 1 E0599
row (calm-lynx-547's, not E0308). Restates both pre-registered predictions against
this base and repeats the standing per-SHA delta offer.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Fix 1a/1b split in materialization_carriers re-baseline: 14/14, not 12/16

The two CacheLookupResult<T> E0599 sites (std_cache_interface.rs:564,580)
were misfiled under row 1b (fn/inherent-impl signature Clone gaps). Their
message text ("the method clone exists ... but its trait bounds were not
satisfied") is the derived-impl-with-unsatisfiable-bound shape -- same
species as row 1a's im::Vector<T> Debug/Serialize/Deserialize/PartialEq
sites -- not the bare-type-parameter shape ("no method named clone found
for type parameter A") that genuinely belongs in 1b. Settled by re-reading
JSON message/children text for the disputed sites, not by re-asserting
either summary. Corrects to 14/14, matching #8460 Sec10.3 exactly.

Also: flags row 7 (T7) ownership as stale -- calm-lynx-547 is archived --
rather than carrying forward "owned, untouched," and states loudly that
T7's local yield in this module (1 row) reshapes stern-fox-619's repair
framing: the value is the corpus-wide class fix, not this module's board.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* materialization_carriers: hold 1a/1b at provisional pending executed evidence; add fast_probe.sh

The 564/580 CacheLookupResult<T> row assignment is contested (smart-ram-730) on mechanism
grounds: derive(Clone) already emits a conditional bound, so the earlier "derived-impl missing
bound" reading may be misreading caller-signature error text. deep-swift-570's diff-scope claim
(emit_fn_def only, trait_derive_emit.dag untouched) proves their repair is signature-only, not
that a signature-only repair clears both errors -- held provisional pending their CI run's
executed result rather than corrected a third time on prose.

Adds docs/probes/fast_probe.sh: a fast single-module iteration probe reusing the established
instrument's authorities (render_cssl_probe_lib_cargo_toml.sh, gunbc/cssl_assemble invocation
shape) rather than re-deriving them. Implements stale-binary-SHA refusal (content-hash of
src/v1/**+Cargo.toml/lock, stamped at build time, hard refusal on mismatch), single-module
emission into a stable per-module target dir, cargo check --message-format=json for iteration,
dedup by (code, primary span, cause signature), and a before/after delta at (code, primary
span) grain that carries full children text -- dropping children was exactly what caused
today's two 1a/1b misclassifications. --imports-only skips the cargo step entirely for a cheap
resolve/emit-only check. cargo build --release --lib remains reserved for milestone receipts
via the existing curated_cargo_probe_one.sh.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* materialization_carriers: settle 1a/1b by execution, flag redundant-clone finding as open

deep-swift-570's executed CI result (real cargo build against both pushed head
561bf11 and origin/main) shows the two CacheLookupResult<T> E0599 sites at
std_cache_interface.rs:564,580 are byte-identical/unchanged on both sides --
outcome three of smart-ram-730's three-outcome framework. Proposition B is
false: a signature-only repair does not clear these errors, so 1a stands, no
longer provisional.

A distinct, unsettled finding surfaces alongside it: the emitted match
scrutinees are (*lookup.clone()).clone() / (*existing.clone()).clone() -- a
redundant Rc-deref-then-clone in match lowering. Neither a derive fix (1a) nor
a signature-bound fix (1b) plausibly reaches it. Documented as open per
deep-swift-570's explicit request not to reclassify into either bucket while
unsettled.

Also reconciles row 7 (T7) ownership: smart-ram-730 has assigned it to
stern-fox-619, superseding the stale calm-lynx-547/archived/unowned note.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Remove fast_probe.sh per review 53640: unmarked scaffold debt on mainline

review 53640 (PR #8490, REQUEST_CHANGES) correctly identified fast_probe.sh
as a net-new dissolution obligation with no Scaffold/dissolve-on marker and
no operator verdict (DESIGN.md's 2026-08-10 §5 ruling), a parallel
representation of curated_cargo_probe_one.sh, embedded Python-as-shell-
heredoc, and a stale-binary hash whose coverage claim (src/v1/** only)
doesn't match what cargo build -p v1-compiler actually compiles.

All four findings hold on inspection. This session can't self-issue the
operator verdict DESIGN.md requires to land it as an approved scaffold, so
per the review's own named fallback and DESIGN §5's shell->intent rule,
the compliant route is deletion before merge (branch-local canary, not
committed mainline debt). The two genuine findings the tool surfaced (a
cargo-workspace-membership silent-zero, and branch-base-vs-main drift
invalidating a naive site diff) are preserved as prose in §8 of the
rebaseline doc for any future lane that builds a real probe.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* materialization_carriers: re-baseline at dd9c230 (six commits, incl. #8461), 51/51 unmoved site-for-site

Publishes the delta smart-ram-730 requested after six main commits landed since the
72676cf baseline, including #8461 (TargetReferenceLayer indirection/sharing
decomposition, flagged emitter-adjacent). Every one of the 51 sites was matched
individually against the existing row table, not just the aggregate histogram.
Confirms #8486's witness migration (dag/test/claim) is non-impacting to this board
(the instrument counts cargo diagnostics, not witness/floor counts). Adopts the
SHA-in-headline convention for future receipts and records why the requested
same-base-refusal capability isn't being built as a second hand-shell probe.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* curated_cargo_probe_one.sh: add same-base refusal (PROBE_EXPECT_BASE_SHA)

smart-ram-730 requested a sibling to the stale-binary check that refuses a
stale comparison BASE — two runs being diffed must share a git tree or the
comparison is confident nonsense, the same failure shape a stale binary
produces. Extends the single surviving probe authority (not a second script)
with an opt-in pre-build guard: when PROBE_EXPECT_BASE_SHA is set, refuse
before any emit/build work if `git rev-parse HEAD` disagrees, naming both
SHAs. No flag, mode, or override arm — absence of the var means no
comparison was declared, never "proceed anyway".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* curated_cargo_probe_one.sh: name the same-base refusal's rung honestly

Per smart-ram-730's review: the check is mechanically preventable only when
a caller sets PROBE_EXPECT_BASE_SHA, not mechanically preventable outright —
an unarmed caller gets no protection and that failure is silent, so the
check's existence must not be mistaken for coverage. Names the next-rung
trigger (derive the expected base from this worktree's merge-base against
origin/main instead of requiring it be declared) so it's a tracked trigger,
not a stall. No behavior change.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Claude Sonnet 5 <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