Quickstart — verifying Coord Reads Fail Closed

All runs from the repo root; lane worktrees build their venv on first uv run --frozen (~40s, normal). ATDD red-first per ADR 2026-07-17-1.

Finding A — seam raise + tracer never clobbers (#4959)

# Seam contract:
uv run --frozen python -m pytest tests/mission_runtime/test_coord_read_seam.py \
  tests/mission_runtime/test_resolution_typed_errors.py \
  tests/mission_runtime/test_read_path_create_window_invariant.py -q
# Tracer fail-closed:
uv run --frozen python -m pytest tests/specify_cli/retrospective/test_tracer_writer.py \
  tests/specify_cli/retrospective/test_tracer_writer_coord_e2e.py -q

Expect: UNMATERIALIZED coord read raises CoordinationWorktreeUnmaterialized (AC-S1); DELETED still raises CoordinationBranchDeleted (AC-S2); tracer-append on a populated file from an unmaterialised checkout leaves it byte-intact (AC-T1); undecodable byte refuses (AC-T2). Red-first: each fails against pre-fix code (empty-PRIMARY / clobber).

Finding B — decision ledger resolves to PRIMARY; accept unblocks (#4966)

uv run --frozen python -m pytest tests/specify_cli/decisions/test_service_idempotency.py \
  tests/specify_cli/cli/commands/test_decision_single_authority.py \
  tests/specify_cli/test_acceptance_needs_clarification.py \
  tests/integration/test_accept_matrix_coord_partition.py -q

Expect: decision open on a materialised-husk coord mission resolves (no MISSION_NOT_FOUND, AC-D1); a deferred→resolved decision lets accept proceed (AC-D2). Red-first shows MISSION_NOT_FOUND / permanent block pre-fix. (Note: this very mission hit #4966 during its own planning — see tracer-tooling-friction.md.)

Blast-radius regression (seam raise didn't break callers)

uv run --frozen python -m pytest tests/mission_runtime/ tests/specify_cli/coordination/ \
  tests/status/ tests/integration/test_coord_topology_smoke.py -q

Expect: sanctioned read-only degraders still degrade; already-safe catchers unchanged; ~25 no-catch coord STATUS_STATE readers fail loud at sane boundaries; non-coord/flat unchanged (NFR-002).

Whole-mission gates (pre-hand-off)

uv run ruff check . && uv run ruff format --check .
uv run python -m pytest tests/architectural/test_no_legacy_terminology.py -q     # after prose
PYTHONPATH=. uv run python -m scripts.docs.check_docs_freshness --ci             # after ADR/docs (errors=0)

Plus the changed-file + owning-subsystem suites per the charter test policy, and the ADR frontmatter description 50–180 char (unique, non-boilerplate) SEO gate.