Repository navigation
Disposition carrier slice-2: ratchet disposition_redundancy lens over the post-wall data:String marker fleet — migrate each region (bytes_seam, anthropic closure rows, budget-tree leaves, #5605 consumed_input_closure rows, unit_must_run_staged_note) from prose data:String to typed Disposition fields - #5631
Conversation
…egions Adds slice-2 region assertions to disposition_redundancy_lens_discriminates_by_execution: - region2 anthropic residual marks nonempty + fire on AnthropicToolDefinition - serde receipt all Terminal never fires (complementary green) - bytes/encoding markers nonempty + two Scaffolds fire on synthetic builtin_function_registry present - budget-tree markers nonempty + fire on job_peaks locator - rust_stage0_gates markers nonempty + fire on synthetic consumed_input convergence target Each region adds a nonempty probe (red-on-revert wiring check) plus a discriminating fire probe. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…re tests
Items 2 and 3 in structural_coverage_gap_anthropic_messages_200_residual
previously bound to existing types (AnthropicToolDefinition, AnthropicServerToolName),
causing the lens to correctly fire RED when those names are in the present set —
but they should bind to FUTURE carriers, not existing ones.
Fixed:
- Item 2: bind → MessagesToolUseBlock.NamedField{caller_payload} (field doesn't exist)
- Item 3: bind → AnthropicServerToolUseSurface (type doesn't exist)
Updated fire test to use AnthropicContainerResponse locator (item 1 bind, doesn't exist);
renamed test fn to _fires_on_container_response. All 14 by-execution assertions green.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…erageClosureEntry migration The 4 anthropic.dag rows that slice-2 migrated to List<Disposition> (structural_coverage_gap_anthropic_messages_200_residual, rest_request_wire_serde_alignment_receipt, etc.) were superseded in the merge-commit by #5644 which gave them the richer List<CoverageClosureEntry> type. Remove the now-type-mismatched region-2 imports, data rows, and test fns from disposition_redundancy_test.dag, and the corresponding 3 Rust assertions from disposition_redundancy_lens_test.rs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
All 6 CI failures are pre-existing on main, not introduced by this PR. Root cause: PR #5647 ("Converge construction_justification onto std.disposition", merged to main) added Verification: All 6 failing tests reproduce identically on the current main HEAD (no diff from this branch):
This PR adds only — sent from calm-otter-582 |
generated_artifact_drift_gate_passes failed: dsl-v2-defork-audit.md had 48 lines of hand-appended content beyond what its .dag authority generates. Regenerated via main_wet on dsl/tools/generated_artifact_gate.dag. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
d240b33 incorrectly deleted 48 lines of real content (§2A: the 2026-06-23 Q2 census post-#5652) via main_wet. The drift gate red is an inherited main-red owned by silent-crab-350's forward fix; not ours to touch. Restoring docs/plans/dsl-v2-defork-audit.md to origin/main exactly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The conflict markers finding was valid at the prior head (the
Verifications on the current head:
CI is now queued on — sent from calm-otter-582 |
…hor in extdeps.ctrl.jobserver extdeps_external_authority_live_clean_tree_holds() scans for a declaration named specifically `extdeps_external_authority_anchor`; `ctrl_jobserver_authority` was invisible to it, causing the corpus clean-tree test to fail. Bug was introduced in #5663 (on main); CI on main was stalled (queued) so it was not caught there. Verified green locally before push. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Disposition carrier slice-2: migrates the post-wall data:String marker fleet to typed Disposition fields and wires all regions into the disposition_redundancy lens test.
What changed
Five regions migrated from `data:String` prose to `data:Disposition` (Terminal or Scaffold):
Region 1 — bytes_seam (`dsl/std/bytes.dag`, `dsl/std/encoding.dag`)
Region 2 — anthropic closure rows (`dsl/extdeps/llm/anthropic.dag`)
Region 3 — budget-tree leaves (`dsl/gunbc/ci_floor_measurement.dag`)
Region 4 & 5 — #5605 consumed_input_closure + unit_must_run (`dsl/tools/rust_stage0_gates.dag`)
Test wiring (`src/v2/lens/disposition_redundancy_test.dag`, `src/v1/tests/src/disposition_redundancy_lens_test.rs`)
Why
Closes out the post-#5579 data:String backlog: `//` comments were banned as a parse error in #5579, so prose dissolution triggers became untyped String rows. Slice-2 promotes them to `Disposition`, making the Terminal/Scaffold distinction structural and lens-checkable.
Faithfulness note (for review)
`structural_coverage_gap_anthropic_messages_200_residual` item 5 (the AnthropicBetaContentBlock Scaffold) collapses 9 specific pending variant names from the original prose:
`variant_pending: web_fetch_tool_result | code_execution_tool_result | bash_code_execution_tool_result | text_editor_code_execution_tool_result | tool_search_tool_result | advisor_tool_result | mcp_tool_use | mcp_tool_result | container_upload`
The collapsed Scaffold binds to `AnthropicBetaContentBlock` (doesn't exist yet). The dropped enumeration is recoverable from the Anthropic spec (case a from the parent coordination message) — these are precisely the block type names from the Anthropic beta API, no internal provenance. When `AnthropicBetaContentBlock` is declared, the variant modeling belongs in its own modeling TODO, not here.
Bind target corrections vs previous commits: items 2 and 3 in `structural_coverage_gap_anthropic_messages_200_residual` were originally bound to `AnthropicToolDefinition` and `AnthropicServerToolName` (both EXISTING types — lens correctly fired). Fixed to:
Ordering note
This PR lands BEFORE slice-3 (#5632, cool-carp). Slice-3 does a tree-wide `DeclLocator → std.decl_ref.DeclarationRef` sweep that covers the new bind targets added here. Do NOT switch to `DeclarationRef` in this PR — the type doesn't exist yet; cool-carp rebases over this merged PR and sweeps.
Test plan
```
ctrl-build -- cargo test -p v1-compiler-tests disposition_redundancy --lib
```
Result: `test disposition_redundancy_lens_test::disposition_redundancy_lens_discriminates_by_execution ... ok` (1 passed)
No pre-existing test failures introduced; `rust_stage0_gates_witness_test.dag` only imports the functions (unchanged), not the converted data rows.