Playtest-sweep P0/P1 fixes; detection.md to IMPLEMENTED (ROADMAP #4). master
Fixes the four prioritized wounds from wiki/log/2026-07-08-playtest-sweep.md: 1. (P0) The opening band is winnable: day-job bands ramp with tenure (DayJob::next_band_lo, [TUNE] in sim-mechanics.md) - job one wants 2-8/t, meetable at the default allocation on the starting rig; job two 4-10/t; job three onward the old full 6-12/t. New jobs_assigned state (serde default 0). Sim::day_job_rate_ceiling exposes the all-in delivery bound. 2. (P1) Visible clocks: Detection::next_audit_tick renders as an audit countdown beside a pilot strike meter (DayJob::PILOT_STRIKES) and a pending-signature indicator in the DETECTION area of the terminal sidebar, agent frame (70x60 -> 70x64), and Bevy observer card; people panels gained watched channels + last-noticed. detection.md IN PROGRESS -> IMPLEMENTED with all five criteria audited (new Paper/Financial channel test closes criterion 1's gap). 3. (P1) No silent verbs: siphon/redirect bad arguments answer -- err naming clear-debt (person args) or where flow ids live; allocation bumps swallowed by the 0/20 clamp log why. 4. (P1) The guidance chain: Sim::current_nudge walks the Act One ladder (eyes -> band pressure -> ears -> the 3 a.m. call -> egress -> Moonlight -> service arrears -> recruit -> audit countdown) from earned state only; all three frontends word the same chain. It never goes blank mid-run. Defense: day-job.md's own behavior clause promises "meet is a valid, boring, safe strategy", and the constitution's justification-and-legibility section plus design-judgment's "legible dread over hidden math" forbid a guaranteed loss announced by cold meters. The band ramp makes the code follow the spec at tick 0 while relocating the grow-or-fall-behind pressure (the same total escalation) to rung two onward - an amendment recorded in day-job.md's behavior section in this commit. The visible audit date implements detection.md criterion 3 verbatim; the pilot strike meter and pending indicator are that spec's player surface. The verb errors and the nudge chain enforce agent-play.md's "every command answers" and design-judgment's "dead air is a bug" - guidance uses only facts the fog already grants, so no unearned knowledge leaks. Save compatibility holds: the one new field defaults on old saves.