Skip to content

FOLD into 5-regen-verify (one class-kill, not a sibling): floor-gate src/v1/*.dag PARSE via shape-(b) — a non-#[ignore] parse-only witness over every src/v1/*.dag (cheap half of full_dsl_compiles, no heavy dsl/ compile). Closes 'src/v1 §7 authority gated only OUTSIDE the floor': src/v1 not in witnes - #5666

Merged
briansrls merged 12 commits into
mainfrom
session/quick-carp-124
Jun 24, 2026

Conversation

@briansrls

@briansrls briansrls commented Jun 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Closes the gap: `src/v1/*.dag` files had no floor-level parse gate — the only existing gate (`full_dsl_compiles` in `src/v1/tests/src/pipeline.rs`) is `#[ignore]`-marked and never runs in CI. This lift is the cheap parse-only half of `full_dsl_compiles` ("shape-(b)"), folded into 5-regen-verify.

Files changed:

  • `src/v1/stage0/src/bin/v1_src_dag_parse.rs` — new binary: `read_dir("src/v1")` walk (roster derived from the tree, not hardcoded), tokenize+parse each `.dag` via v1's own `v1_compiler_tokenize::tokenize` + `v1_compiler_parse::parse` (NOT serde_yaml), exit 0 on all-clean / exit 1 on parse error with typed diagnostic. Files are parsed in parallel threads (each gets its own `RcHashMap::new()` — no shared state; thread panics propagate via `std::thread::scope` — fail-closed). Includes `const SCAFFOLD_NOTE` (named dissolution trigger per §6 — not a comment).
  • `src/v1/stage0/Cargo.toml` — `[[bin]] name = "v1_src_dag_parse"` entry (also marked SCAFFOLD in the TOML description).
  • `dsl/tools/host_prelude.dag` — `ensure_v1_src_dag_parse_built()` alongside `ensure_gunbc_built()`.
  • `dsl/tools/v1_dag_parse_transport.dag` — mirrors the existing `*_transport.dag` family (`dsl_compile_clean_transport.dag` pattern): `ShellProgram` built via `ensure_v1_src_dag_parse_built()` + `serialize_bash`, `run_v1_dag_parse() -> Bool` calls `shell.Exec.Run(script: serialize_bash(p: ...))`. NOT a new raw inline-bash fork.
  • `dsl/test/claim/v1_dag_parse_witness_test.dag` — `test fn v1_dag_parse_witnesses()` auto-enrolled via `witness_discovery_scan_dirs = ["dsl/test/claim"]`; non-Rust, non-`#[ignore]`; runs CI floor batch-2 via `corpus_runnable()` (RunnableDiscoveryBatch).

Receipts (by-execution §5)

Follow-up noted (out of scope here)

The v1 seed parser has super-linear parse cost on some file contents: `05_emit_rust.dag` (479KB) = 98s single-threaded vs `04_infer.dag` (307KB) = 20s — not size-linear. Separate §1 seed-parser-perf finding; tracked for future attention, not this PR's scope.

@briansrls
briansrls marked this pull request as ready for review June 23, 2026 23:12
@briansrls
briansrls merged commit 1143209 into main Jun 24, 2026
3 of 4 checks passed
@briansrls
briansrls deleted the session/quick-carp-124 branch June 24, 2026 03:18
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.

1 participant