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
5 changes: 1 addition & 4 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
**/*.dag linguist-language=Rust

# Stage0 .rs files are derived artifacts (regenerated from .dag source).
# Line-level merge is meaningless — the only correct resolution is regen.
# Accept either side on conflict, then run regenerate-stage0.sh.
src/v2/stage0/src/*.rs -merge
# Historical: v2 stage0 merge driver (retired with `src/v2/` deletion).
6 changes: 4 additions & 2 deletions .github/workflows/ci-spot-rerun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ permissions:

jobs:
rerun-once:
# Only retry real failures. `cancelled` is usually `concurrency.cancel-in-progress`:
# a newer run superseded this one — rerunning `--failed` duplicates work and can
# fight the active run (extra v3 jobs, Zig setup canceled again).
if: >
(github.event.workflow_run.conclusion == 'failure' ||
github.event.workflow_run.conclusion == 'cancelled') &&
github.event.workflow_run.conclusion == 'failure' &&
github.event.workflow_run.run_attempt < 2
runs-on: [self-hosted, linux, x64, gunbc-quick]
timeout-minutes: 5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
# Policy + bootstrap snapshot verify (T-V2 G-2-prereq-ci): shell policy checks
# plus `regen_bootstrap --verify` so stale `bootstrap_generated*.rs` cannot merge
# when only this job is green (#1543). Legacy CI previously built and ran the
# DAG-language compiler from `src/v2/` in this job; that release transport is
# DAG-language compiler from the retired legacy tree in this job; that release transport is
# removed to cut wall time. Full compiler + test surface stays in the `v3`
# job. Local reproduction of the old pipeline: `dsl/gunbc/tools/ci_runner.dag`
# `run_ci_pipeline`.
Expand Down
11 changes: 5 additions & 6 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,15 @@ Read these docs before working:
it should attach to. See the concept DAG layers in MODELING.md.
- `CODING.md` — Rust implementation style (Google C++-style, pure functions, data + free functions).
- `TESTING.md` — test discipline (hermetic, behavior-driven, unit-first; mocks over full-pipeline compile).
- `src/v2/DESIGN.md` — compiler design principles.
- `docs/v3-spec.md` — v3 language surface and architectural context.

## Key Commands

```bash
cargo test --workspace --exclude v2-compiler-tests # hand-written tests
cargo test -p v2-compiler-tests # v2 compiler tests
cargo clippy --all-targets -- -D warnings # lint
cargo fmt --all --check # format check (also runs via pre-push hook)
cargo test -p v2-compiler-tests v2_strict_compile_diagnostic_count -- --ignored # stage0 diagnostic ratchet (0 diagnostics)
cargo test --workspace # all workspace crates (hand-written + integration)
cargo test -p v3-compiler # v3 compiler (library + integration binary)
cargo clippy --all-targets -- -D warnings # lint
cargo fmt --all --check # format check (also runs via pre-push hook)
```

## One-time setup
Expand Down
Loading
Loading