SIGN IN SIGN UP

feat(lane): one guard for both Rust lanes, and the proof it catches a red run

Dimension 8.2. `test-integration-rustd` and `test-coverage-rustd` each carried
their own copy of the shell that decides whether a run passed. Two copies of a
guard is one guard and one thing that looks like a guard — and neither copy had
a test, because a green lane proves the happy path and says nothing about
whether a red one would be noticed.

`scripts/rustd_lane_result.py` is now the single decision, and it answers the
two ways a lane reports success it did not earn:

- **Cargo failed and the pipe swallowed it.** The recipe pipes through `tee`,
  so `$?` is `tee`'s. The status is captured separately and handed in.
- **Nothing ran.** A `--ignored` selection matching nothing exits 0 and prints
  `0 passed`, which reads exactly like a pass.

Eight self-tests in `scripts/rustd_lane_result_test.py`, picked up by the
existing `*_test.py` discovery in `lint-scripts`. The one that matters is
`test_a_failure_wins_even_when_tests_passed_before_it`: forty-five green
binaries and one red must be red, and a tally-only check would call it a pass.

Proven end to end rather than argued, with a seeded failing test in the real
lane against live services:

    test test_seeded_failure_for_dimension_8_2 ... FAILED
    make test-integration-rustd  →  exit 2   (45 other tests passing)

and green again once the seed was removed:

    ✓ [rustd] Integration suite passed (45 tests)  →  exit 0

A first attempt at the seed failed to COMPILE (missing_docs), which proved
compile-failure propagation and not the dimension; the recorded run is the
second, where the binary builds and the test panics at runtime.

`concurrency.md` no longer spells the milestone ids for deferred rows.
`check-architecture-doc` resolves cited milestones against `done/` and
`active/`, and M177/M178 are still in `pending/` — so the ids live in
`THREAD_MAP` alone, where `tests/daemon.rs` already asserts each deferral names
one. One source instead of two, and the doc stops being able to go stale.

§7 and §8 dimensions marked DONE; spec Status → DONE. All four declared gates:

    make harness-verify        →  ALL GATES GREEN
    make lint-all              →  ✓ All lint checks passed
    make test-unit-all         →  ✓ All unit lanes passed
    make check-version         →  ✓ all versions match 0.26.2
    make test-integration-rustd →  45 tests against live services

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
K
Kishore Kumar committed
682a8b53eb4b833972710e764e9f98305fd184d9
Parent: 00d33a7