Contracts
operator-signal-and-coverage.md
Contracts
A. #4017 concurrent-defer operator signal (OPERATOR_SIGNAL_CONTRACT)
When a cold-start loser converges to a no-op after re-assess-under-lock:
- Machine: exit 0; no
"Global asset input changed", no"global_asset_write_failed". - Human: a sentence on an existing operator-visible sink (CLI/log) stating the runtime assets were already materialized by a concurrent peer and nothing was applied.
- Test obligation (SC-002): the deterministic apply-interleave test asserts on the emitted SIGNAL (the human line / log record), not merely the exit code; it is RED-first (reproduces
"Global asset input changed") before the fix.
B. #4015 per-split coverage-mapping (FR-013 / NFR-003 / SC-009)
A committed mapping artifact (table in the WP/review notes or a small file) with one row per split: original_test → functional_assertion (retained verbatim, per-PR, unmarked) | timing_assertion (relocated test id, @performance, budget value preserved). Invariant: the set/text of functional assertions on the per-PR path after the sweep ⊇ before. Reviewer diffs this, not faith.