Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
361ec24
Unbreak main: drop the JsSite artifact rows whose authority #9641 del…
Aug 29, 2026
41392e9
The lib's own unit tests build one more TypeEnv by hand; give it unit…
Aug 29, 2026
4b92b11
Required CI is the compiler floor: a static gate roster, prepared as …
Aug 29, 2026
ee689cf
merge main
Aug 29, 2026
da73726
merge main (#9648 cli_run decomposition): re-apply the gate edits ont…
Aug 29, 2026
63adee5
Drop the six duplicate unit_variant_index initializers the merge with…
Aug 29, 2026
a5a58bf
Drop the six duplicate unit_variant_index initializers the merge with…
Aug 29, 2026
5131a8d
Regenerate .gitattributes: the six js_site rows projected from the de…
Aug 29, 2026
012769b
Regenerate the four projections of this change: witnesses.yml (probe …
Aug 29, 2026
94239df
Restore the lib-test TypeEnv initializer's unit_variant_index (lost w…
Aug 29, 2026
d77a3f7
The gate closure is the loader's both-closure (imports + reference ed…
Aug 29, 2026
6b9b6d5
Shrink the namespace transition roster: the 314 std->extdeps consolid…
Aug 29, 2026
967a78e
merge the unbreak-main branch (stale namespace admissions shrink)
Aug 29, 2026
bf08caa
Build the entry index once for both gate closures (it is the expensiv…
Aug 29, 2026
6492430
Gate closure includes containment ancestors to a fixpoint: a module i…
Aug 29, 2026
066725c
The floor's policy module is always a closure seed: its rosters are e…
Aug 29, 2026
2d5502a
The reference-closure index is keyed by the prepared subject's digest…
Aug 29, 2026
beb802f
The floor's own runtime authorities are explicit closure seeds: the g…
Aug 29, 2026
006b0ef
A by-name evaluation of a module's declaration runs in THAT module's …
Aug 29, 2026
c7e15fe
The floor's rosters are joined only over identities inside the requir…
Aug 29, 2026
e8effe8
The gate closure follows bare cross-module references from EVERY modu…
Aug 29, 2026
1f4bda9
Cost-debt rows outside the required gate are withheld from the stalen…
Aug 29, 2026
92cc92e
Two lens_module_gate_witness rows leave the expected-red roster: unde…
Aug 29, 2026
0829ad8
Eleven claims interrupted before verdict on the gate-bounded subject …
Aug 29, 2026
154fb1f
lens_module_gate_holds_live joins cost-debt chunk 12: it was interrup…
Aug 29, 2026
8ad4091
The pool-root module_path_index for src/v2/lens is warmed in preparat…
Aug 29, 2026
f462bc9
lens_closure_question_zero_holds_live leaves the expected-red roster:…
Aug 29, 2026
4c2beb5
The four bootstrap_footprint_anchor claims join cost-debt chunk 12: 4…
Aug 29, 2026
dc3ca52
The rust-unit-tests job runs the unit population: the lib tests that …
Aug 29, 2026
4d70073
The host-tool probe root carries the process id: temp_dir() is the ho…
Aug 29, 2026
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
6 changes: 0 additions & 6 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,6 @@
.gitignore merge=generated-artifact
DESIGN.md merge=generated-artifact
ROADMAP.md merge=generated-artifact
dag/examples/js_site/generated/about.html merge=generated-artifact
dag/examples/js_site/generated/about.tsx merge=generated-artifact
dag/examples/js_site/generated/browse.html merge=generated-artifact
dag/examples/js_site/generated/browse.tsx merge=generated-artifact
dag/examples/js_site/generated/home.html merge=generated-artifact
dag/examples/js_site/generated/home.tsx merge=generated-artifact
dag/gunbc/stage0/stage0_crate_layout_generated.dag merge=generated-artifact
dag/gunbc/stage0/stage0_crate_partition_generated.dag merge=generated-artifact
docs/design-ledgers.md merge=generated-artifact
Expand Down
44 changes: 31 additions & 13 deletions .github/workflows/witnesses.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,6 @@ jobs:
id: build_witness_fold
run: |
cargo build --release -p v1-compiler --bins
- name: Discriminate private homes from a hostile legacy writer
run: |
ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
"$ROOT/target/release/gunbc" run --source-root "$ROOT/dag" --source-root "$ROOT/src/v2" --entry dag/gunbc/toolchain_home_interference_probe.dag --function toolchain_home_interference_probe_wet
- name: Record the toolchain environment
run: |
echo "host=$(hostname) runner=${RUNNER_NAME:-unset}"
Expand All @@ -72,11 +68,6 @@ jobs:
cd "$ROOT"
'target/release/claim_executor' '--required-ci' '--source-root' 'dag' '--source-root' 'src/v2' '--required-lane' 'build'
if: "!cancelled() && steps.build_witness_fold.outcome == 'success'"
- name: Every v1-compiler binary target compiles
id: build_all_binary_targets
run: |
cargo build --release -p v1-compiler
if: "!cancelled()"
required-witnesses-floor:
runs-on: [self-hosted, linux, arm64]
timeout-minutes: 180
Expand Down Expand Up @@ -108,10 +99,6 @@ jobs:
id: build_witness_fold
run: |
cargo build --release -p v1-compiler --bin claim_executor --bin gunbc
- name: Discriminate private homes from a hostile legacy writer
run: |
ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
"$ROOT/target/release/gunbc" run --source-root "$ROOT/dag" --source-root "$ROOT/src/v2" --entry dag/gunbc/toolchain_home_interference_probe.dag --function toolchain_home_interference_probe_wet
- name: Record the toolchain environment
run: |
echo "host=$(hostname) runner=${RUNNER_NAME:-unset}"
Expand Down Expand Up @@ -162,6 +149,37 @@ jobs:
if-no-files-found: error
retention-days: 14
if: "!cancelled() && steps.build_witness_fold.outcome == 'success'"
rust-unit-tests:
runs-on: [self-hosted, linux, arm64]
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Isolate toolchain homes
run: |
# dissolve-on: ci_toolchain_home_isolation_script -- orch-emitted foreign-executor prelude step wiping and setting HOME/CARGO_HOME/RUSTUP_HOME under RUNNER_TEMP so concurrent runner slots stop sharing one toolchain; leaf rm/echo strings remain until a typed per-job filesystem-and-environment effect lands on host_effect_apply (shell-to-intent Phase 2). This obligation covers THIS carrier and ci_isolate_toolchain_script, which share that terminal construction; ci_pin_rustup_default_script carries its own obligation because it does not
rm -rf "$RUNNER_TEMP/rustup" "$RUNNER_TEMP/cargo"
echo "HOME=$RUNNER_TEMP" >> "$GITHUB_ENV"
echo "CARGO_HOME=$RUNNER_TEMP/cargo" >> "$GITHUB_ENV"
echo "RUSTUP_HOME=$RUNNER_TEMP/rustup" >> "$GITHUB_ENV"
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1.16.0
with:
components: rustfmt
cache: false
- name: Pin rustup default (isolated RUSTUP_HOME has no default toolchain)
run: |
# dissolve-on: ci_pin_rustup_default_script -- orch-emitted foreign-executor step selecting a rustup default toolchain inside an isolated RUSTUP_HOME, which starts with none, and resolving the cargo binary that selection implies. The leaf rustup/command/echo strings remain until a typed TOOLCHAIN-SELECTION effect lands on host_effect_apply -- NOT the filesystem-and-environment effect ci_toolchain_home_isolation_script waits on, which is why this is a separate obligation: that effect landing alone would leave this carrier standing
rustup default "$(rustup show active-toolchain | awk '{print $1; exit}')"
if [ -x "$CARGO_HOME/bin/cargo" ]; then CARGO_BIN="$CARGO_HOME/bin/cargo"; else CARGO_BIN="$(command -v cargo || true)"; fi
if [ -z "$CARGO_BIN" ]; then echo "::error::no cargo binary: neither the isolated $CARGO_HOME/bin/cargo shim nor PATH carries one"; exit 1; fi
echo "CARGO_BIN=$CARGO_BIN" >> "$GITHUB_ENV"
- name: v1-compiler unit tests
id: rust_unit_tests
run: |
cargo test --release -p v1-compiler --lib
witnesses:
runs-on: [self-hosted, linux, arm64]
needs: [required-witnesses-build, required-witnesses-floor]
Expand Down
1 change: 1 addition & 0 deletions DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ Every newly discovered error class — incident, review finding, runtime excepti
- **Cited-symbol resolution as a required check** — declared 2026-08-23
- **Blocking emit-stage diagnostics on main** — declared 2026-08-25
- **Corpus-wide lens enforcement censuses** — declared 2026-08-11
- **Required gate reduced to the compiler floor** — declared 2026-08-29

**The floor first, the differentiator above it.** gunbc must first hold the ordinary compiler floor — names resolve, applications bind in exact bijection, values inhabit declared types, fields exist, closed variants eliminate exhaustively — and a failure there is a below-baseline safety regression, never compensated by higher-order capability. The differentiating claim begins above that floor: because the substrate carries causal, cardinality, algebraic, effect, ownership, cost, and realization facts structurally, the same ladder applies to classes ordinary compilers leave to tests, review, profiling, or production postmortems — a possibly-empty collection flowing into a nonempty consumer, recursion without a descent proof, a non-idempotent effect under automatic retry, a computation exceeding its declared complexity bound, a realization that does not preserve modeled behavior.

Expand Down
Loading
Loading