Repository navigation
Finish ci_runner.dag as the one-binary CI floor + collapse ci.yml shim (LOAD-BEARING; design-sign-first; AWAIT full mandate message from zesty-swift-79 before acting) - #4960
Merged
Conversation
briansrls
added a commit
that referenced
this pull request
Jun 15, 2026
…loor CI dissolution (#4960, ci-runner-one-binary-floor) collapses ci.yml to one job running ci_runner.dag; the v4_lens_ci job this step lived in is going away. Per sunny-crab-863's coordination, drop the raw workflow step here and re-home the time-affine keystone into the gate-3 AffectedTestsGate battery (scripts/v4-affected-tests-gate.sh, after the probe-selector keystone) once #4960 lands. This PR now touches scripts/ + dsl/ only -- zero ci.yml collision regardless of merge order. The gate script + witnesses are kept; the one wiring line follows on rebase atop #4960. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
marked this pull request as ready for review
June 15, 2026 18:58
briansrls
added a commit
that referenced
this pull request
Jun 15, 2026
The M1.c witness is kernel-side and fixtures-only; the v4_lens_ci_perturb 20->30m timeout bump + budget-table edits do not belong here. ci.yml is being collapsed by #4960 (which deletes v4_lens_ci_perturb), so a timeout patch there collides with the dissolution. The underlying ~169s resolve cost of affected_set_ci_runner.dag is routed to sunny-crab-863 for the one-binary floor gate-3 budget. This PR now touches only the witness .dag. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
ci: reopen to re-trigger workflow (stays draft) |
…line)
Replace ~17 parallel jobs with a thin workflow: runner-isolation guard,
checkout/toolchain/cache, and a single gunbc run of run_ci_pipeline.
Gate membership and GHA log annotations remain in dsl/gunbc/{ci,ci_runner}.dag.
Co-authored-by: Cursor <cursoragent@cursor.com>
Apply zesty design feedback: gate-1 full-tree parse minus enumerated allowlist (2 v2-parser-debt files after folding todo_service + schedule_model), gate-3 AffectedTestsGate superset battery, gate-4 blocking DagParityGate; dissolve demote spine from ci.dag. Co-authored-by: Cursor <cursoragent@cursor.com>
gunbc run without --entry indexes all 232 dsl modules and fails on allowlisted v2-parser-debt files before any gate runs. CI shim now passes --entry dsl/gunbc/tools/ci_runner.dag; gate-1 still enforces full-tree parse via v2-dsl-full-tree-parse-gate.sh. Co-authored-by: Cursor <cursoragent@cursor.com>
Operator bankruptcy (msg_684c8383): floor is exactly dsl-compile-clean → fmt → affected-tests. No emit-determinism 4th gate, no reach-proof, no ci_floor freshness/emit preservation. Co-authored-by: Cursor <cursoragent@cursor.com>
Add scripts/ci-floor-witnesses.sh (gate-1/3/overall RED demos) as a post-pipeline step in the one-binary ci job so design-sign evidence runs by-execution in live CI, not local-only. Co-authored-by: Cursor <cursoragent@cursor.com>
Add scripts/ci-floor-witnesses.sh for gate-1/gate-3/overall +/- witnesses. Ratchet tests pin 3-gate topology (DslCompileClean, Fmt, AffectedTests). Co-authored-by: Cursor <cursoragent@cursor.com>
Witness script now supports the ci.yml RED-demo invocation; fixes CI failure from unknown mode after witness wiring. Co-authored-by: Cursor <cursoragent@cursor.com>
Include gate-3 perturb-check in the hermetic witness step so collapsed CI exercises gate-1, gate-3, and overall floor RED assertions. Co-authored-by: Cursor <cursoragent@cursor.com>
Login shells (sh -lc) reset PATH on self-hosted runners, causing all floor gate scripts to fail instantly. Also improve witness RED log lines (PLANTED/OBSERVED/DETECTED) for design-sign log review. Co-authored-by: Cursor <cursoragent@cursor.com>
gunbc shell.Exec buffers all subprocess stdout/stderr in memory. Gate-3 runs ~30+ minutes with heavy output; on arm64 CI this likely OOM-killed the step after ~23m with no useful log. Redirect to RUNNER_TEMP log and tail last 120 lines; print tail on gate failure. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
infra_isolation de-priv guard removed per operator. sccache server bring-up will be modeled fail-closed inside the floor binary (next commit); the shim keeps only CARGO_HOME/RUSTUP_HOME/CARGO_BUILD_JOBS isolation, which must precede the GHA Setup-Rust/Cache-Cargo steps. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nto vendor-agnostic CpuFacts
std/cpu owned a one-vendor SKU enum (AmpereCpuModel) and dispatched cpu_catalog_row
on it — std (a standard library) enumerating one vendor's parts is a purchase order,
not a concept. Path is the discriminator: vendor hardware is an external dependency.
- dsl/std/cpu/ampere.dag -> dsl/extdeps/cpu/ampere.dag (Altra rows as CpuModelCatalogRow
values carrying the new vendor field; imports the catalog SHAPE from std.cpu).
- std/cpu/types.dag: dissolve AmpereCpuModel + CpuIdentity; CpuModelCatalogRow gains
vendor: CpuVendor; CpuFacts now { catalog, deployment } (identity-by-part).
- std/cpu.dag: drop cpu_catalog_row SKU dispatch; cpu_vendor / cpu_facts_* project
straight off cpu.catalog.*. std/cpu is the general CPU concept only.
- integration.rs parser smoke + placement_supply doc-comment repointed.
scratch.txt items 3/4/5. gate-1 full-tree parse PASS.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…stances -> ctrl) The concrete srv1/srv2 DIMM populations are the operator's deployment, not a gunbc standard-library fact — re-homed to ctrl plans/models/fabric/operator_fleet.dag alongside the srv1/srv2/Hetzner ComputeOffers (item 6). No .dag consumed the file; only a Rust parser-smoke include_str + two doc-comments referenced it. std/memory keeps the DRAM taxonomy (types) + the SK Hynix catalog DISPATCH — note that SK Hynix vendor DATA in std/memory/sk_hynix.dag is the same misplacement smell as the now-moved cpu/ampere (scratch item 10), tracked separately. scratch.txt items 2 + 6 (gunbc leg). gate-1 full-tree parse PASS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
added a commit
that referenced
this pull request
Jun 15, 2026
…frozen) Revert ci.yml (queue:max, v4_lens_gate 45m), compute_fabric.dag, and check_ci_timeout_budgets.py to main. CI-infra belongs to CI-floor lane (#4960/#4997); not pushed until #4997 lands + clean window per zesty. Keeps: walkthrough, program.dag M1a header, program_runs corpus enrollment. Co-authored-by: Cursor <cursoragent@cursor.com>
…ot a std primitive) std/ is a standard library of universal primitives; the compute fabric is a supply/demand/placement MARKET — a domain/product model. It imports std/ only and sits as a product peer alongside the existing non-core trees (gunbc/, demos/, ctrl/), so this does NOT alter the INVARIANTS §P2 core DAG (std->extdeps->compiler->workflow). - dsl/std/compute_fabric.dag -> dsl/product/compute_fabric.dag; module std.compute_fabric -> product.compute_fabric. - Functional blast radius was one real import (probe_selector repro witness) + one Rust include_str parser-smoke; both repointed. All other references were comments, updated for coherence (skipped crisp-bear-37's in-flight corpus file + dated docs/planning notes). scratch.txt item 7. gate-1 full-tree parse PASS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ose CpuSocket string
Two modeling smells from the audit (scratch items 10, 11):
item 10 (mirror of the cpu/ampere dissolution): SK Hynix vendor catalog was baked
into std/, with std.memory dispatching on an owned-SKU enum.
- dsl/std/memory/sk_hynix.dag -> dsl/extdeps/memory/sk_hynix.dag (rows as
DramModuleCatalogRow values; vendor data is an external dependency).
- Dissolve DramModuleIdentity + SkHynixDdr4Module SKU enums and the
std.memory.dram_module_catalog_row dispatch. MemoryPopulationRow now carries
directly; std/memory imports no vendor catalog.
item 11 (stringly atom): socket: "LGA4926" decomposed into a grounded type.
- New std.cpu.types CpuSocket { package: SocketPackage, contact_count: Int };
SocketPackage = LandGridArray | PinGridArray | BallGridArray. LGA = Land Grid
Array, 4926 = land/contact count — the trailing number is now a grounded Int,
not an opaque token. Anchor cited (Wikipedia CPU socket).
- extdeps/cpu/ampere rows construct CpuSocket { package: LandGridArray, contact_count: 4926 }.
integration.rs parser-smoke repointed (sk_hynix). gate-1 full-tree parse PASS.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
added a commit
that referenced
this pull request
Jun 15, 2026
The M1.c witness is kernel-side and fixtures-only; the v4_lens_ci_perturb 20->30m timeout bump + budget-table edits do not belong here. ci.yml is being collapsed by #4960 (which deletes v4_lens_ci_perturb), so a timeout patch there collides with the dissolution. The underlying ~169s resolve cost of affected_set_ci_runner.dag is routed to sunny-crab-863 for the one-binary floor gate-3 budget. This PR now touches only the witness .dag. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…floor # Conflicts: # .github/workflows/ci.yml # dsl/product/compute_fabric.dag
…endor closed-enum-in-std) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…gn pass Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…verer gap) + item 14 (CI gates are bash scripts; same root cause) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
added a commit
that referenced
this pull request
Jun 15, 2026
The M1.c witness is kernel-side and fixtures-only; the v4_lens_ci_perturb 20->30m timeout bump + budget-table edits do not belong here. ci.yml is being collapsed by #4960 (which deletes v4_lens_ci_perturb), so a timeout patch there collides with the dissolution. The underlying ~169s resolve cost of affected_set_ci_runner.dag is routed to sunny-crab-863 for the one-binary floor gate-3 budget. This PR now touches only the witness .dag. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
added a commit
that referenced
this pull request
Jun 15, 2026
Stack modeled ci_base_build_graph pre-warm onto merged one-binary floor (#4960): runs after sccache_upsert_preflight, before gate fan-out. Re-homes gate-3 consumers (doc_refs, timeout_budgets, bootstrap ratchets), threads SourceRoot/allowlist authority, and fixes log annotation rendering. Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
added a commit
that referenced
this pull request
Jun 15, 2026
Drop carried CI-infra commits (sccache EAGAIN, perturb timeout, concurrency comment) that collided with #4960 ci.yml collapse; OCI enrollment only. Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Jun 15, 2026
briansrls
added a commit
that referenced
this pull request
Jun 15, 2026
#4960 ci.yml has only the `ci` job; remove infra_isolation from the timeout budget table so gate-3 check passes. Apply cargo fmt to ratchet test. Co-authored-by: Cursor <cursoragent@cursor.com>
2 of 3 tasks
Closed
6 tasks
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Jun 25, 2026
…abric.dag, dsl/std/cpu/types.dag) These files do not exist in origin/main (compute_fabric moved to dsl/product/ in #4960; cpu/types.dag later dissolved). They were swept into this branch by a previous auto-commit that captured unmerged index state. Removing them keeps the PR diff scoped to wiring-liveness changes only. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ci_runner.dagemits modeled GHALogAnnotations (AnnotationGroup/EndGroup,AnnotationNoticeon pass,AnnotationErroron fail) viaextdeps/github/log_annotations.dag— no rawecho [PASS]/[FAIL].dsl-compile-clean(full-tree v2 parse minus enumerated allowlist),fmt,affected-tests(AffectedTestsGate fail-safe superset battery),ci-floor-parity(DagParityGate). Demote spine dissolved fromci.dag; former demoted jobs run inside gate-3..github/workflows/ci.yml→infra_isolation+ singlecijob runninggunbc run --source-root dsl --function run_ci_pipeline.Gate-1 allowlist (by-execution, post file-level folds)
231 dsl files; 2 v2-parser-debt entries remain after folding:
todo_service.dag:let→data(file-level)schedule_model.dag:if/then/else→match(file-level)Grandfathered (
dsl/gunbc/parse_allowlist.dag):dsl/gunbc/ci_emission.dag— record-literal Workflow bodydsl/std/unicode.dag— fn expression body (= match)Transport:
scripts/v2-dsl-full-tree-parse-gate.sh(shrink-only ratchet).Notes
scripts/v4-affected-tests-gate.sh) until diff-scoped dispatch lands in the one-binary runner.ci(+infra_isolation).Test plan
cargo test -p ci_workflow_ratchet(17/18;workflow_no_path_regex_policy_ci_ymlneeds git repo cwd)bash scripts/v2-dsl-full-tree-parse-gate.sh→ PASS (2 allowlisted files)gunbc run … run_ci_pipelineemits::group::/::notice::/::error::wire lines