Repository navigation
File the accepted-source-emits-uncompilable-target class: unit variant in non-applied type position (E0573 specimen from the Measure lane) — row only, no emitter edit - #9962
Closed
gunbai-bot[bot] wants to merge 11 commits into
Conversation
…ant in a non-applied type position
gunbc accepts a coproduct's unit variant standing in a field, parameter or
return type and emits a Rust program rustc refuses. That is section 5 silent
wrongness on the source-to-target path: the only wall that fires belongs to the
target's compiler, and section 7 makes that gunbc's floor rather than rustc's
problem.
The row carries both halves of the evidence. The field specimen (neat-otter-332)
is `type NonApplied { value: Time }` over `type Quantity = Time | Memory`,
refusing E0573 at the emitted field under the narrow emitter classifier; under
the broad classifier a phantom marker struct import made the same source COMPILE,
and extending it across its declared parent boundary refuses E0308 expected
Quantity found Time -- so the narrow classifier's E0573 is the class becoming
visible, not a regression. Independently reproduced here at parameter position
on baeabbb: `fn take(stamp: StampClass) -> StampMode` compiles with 0 blocking
errors and one import-hygiene advisory, and cargo check on the emitted crate
refuses E0308. One source defect, three target behaviours, so the rustc code is
not the class.
Rung found at: below the ladder, by execution at the emission boundary. Ceiling
4, because constructor identity and type identity are distinct modelled facts
with decidable membership from the declaration. Next-rung trigger is the
capability -- type-position resolution over the type namespace alone -- not a
fixture or either specimen's repair.
Row and ledger authorities only; no emitter edit. DESIGN.md and
docs/design-ledgers.md are the regenerated projections.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AsNTMSgjX8EPvGHVNo2sNC
…tory The row said the field specimen's measured tree lived in session-local /tmp and was gone. The lane that owns it (neat-otter-332) states its emitted artifacts are held by its own receipts, and its /tmp paths are unreadable from any other session -- so the original clause asserted a provenance fact this row cannot back, which is the unbacked_execution_claim shape the same ledger warns about. Replaced with what is true and resolvable: the fixture was never committed here, which is WHY the row carries the source and both diagnostics inline rather than citing them, and no external path is given because such a path is not a citation a later reader can resolve. The specimen content itself is unchanged and matches the lane's corrected inline strings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AsNTMSgjX8EPvGHVNo2sNC
Three ledger surfaces conflicted because sibling lanes are appending to them in parallel. Resolution: - dag/gunbc/recurring_failure_mode.dag: roster only. Kept BOTH appended identities, main's merge_region_excludes_shared_tail first and this branch's accepted_source_emits_uncompilable_target after it, preserving source order. The row declarations themselves auto-merged. - DESIGN.md and docs/design-ledgers.md: not resolved by hand. Both are generated projections and the merge driver correctly refused to pick a side, so they were regenerated from the merged authorities. Audited the result rather than trusting the absence of conflict markers, since a clean textual merge of two appended rows can still be defective: roster and data declarations are in exact bijection with no duplicates, this branch's class appears exactly once, and the carrier's whole diff against origin/main is the one added row plus its one roster line -- so no sibling correction was reverted and proud-moth-614's retracted instrument_reenters_its_own_build_tool did not come back (0 occurrences across the carrier and both projections). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AsNTMSgjX8EPvGHVNo2sNC
Same three ledger surfaces, same shape: sibling lanes appending in parallel. main brought sealing_property_erases_structure; both hunks of the carrier conflict were resolved by keeping BOTH identities, main's first and this branch's after, in the declarations and in the roster. DESIGN.md and docs/design-ledgers.md were regenerated from the merged authorities rather than hand-resolved. THE DECLARATION HUNK NEEDED MORE THAN KEEPING BOTH SIDES, and the row that landed on main this cycle is the one that names why. Git's conflict region excluded the shared `evidence: [], }` tail, so taking both sides verbatim left sealing_property_erases_structure unterminated and silently donated its closing lines to the row after it -- merge_region_excludes_shared_tail, exactly. Caught by auditing the resulting declarations rather than by the absence of conflict markers, and repaired by restoring the tail to the first block. Audited after resolving: roster and data declarations in exact bijection, no duplicates on either side, the carrier's whole diff against origin/main is this branch's one row plus its one roster line, and the retracted instrument_reenters_its_own_build_tool remains at zero occurrences. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AsNTMSgjX8EPvGHVNo2sNC
…orrect the sighting's own severity claim An independent instance of that class, produced by this lane while integrating main on a later merge base: sealing_property_erases_structure was severed and accepted_source_emits_uncompilable_target received its donated `evidence: [],` and `}` tail. Found by auditing the resulting declarations, not by any marker. THE RECEIPT CORRECTS ITSELF, which is why it is worth appending. This lane first reported that the fused file still parsed and nothing went red. That was an inference from reading the text, never an execution. Compiling the reconstructed fused shape refuses at `expected expression, found Eq` — the same diagnostic the row already measured — so the row's corrected reading holds and the reading it corrects is what a second reporter independently reinvented before measuring. The generalizable part is recorded with it: the misreport is the DEFAULT, not a lapse. Every signal available without executing — both rows present, no markers, no red — agrees with "parses fine". Auditing for the fusion and executing to establish its cost are two separate steps, and doing only the first produces a confident wrong report about severity. The class is not re-filed and its recognition rule is untouched; it held. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AsNTMSgjX8EPvGHVNo2sNC
main brought restoration_promise_names_a_route_that_does_not_exist, authored in the ONE-LINE form merge_region_excludes_shared_tail prescribes as the repair. So this integration had no shared tail to exclude: both sides of the conflict region were complete units, and keeping both was the whole resolution. Audited anyway, and executed rather than inferred this time: roster and data declarations in exact bijection, no duplicates, and the resolved carrier COMPILES (0 blocking errors). That last step is the one the previous integration's report skipped, which is how a false severity claim reached my manager; running it is cheap and is now part of resolving this file. Projections regenerated from the merged authorities, not hand-resolved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AsNTMSgjX8EPvGHVNo2sNC
Only the generated ledger conflicted; the .dag authorities auto-merged. Resolved by regenerating from the merged authorities, never by hand. Post-merge diff against main is exactly this branch's three files: the added row, its roster line, and the two projections. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AsNTMSgjX8EPvGHVNo2sNC
main brought admitted_module_without_judged_standing as a multi-line block, so this is merge_region_excludes_shared_tail again: both sides of the conflict region were four-line half-blocks with the shared `evidence: [],` / `}` tail factored out below the markers, where it would have terminated only the second row. Resolved by keeping both identities AND restoring the tail to the first, which is the resolution that row prescribes for the multi-line form. Third instance of that class in this session, and the second on this branch. It fires on every multi-line append and did not fire on the one-line append two integrations ago. Verified by EXECUTION, not by reading: the resolved carrier compiles with 0 blocking errors. Roster auto-merged carrying both identities; declarations and roster are in exact bijection with no duplicates; the diff against main is this branch's three files. Projections regenerated from the merged authorities, not hand-resolved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AsNTMSgjX8EPvGHVNo2sNC
Roster only this time; main's two new rows auto-merged as declarations. Kept both incoming identities ahead of this branch's, source order preserved. Executed rather than read: resolved carrier compiles, 0 blocking errors. Roster and declarations bijective, no duplicates. Projections regenerated from the merged authorities. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AsNTMSgjX8EPvGHVNo2sNC
Contributor
Author
|
Closing: zero-delta duplicate. Head e6572ba is the same commit already squash-merged as #9909; the row is on main. The 'ahead' rendering is the stale merge base left by the squash, not an unlanded change. Verified by merge-tree that a merge here would preserve all three ledger rows (4/3/3, identical to main) — no data loss was at stake, but there is also nothing to land. |
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.
Auto-opened by session-dashboard for session
vivid-boar-481.Pushing to
session/vivid-boar-481advances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan