74772280e6
Replace coverage.py (sys.settrace-based) with slipcover (bytecode-based instrumentation) for significantly faster coverage collection: - Each behave-parallel worker runs under slipcover, producing per-feature JSON coverage files with unique UUIDs to avoid write contention. - After all workers finish, slipcover --merge combines per-worker data into a single build/coverage.json report. - XML report generated via slipcover --merge --xml for CI tooling. - Terminal report with --fail-under=97 threshold enforcement. - Robust JSON key-fallback logic handles both slipcover and coverage.py output formats. - CI workflow (ci.yml, nightly-quality.yml) updated with defensive key lookup instead of hardcoded coverage.py format. - Documentation updated to reflect slipcover as the coverage tool. - CHANGELOG.md updated. ISSUES CLOSED: #482