The batch discipline: how DirtFleet ships a vertical slice per iteration

Schema + lib + REST + UI + tests, one commit, before the next iteration opens. The rule we don't break — and what it costs.