49b6510098
test_gates.py patches database reads, so each rule is tested on its own (11 cases: dispatch by batch, reservation mode, waste capture, quotation cost build-up, specification lookup through the Production Plan, release blockers). test_print_cylinder.py uses real records for cylinder readiness and checks that operators can't call the readiness or disposition endpoints. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>