You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: drop the hardcoded STATUS.md test count so it can't redden CI
STATUS.md pinned a unit-test total ("903 host unit tests", "Total: **903**")
that only `cargo test --lib` can derive. Every time the suite grew, the prose
went stale and check-status-freshness --full --strict failed CI until someone
hand-edited the number — most recently 892 -> 903, the drift the preceding
unblock commit had to repair. The number's own prose already said "numbers
live in code, not prose"; this makes the file honor that instead of pinning a
copy that drifts.
What:
- STATUS.md: remove the two hardcoded test totals. "At a glance" and the
Test-coverage section now point at `make stats` / `cargo test --lib` for
the live count and state explicitly that it is not pinned in prose.
- tools/check-status-freshness.py: remove the unit-test number-drift check
entirely — the TEST_COUNT_RES/MAKE_STATS_TESTS_RE regexes, the intra-prose
consistency check, the `--full`/`make stats` live-compare path, and the
`subprocess` import. The two checks that remain are the date heuristic
(advisory) and the Kani-harness total (cheap, no compile). `--strict` now
fails only on Kani-harness drift. Docstring + `--full` flag removed.
- .github/workflows/ci.yml: the freshness gate no longer needs a built test
binary, so it moves out of the `test` job (where it ran `--full --strict`
after `cargo test`) into the pure-python `lints` job as a plain `--strict`
step. The STATS_TEST_TARGET env it needed is gone with it.
- Makefile: drop the now-dead `check-status-freshness-full` target.
Why: a derived number does not belong hardcoded in prose. With nothing pinned,
there is nothing to drift, and the compile-gated `--full` path that existed
only to re-verify that number has no remaining purpose. The Kani-harness total
stays pinned-and-checked because it is derivable without a compile.
Out of scope: the per-area breakdown table in the Test-coverage section keeps
its approximate counts (already labelled "breakdown drifts faster than the
total"); only the authoritative total is dropped. STATUS.md's stale
last_synced_to_code date is a separate advisory and is not touched here.
Verification:
- python3 tools/check-status-freshness.py: exit 0 (date advisory only).
- python3 tools/check-status-freshness.py --strict: exit 0 (no Kani drift;
this is the exact CI invocation).
- python3 -m py_compile tools/check-status-freshness.py: OK; grep confirms
no remaining TEST_COUNT_RES / MAKE_STATS_TESTS_RE / subprocess / args.full.
- make check-status-freshness: exit 0 (Makefile wrapper still resolves).
- make check-deferrals / check-assumptions / check-index-isolation: all exit
0; neither baseline tracks the edited files, so no line-drift resync.
- grep: no orphan references to check-status-freshness-full remain.
Staged files:
.github/workflows/ci.yml
Makefile
STATUS.md
tools/check-status-freshness.py
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: STATUS.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ belongs in the linked ADR, not here.
19
19
## At a glance
20
20
21
21
-**Tri-arch first-class**: clean release build on `x86_64`, `aarch64`, `riscv64gc`; all three boot in QEMU to an `cambios>` shell prompt. `make check-all` is the permanent regression gate.
22
-
-**903 host unit tests passing** on `x86_64-apple-darwin`. Run `make stats` for current counts — numbers live in code, not prose.
22
+
-**Host unit tests passing** on `x86_64-apple-darwin`. Run `make stats` for the current count — numbers live in code, not prose.
23
23
-**Security model live end-to-end**: cryptographic identity, signed-ELF verification, capability-gated IPC, content-addressed ObjectStore, audit ring, kernel identity gate, userspace `recv_verified`.
24
24
-**GUI stack live on x86_64 + aarch64**: scanout-virtio-gpu drives QEMU virtio-gpu-pci; compositor composites; virtio-input forwards HID keyboard/pointer events into the focused window; first-party app `pong` (continuous-motion 1-player vs AI) runs as the default GUI boot module on x86_64, and `worm` renders on aarch64 via `make run-aarch64-gui` now that the kernel has an ECAM-based PCI enumerator. `tree` (Minesweeper) stays buildable for regression.
@@ -204,7 +204,7 @@ Parity-target with x86_64 / AArch64. All phases landed as of 2026-04-19. Source:
204
204
205
205
## Test coverage
206
206
207
-
Total: **903** on `x86_64-apple-darwin`. Run `RUST_MIN_STACK=8388608 cargo test --lib --target x86_64-apple-darwin`, or `make stats` for the current number.
207
+
Run `RUST_MIN_STACK=8388608 cargo test --lib --target x86_64-apple-darwin`, or `make stats`, for the current total on `x86_64-apple-darwin`. The number is not pinned in prose — it lives in code, and a hardcoded copy only drifts CI red as the suite grows.
208
208
209
209
Major categories (approximate; breakdown drifts faster than the total):
0 commit comments