# Plot route-count tests assert authored intent, not exact totals ``` Type: log ``` - **Intent:** resolve the contradiction filed as issue #8 — the plot-author contract promises content-only additions ("adding a plot needs no Rust registry edit", plots.md), but two tests in `crates/misaligned-core/src/actions.rs` hard-asserted Marcus's Debt route count as exactly two, so any general plot whose matcher also covered custodian+Debt broke the lib gate and forced a Rust/test edit. Surfaced by the `looming-bill-absorbed` plot PR, which had to silently exclude custodian to stay green. - **Decision:** Cameron chose to loosen the tests (issue #8 option 1) and widen the plot to include custodian. - **Changed:** `person_actions_stage_with_knowledge` now filters the person's plot routes to the authored `marcus-` routes and asserts that pair is present, enabled, interpolated, and correctly priced, instead of asserting the person's total route count is exactly two. `queued_plot_disables_every_alternate_route_for_that_person` asserts `>= 2` visible-and-disabled alternates rather than exactly two, since a general route in a queued category adds another disabled row. `sink_readouts` stays two (one started plot plus the pre-opened Ears reservoir). Amended `wiki/mechanics/plots.md` with the 2026-07-12 covered-category note. - **Runtime impact:** none — test and doc change only; no behavior change. - **Checks:** `./tools/check.sh --lib` (349 core tests pass). - **Defense:** honors the plot contributor contract in `wiki/mechanics/plots.md` ("adding a plot needs no Rust registry edit") and the general-by-default principle in the plot-author skill: a bespoke character's authored routes are guaranteed to surface, while general plots may add routes to the same category without editing Rust. The tests now encode that intent rather than a brittle total that made general-by-default fail the gate. ```