Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions dag/gunbc/ci_layer_roots.dag
Original file line number Diff line number Diff line change
Expand Up @@ -114,16 +114,14 @@ data accumulator_copy_roster_gate_exclusion_note: String = "The three accumulato

data lever_a_local_receipt_witness_exclusion_note: String = "dag/test/claim/lever_a_local_receipt_witness_test.dag is operator-ruled OFFLINE (2026-07-11: witness_touched_path_dispositions_hold cold-scans compile_clean_shard_entry_paths via module_declaration_facts once per scoped disposition row — O(rows) full dag entry-tree walks, 85m+ CI timeout / OOM when selection runs it after lens_verdict on cli_run.dag PRs; run via scripts/lever_a_local_verify.sh). Excluded from discovery for the same structural reason as accumulator_copy_roster_gate: the scoped rows read the shard roster at runtime — invisible to import-closure attribution — so skip-before-resolve cannot honestly bound cost. Dissolve-on: single-roster memo in tools.dag_compile_clean_scope lands AND live-read classification walks import closure for module_declaration_facts consumers; then re-enroll through the floor owner's lane."

data whole_tree_strict_resolve_scaffold_exclusion_note: String = "The per-file rows below (extdeps/spice_rc_passive_deck_claims_test.dag onward) are the strict-resolve-broken set, baked as single authority per operator ruling 2026-07-13 ('just make it single authority') — previously re-derived per probe run as --exclude-subpath args (M0/M1a receipts, docs/plans/v1-run-stability-throughline.md), a parallel representation this bake dissolves. Audited file-by-file 2026-07-13 (24 files, 5-group sweep with per-file execution receipts): 7 genuinely dead scaffolds were DELETED with their rows (the four Wave-A rung evals, the A.1.5a inprocess_equivalence one-shot, manual_corpus_eval, lens/idempotency/subject_roster — none witness-enrolled, zero importers, absent from the 1,776-witness cold corpus run); every row remaining guards a LIVE file — floor-discovered witnesses or their roster/receipt/lens dependencies, proven green by execution (the lens/testgen/ trio's four test-data witnesses PASS in the cold corpus run, overturning an initial dead-scaffold read). Their strict-resolve reds are universe-relative artifacts, NOT tree rot: each imports modules that EXIST in-tree (v2.test.manual.eval_runtime, v2.test.manual.connective_anchors, test fixtures) but sit behind this list's own blanket '/test/' and 'test/fixture/' rows, so the probe universe drops the import target while keeping the importer. Consumers are probe/instrument/census class only (measure_whole_tree_resolve, capture_func_env_semantic_oracle, wiring_liveness_whole_tree, measure_dependency_view_build, fn_arrow_decl_substrate census) — no witness-discovery or CI-gate coverage narrows. Dissolve each row on: its file relocates under a /test/ path (leaving the probe universe together with its import targets) or the blanket /test/ exclusion policy changes so its resolve repairs; a row that excludes nothing is dead weight, delete it."
data whole_tree_strict_resolve_scaffold_exclusion_note: String = "The per-file rows below (everything after the three blanket prefixes and the two lens/application rows) are the strict-resolve-broken set, baked as single authority per operator ruling 2026-07-13 ('just make it single authority') — previously re-derived per probe run as --exclude-subpath args (M0/M1a receipts, docs/plans/v1-run-stability-throughline.md), a parallel representation this bake dissolves. Audited file-by-file 2026-07-13 (24 files, 5-group sweep with per-file execution receipts): 7 genuinely dead scaffolds were DELETED with their rows (the four Wave-A rung evals, the A.1.5a inprocess_equivalence one-shot, manual_corpus_eval, lens/idempotency/subject_roster — none witness-enrolled, zero importers, absent from the 1,776-witness cold corpus run); every row remaining guards a LIVE file — floor-discovered witnesses or their roster/receipt/lens dependencies, proven green by execution (the lens/testgen/ trio's four test-data witnesses PASS in the cold corpus run, overturning an initial dead-scaffold read). Their strict-resolve reds are universe-relative artifacts, NOT tree rot: each imports modules that EXIST in-tree (v2.test.manual.eval_runtime, v2.test.manual.connective_anchors, test fixtures) but sit behind this list's own blanket '/test/' and 'test/fixture/' rows, so the probe universe drops the import target while keeping the importer. Consumers are probe/instrument/census class only (measure_whole_tree_resolve, capture_func_env_semantic_oracle, wiring_liveness_whole_tree, measure_dependency_view_build, fn_arrow_decl_substrate census) — no witness-discovery or CI-gate coverage narrows. Dissolve each row on: its file relocates under a /test/ path (leaving the probe universe together with its import targets) or the blanket /test/ exclusion policy changes so its resolve repairs; a row that excludes nothing is dead weight, delete it. First relocation receipt (2026-07-14): the spice pair (spice_rc_passive_deck_claims_test, spice_rc_ngspice_oracle_test) re-homed to src/v2/test/claim/extdeps/ — they leave the probe universe with their fixtures, stay witness-discovered, and their two rows deleted per this trigger."

data whole_tree_strict_resolve_exclusion_substrings: List<String> = [
"test/fixture/",
"/test/",
"nat_semiring_rung",
"lens/application/empty_required_lenses_skip_gate.dag",
"lens/application/rejecting_lens_blocks_before_compile.dag",
"extdeps/spice_rc_passive_deck_claims_test.dag",
"extdeps/formats/spice_rc_ngspice_oracle_test.dag",
"lens/idempotency/write_effect.dag",
"lens/parallelism/data_dependency.dag",
"lens/testgen.dag",
Expand Down
2 changes: 1 addition & 1 deletion dag/gunbc/plans/shell_emission_model.dag
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import gunbc.plans.md_helpers { h2, h3, p, li, ul, ol, cell, row }

fn shell_emission_model_body() -> List<MarkdownBlock> {
[
BlockquoteBlock { blocks: [p(text: "Operator-signed design (multi-agent audit, verified against live tree). Shell emission lane: medium-agnostic orchestration intent → `emit(intent, Bash)` via the existing `05_emit_orchestration` dispatcher — **not** a new `ShellProgram` AST. DESIGN refs: §2 (intent vs transport vs spelling), §3 (single authority; `program.dag` rostered for dissolution), §4 (`emit = serialize_target ∘ translate` — endgame Q3), §5 (emit-only faithfulness; green by execution vs frozen bytes), §6 (purity-trap fence: no construct without a named live site). Complements [regime-2 shared emission fold](regime2-shared-emission-fold.md) (`std.layout.Doc` = **layout only**, never shell content) and [format-model-reconciliation](format-model-reconciliation.md) (record spelling). Parent arc: [emission-ingestion-inverse.md](emission-ingestion-inverse.md) gap (B).")] },
BlockquoteBlock { blocks: [p(text: "Operator-signed design (multi-agent audit, verified against live tree). Shell emission lane: medium-agnostic orchestration intent → `emit(intent, Bash)` via the existing `05_emit_orchestration` dispatcher — **not** a new `ShellProgram` AST. DESIGN refs: §2 (intent vs transport vs spelling), §3 (single authority; `program.dag` rostered for dissolution), §4 (`emit = serialize_target ∘ translate` — endgame Q3), §5 (emit-only faithfulness; green by execution vs frozen bytes), §6 (purity-trap fence: no construct without a named live site). Complements [regime-2 shared emission fold](regime2-shared-emission-fold.md) (`std.layout.Doc` = **layout only**, never shell content) and [format-model-reconciliation](format-model-reconciliation.md) (record spelling). Parent arc: [emission-ingestion-inverse.md](emission-ingestion-inverse.md) gap (B). Residual census + arc-completion scoping: [shell-to-dag-residual-census-and-arc-completion.md](shell-to-dag-residual-census-and-arc-completion.md) (witty-ibex-317, #6514).")] },
p(text: "**Status:** planning tracker · **`.dag` carrier is authority** (§6). Linked from `ROADMAP.md` §6. **This PR is docs/authority only** — no emitter/serializer code."),
h2(text: "1. The finding (reframes the frontier)"),
p(text: "Shell is emitted as **raw strings** everywhere — even `host_effect.dag` carries `ShellCommand\{script: String\}`. But the arc is **~20% built**, not greenfield:"),
Expand Down
2 changes: 1 addition & 1 deletion docs/plans/shell-emission-model.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Shell emission model — orchestration intent to bash via emit(intent, Bash)

> Operator-signed design (multi-agent audit, verified against live tree). Shell emission lane: medium-agnostic orchestration intent → `emit(intent, Bash)` via the existing `05_emit_orchestration` dispatcher — **not** a new `ShellProgram` AST. DESIGN refs: §2 (intent vs transport vs spelling), §3 (single authority; `program.dag` rostered for dissolution), §4 (`emit = serialize_target ∘ translate` — endgame Q3), §5 (emit-only faithfulness; green by execution vs frozen bytes), §6 (purity-trap fence: no construct without a named live site). Complements [regime-2 shared emission fold](regime2-shared-emission-fold.md) (`std.layout.Doc` = **layout only**, never shell content) and [format-model-reconciliation](format-model-reconciliation.md) (record spelling). Parent arc: [emission-ingestion-inverse.md](emission-ingestion-inverse.md) gap (B).
> Operator-signed design (multi-agent audit, verified against live tree). Shell emission lane: medium-agnostic orchestration intent → `emit(intent, Bash)` via the existing `05_emit_orchestration` dispatcher — **not** a new `ShellProgram` AST. DESIGN refs: §2 (intent vs transport vs spelling), §3 (single authority; `program.dag` rostered for dissolution), §4 (`emit = serialize_target ∘ translate` — endgame Q3), §5 (emit-only faithfulness; green by execution vs frozen bytes), §6 (purity-trap fence: no construct without a named live site). Complements [regime-2 shared emission fold](regime2-shared-emission-fold.md) (`std.layout.Doc` = **layout only**, never shell content) and [format-model-reconciliation](format-model-reconciliation.md) (record spelling). Parent arc: [emission-ingestion-inverse.md](emission-ingestion-inverse.md) gap (B). Residual census + arc-completion scoping: [shell-to-dag-residual-census-and-arc-completion.md](shell-to-dag-residual-census-and-arc-completion.md) (witty-ibex-317, #6514).

**Status:** planning tracker · **`.dag` carrier is authority** (§6). Linked from `ROADMAP.md` §6. **This PR is docs/authority only** — no emitter/serializer code.

Expand Down
6 changes: 3 additions & 3 deletions src/v2/workflow/claim_witness_corpus_ci_runner.dag
Original file line number Diff line number Diff line change
Expand Up @@ -499,21 +499,21 @@ data corpus_ci_gate_row_spice_resistor_passive_topology: ClaimWitnessCorpusClaim

data corpus_ci_gate_row_spice_rc_ngspice_op: ClaimWitnessCorpusClaimRunRow = ClaimWitnessCorpusClaimRunRow {
label: "SP-M1 spice RC tran ngspice emit matches golden",
entry: "src/v2/extdeps/formats/spice_rc_ngspice_oracle_test.dag",
entry: "src/v2/test/claim/extdeps/spice_rc_ngspice_oracle_test.dag",
function: "spice_rc_ngspice_op_holds",
expected: ExpectPass
}

data corpus_ci_gate_row_spice_rc_ngspice_nonempty: ClaimWitnessCorpusClaimRunRow = ClaimWitnessCorpusClaimRunRow {
label: "SP-M1 spice RC tran ngspice emit nonempty",
entry: "src/v2/extdeps/formats/spice_rc_ngspice_oracle_test.dag",
entry: "src/v2/test/claim/extdeps/spice_rc_ngspice_oracle_test.dag",
function: "spice_rc_tran_emit_ngspice_nonempty_holds",
expected: ExpectPass
}

data corpus_ci_gate_row_spice_rc_passive_deck_authority: ClaimWitnessCorpusClaimRunRow = ClaimWitnessCorpusClaimRunRow {
label: "spice RC passive deck fixture authority (vin-R1-mid-C1-ground + .op)",
entry: "src/v2/extdeps/spice_rc_passive_deck_claims.dag",
entry: "src/v2/test/claim/extdeps/spice_rc_passive_deck_claims_test.dag",
function: "spice_rc_passive_deck_authority_holds",
expected: ExpectPass
}
Expand Down
Loading