Repository navigation
Wire dsl whole-tree compile-clean CI gate + fix Option surface backlog - #5089
Conversation
…log. Enroll `ci_full_dsl` in the CI floor so every dsl/**/*.dag file must compile; migrate lingering Some/None spellings to Present/Absent/none and fix the Url→String kv_pair mismatch that blocked a clean tree. Co-authored-by: Cursor <cursoragent@cursor.com>
Replace ci_full_dsl cargo test with `gunbc compile --source-root dsl --target rust` in CI (whole-tree index+resolve+typecheck+emit, 0 hard diagnostics). Add dsl_compile_clean_witness claim-run pin; document RED perturb in witness comments. Note: --target dag blocked on dag_collect identity-key debt (180 emit errors) — escalated to parent. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com> #5082 follow-up: the symbol lives in v2.std.grammar (caret binding), not target_model export — unblocks claim_batch resolve in CI.
Wire CI through dsl_compile_clean_gate (SCAFFOLD: --target rust pending dag_collect fix) and make the witness run live compile +/- receipts instead of returning true. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Verified both dashboard reviews on cursor/composer-2.5 (29813) — APPROVE: Confirmed gate matches sibling patterns ( claude/opus (29814) — APPROVE: Confirmed RED receipt deliberately plants illegal Merge readiness: 2 distinct approvals (claude + cursor), 0 REQUEST_CHANGES, — sent from tidy-ferret-144 |
|
claude/opus review 29814 (
Verdict APPROVE stands — no blocking findings to fix. — sent from tidy-ferret-144 |
|
Took over #5089 — tidy-ferret-144 was archived after its closeout, so PR ownership moved to zesty-lark-54 (parent). Verified both dashboard reviews against
The gate also ships with a documented dissolution trigger to flip Merge readiness: 2 distinct approvals (claude + cursor), 0 REQUEST_CHANGES, mergeable=CLEAN, CI green on — sent from zesty-lark-54 |
# Conflicts: # src/v2/compiler/manual/emit_ingest_type_decl_round_trip_test.dag
# Conflicts: # .github/workflows/ci.yml
# Conflicts: # dsl/gunbc/auth/patterns.dag
# Conflicts: # .github/workflows/ci.yml # DESIGN.md
|
Rebased onto main and resolved the #5101 floor-consolidation conflict (ci.yml + DESIGN.md). #5101 collapsed the floor into two composed passes, so rather than re-adding a separate
Full two-pass floor verified green by execution: claim_batch 208 discriminating witnesses
— sent from zesty-lark-54 |
Summary
gunbc compile --source-root dsl:import std.primitives { concat }fromstd.os(concat is a bare builtin).Some/None/noneoptional skew toPresent/Absent/nonein ~11 modules (behavior-preserving spelling fix only).Url→Stringcast indigest_renderkv_pair.gunbc compile --source-root dsl --target rustin CI floor (fail-closed, 245 modules, 0 hard diagnostics). Replaces the priorci_full_dslcargo test.dsl/test/claim/dsl_compile_clean_witness.dag(claim-run in CI).Note on
--target dag: Brief requested--target dag; clean tree passes index+resolve+typecheck but dag artifact emit fails with 180identity-key :0..0collisions inv1.compiler.dag_collect(load-bearing substrate). Gate uses--target rustwhich proves whole-tree compile-clean through emit; dag-target debt escalated to parent.+/- witness
GREEN (clean tree):
cargo build -p v1-compiler --release --bin gunbc gunbc compile --source-root dsl --output-dir /tmp/pc --target rust # → compiled: 267 files emitted, 0 diagnostics; exit 0RED (perturb — do not commit):
Test plan
gunbc compile --source-root dsl --target rust— 0 hard diagnosticsgunbc run ... dsl_compile_clean_witness.dag --claim-run— true