feat(quote,squad): B5 input validation + review invariants; A5 non-critical step degradation
P10 backlog triage (implement B5+A5; A6 already fixed in-tree, D5 keep shared
KB, R1 separate task, R4/R5/R6/R7 no-go with evidence):
- quote: ValidateInput (empty names/hours, negative/NaN/Inf fail-closed);
reviewSummary invariants (line sums = total; buffer 20%/margin 40%/tax 7%
rate self-consistency) enforced before Excel write
- squad: StepSpec.Critical *bool (nil=critical default); non-critical step
failure marks step degraded + gov audit, workflow continues, final status
degraded with DegradedSteps list; critical failure semantics unchanged
- tests: 5 new cases (quote 3 + squad 2), full short suite green, arch-check pass