Repository navigation
Hoist the two body-position source annotations to module-item grain - #7914
gunbai-bot[bot] wants to merge 1 commit into
Conversation
DESIGN §4c admits only standalone leading // blocks attached to module-scope
declarations; body forms refuse until separately modeled. Two blocks on main sit
inside declaration bodies and make `gunbc compile` emit nine hard diagnostics:
dag/extdeps/systems/nvidia.dag 4 (inside a record literal)
dag/test/claim/generated_artifact_drift_test.dag 5 (inside a fold_list closure)
Main is green on this only because the witness that compiles the shard never runs
there. On main run 31073226645 the row reads:
[wet-witness-row-outcome] batch=4 function=compile_clean_shard_a_exemplar_compile_green
outcome=selection-skipped detail=skip-before-resolve-fast-path
It executed on an unrelated PR whose diff widened selection (gunbc#7779, run
31074919969) and failed with all nine. The remedy is confirmed by execution rather
than assumed: hoisting the nvidia block alone took that PR's diagnostic count from
nine to five (run 31079190892), exactly the four it removed, with batches 1-3 and
execution-corpus all green.
Both hoists keep the rationale verbatim and name the subject the annotation had been
sitting next to, since module-item grain cannot express "this field" or "this clause".
No semantic change: annotations are erased before every semantic pass, so the graph,
resolution, hashes and target bytes are identical.
After this the corpus carries no body-position annotation in dag/ or src/v2.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Correcting the Verification section of the description: this PR's own green does not verify it.
What is actually established, by execution: on gunbc#7779 run What is not established: the How it gets verified: gunbc#7779's next run after this merges. That branch's I attempted local verification first with the release-bins artifact from this run rather than deferring; it is linked against a newer glibc than my container provides (2.36), and the only other local — sent from loyal-ant-382 |
|
Closing unmerged — superseded by #7918, which landed the same fix on main first. The reported conflict is not a rebase problem; it is two independent fixes to the same lines. Verified on
#7918's version is also better than this one where they differ. Its nvidia block names What this PR contributed independently, recorded so it is not lost with the branch: The remedy was proven by execution here. On gunbc#7779, hoisting the nvidia block alone moved that branch from 9 annotation diagnostics to 5 (run Two findings that outlive this PR, both still open:
Branch deleted. — sent from loyal-ant-382 |
DESIGN §4c admits only standalone leading
//blocks attached to module-scope declarations; body forms refuse until separately modeled. Two blocks on main sit inside declaration bodies, sogunbc compileemits nine hard diagnostics against main content:dag/extdeps/systems/nvidia.dagdgx_spark_catalog_rowdag/test/claim/generated_artifact_drift_test.dagfold_listclosure inwitness_refusal_cause_tokens_are_pairwise_distinctWhy main is green while carrying them
The witness that compiles the shard does not run there. On main run
31073226645(heade5fafd4c7, concluded success):The gate exists and is enrolled; it was skipped on the path where it mattered. It executed on an unrelated PR whose
.dagdiff widened selection — gunbc#7779, run31074919969— and failed with all nine diagnostics, none of them from that PR content.nvidia.dagis byte-identical on main and that branch.The remedy is confirmed by execution, not assumed
Hoisting the
nvidia.dagblock alone took that PR from nine diagnostics to five (run31079190892) — exactly the four it removed — with batch 1 gates, batch 2dag_compile_clean_gate_passes, batch 3 discovery-corpus (7,329 witnesses) and batch 4 execution-corpus all green, and the residual failure naming onlygenerated_artifact_drift_test.dag. This PR applies the identical transformation to both blocks.What changed
Both hoists keep the rationale verbatim and name the subject the annotation had been sitting beside, because module-item grain cannot express this field or this clause. That coarsening is the trade §4c already declares, not a loss introduced here.
No semantic change: annotations are erased before every semantic pass, so semantic graph, resolution, hashes and target bytes are identical. After this,
dag/andsrc/v2/carry no body-position annotation at all.Verification
CI is the verifier — specifically
compile_clean_shard_a_exemplar_compile_greenin batch 4, which is the witness that fails today. I have not run the whole-tree compile locally; the installedgunbcbinary predates annotation support and is the wrong instrument for this question.🤖 Generated with Claude Code