diff --git a/docs/tickets/ticket-000012-selection-consensus-protocol.md b/docs/tickets/ticket-000012-selection-consensus-protocol.md index fa49c52..e3d7365 100644 --- a/docs/tickets/ticket-000012-selection-consensus-protocol.md +++ b/docs/tickets/ticket-000012-selection-consensus-protocol.md @@ -256,7 +256,8 @@ follow-up tickets that cite this one. ## 7. Status -**In progress · Phase 1a landed 2026-05-08.** +**In progress · Phase 1a + Phase 1b landed 2026-05-10; Phase 1c +remains proposed-not-opened.** ### Phase 1a — ForkScore (landed) @@ -282,10 +283,20 @@ function ahead of the consensus paper: ([0, SIGNAL_FLOOR)), REJECT (negative score OR hard-regression flag OR `NEG_INF_REGRESSION` flag). - Reference doc: `docs/v8-fork-score.md`. -- Tests: `tests/test_v8_fork_score.py` — 25 cases covering the - adapter, all verdict paths, hard-regression detection, - inf-bonus capping, neg-inf rejection, weight-set tuning, - breakdown completeness, CLI smoke. Full suite: 1186 passed. +- Tests: 18 + cases in `tests/test_fork_score.py` pin the pure ScoredFork + dataclass + scoring contract (SIGNAL_FLOOR=0.05, + HARD_REGRESSION_FLOOR=0.05, score = sum-of-breakdown closure, + NEG_INF_REGRESSION hard-reject). The CLI surface is covered + by 27 + additional cases in `tests/test_substrate_fork_score.py` — + adapter tests + 4 in-process CLI tests via `build_parser()` + + 1 real subprocess invocation catching entry-point / sys.argv + drift the in-process tests miss. Test file renamed from + `tests/test_v8_fork_score.py` in `a4058a4` 2026-05-10 per the + v-prefix-retirement convention (substrate-paper version vs + schema-version disambiguation). Suite at Phase 1a landing + (2026-05-08): 1186 passed; today: 2337 passed, 37 skipped. ### Phase 1b — Consensus paper (landed 2026-05-10)