Master passed the 96.5 floor only by rounding (96.465 -> 96.5). Add genuine
behave coverage + omit a structurally-uncoverable module so the floor has real
headroom. fail_under stays 96.5 (ratchet rule: raise only after coverage holds).
- omit src/cleveragents/application/services/__init__.py (noxfile + pyproject):
100% of its "missing" lines are inside an `if TYPE_CHECKING:` block (never
executes at runtime) and slipcover has no per-line pragma to exclude them.
- features/coverage_validation_error_paths.feature (+ steps): 16 scenarios
exercising the defensive error-path branches in core/validation.py that the
existing structural_validation.feature does not reach (non-dict node, dup
decision_id, non-list children, invalid child ULID, missing decision fields,
wrong-typed confidence/parent/sequence, malformed structured-output, unknown
dispatcher target). Routed through the public
validate_structured_component_output dispatcher; pure functions, no DB/CLI.
Full engine run: NOX_EXIT=0, no dead chunks, 96.623% (validation.py now fully
covered).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>