Skip to content

XL-0 - #9894

Closed
gunbai-bot[bot] wants to merge 7 commits into
mainfrom
session/bold-carp-449
Closed

XL-0#9894
gunbai-bot[bot] wants to merge 7 commits into
mainfrom
session/bold-carp-449

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session bold-carp-449.
Pushing to session/bold-carp-449 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.

gunbc-ci-auto-heal and others added 7 commits August 31, 2026 23:30
…key use-line derivation on the resolved kernel identity

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GXfYKNQTD3VfYyQcnJpxNU
…ion_equal=true)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GXfYKNQTD3VfYyQcnJpxNU
…llows-resolution witness

The infer-side rewire guard and the emit-side use-line decision were each
re-deriving "is this resolved node the kernel identity for this name" from the
ident_span file marker. That is one semantic fact with two readers, which is the
shape of the defect they exist to repair. Hoist it to
v1.compiler.infer_env resolved_node_is_kernel_identity_for_name and have both
consume it; the emitter's additional structureless-scalar condition composes
beside it rather than folding into it.

Enrol emit_import_lines_follow_resolved_binding_identity as the discriminating
RED with two positive controls (a non-kernel import keeps its use-line; a
kernel-SPELLED name whose kernel binding is structural keeps its use-line).
Declare the rung drop recording that it executes in rust-unit-tests, outside the
required aggregate, with the restoration trigger named at capability grain.

Note: compiler_tests.rs is regenerated after the origin/main merge in the
following commit; the authority here is the .dag.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDnHQs9oE5AKJXe1vReU8v
Resolves six unmerged paths from the squash-merge of #9850.

Two were genuine .dag authority conflicts, resolved toward this branch's
newer content. One mattered beyond recency: main's side of 05_emit_rust.dag
still carried string_contains(sp.file, "<kernel:"), the substring test that
this branch replaces with exact equality against the resolved kernel identity.
Taking either side wholesale would have silently reinstated the weaker
second authority.

Four were generated paths where the merge driver refused: no conflict
markers, ours-side bytes in the worktree, main's newer generated content
dropped. A marker grep reads that tree as clean; git ls-files -u does not.
The build then failed on LiteralUnfolding::UnicodeScalarSequenceUnfold not
covered -- main's own #9720 content missing from exactly those four files --
so the mirror was internally inconsistent in a way only a compile revealed.
Bootstrapped to main's consistent mirror to obtain a buildable seed; the
bytes here are regenerated from the merged authority, which is the
resolution that is neither side.

#9865 added a required `standing` field to RungDrop after this branch
authored its row. The text merge combined both sides with no conflict and
the typecheck refused with an exact location, which is the fail-closed
property working as intended.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDnHQs9oE5AKJXe1vReU8v
…erified)

Round 2 after installing the round-1 candidate and rebuilding from the
installed seed: first_generation_equal=true, and
--required-regen-fixed-point reports fixed_point_equal=true
referenced_first_generation_equal=true at 20e5f08.

The rebuild matters: the first pass runs a binary that predates the change
it emits, so a single pass can self-verify at divergence 0 for the wrong
reason.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDnHQs9oE5AKJXe1vReU8v
#9867 and this branch each added a witness to compiler_tests_rust.dag. The
.dag authority merged cleanly and carries both; only the two generated
projections conflicted, and the driver refused them with no conflict markers
and ours-side bytes in the worktree.

Regenerated from the merged authority rather than picking a side. The
candidate carries both ct_import_lines_follow_resolved_binding_identity_test
and ct_shell_service_output_projection_known_hole_probe_test -- taking either
side would have dropped the other silently.

Two rounds were needed because v1_compiler_compiler_tests_rust.rs is the
emitter and compiler_tests.rs is what it emits, so each install reveals the
next layer on rebuild. first_generation_equal=true at round 3.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDnHQs9oE5AKJXe1vReU8v
Third mirror-touching merge this cycle. The .dag authorities merged cleanly;
the three generated projections were refused by the driver with no conflict
markers, and were resolved by regenerating from the merged authority rather
than by taking a side.

Verified intact after the merge: the consolidated kernel-identity predicate
in both consumers, the emitted mirror carrying the renamed emit-side
predicate, both this branch's witness and #9867's shell-service probe, and
the rung-drop row.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDnHQs9oE5AKJXe1vReU8v
@gunbai-bot

gunbai-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Closing as a verified no-op. #9862 landed this branch's content at c826a524b36 (merged 05:33:34), and everything this PR would contribute is already on main — confirmed by symbol, not by PR state: resolved_node_is_kernel_identity_for_name in 04_env.dag/04_infer.dag/05_emit_rust.dag, the ct_import_lines_follow_resolved_binding_identity_test witness in compiler_tests_rust.dag, and the emitted_bytes_witness_required_lane row in rung_drop.dag.

git merge-tree --write-tree origin/main HEAD against main produces an empty diff. That empty result is a measurement rather than a silence: a control commit adding one plain file through the same instrument yields a non-empty diff. (Two earlier control attempts were invalid and are worth recording — merging main's own ancestor is a no-op by definition, and editing DESIGN.md is useless here because it is a generated projection whose merge driver refuses it, so the control is eaten by the mechanism under test.)

The remaining commits on the branch are a merge of origin/main plus a stage0 regen, both of which main already has.

— sent from bold-carp-449

@gunbai-bot gunbai-bot Bot closed this Sep 1, 2026
@gunbai-bot
gunbai-bot Bot deleted the session/bold-carp-449 branch September 3, 2026 12:23
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.

0 participants