[codex] close route parity v1 with ci evidence #26

Merged
electron-rare merged 1 commits from codex/route-parity-v1-closure into main 2026-02-21 21:11:19 +00:00
electron-rare commented 2026-02-21 21:07:33 +00:00 (Migrated from github.com)

Issue

The route parity spec v1 required machine-readable evidence in CI and explicit documentation closure for EF-02/EF-03/EF-04. The repository had parity checks, but no uploaded parity artifact and incomplete traceability in docs.

Cause and User Impact

Without a persisted CI artifact, route coverage proof depended on raw logs only. This made regressions harder to audit and slowed release validation for WebUI/backend parity.

Root Cause

The parity checker emitted console output only and CI did not publish an artifact. Spec tracking docs were not fully synchronized with the implementation evidence.

Fix

This PR adds end-to-end evidence generation and traceability:

  • Adds --report-json to scripts/check_web_route_parity.py.
  • Emits stable JSON payload with counts, normalized route lists, deltas, strict flag, and status.
  • Extends scripts/test_check_web_route_parity.py with report-focused tests:
    • expected structure,
    • stable sorting,
    • mismatch/fail case,
    • JSON write/read validity.
  • Updates CI workflow:
    • branch triggers now main and release/stable,
    • parity step exports artifacts/route_parity_report.json,
    • uploads artifact route-parity-report.
  • Updates docs for parity closure and evidence linkage:
    • docs/rapport_tests_fonctionnels.md,
    • docs/spec_webui_route_parity_and_coverage_v1.md,
    • docs/SPECS_STATE.md,
    • docs/README.md index link.

Validation

Executed locally:

  • python3 -m unittest scripts/test_check_web_route_parity.py (7 tests, OK)
  • python3 scripts/check_web_route_parity.py --report-json artifacts/route_parity_report.json (PASS)
  • platformio run -e esp32dev (SUCCESS)
  • platformio test --without-uploading --without-testing -e esp32dev (PASSED)

Generated report confirms parity:

  • backend_count = 29
  • frontend_count = 29
  • missing_in_backend = []
  • unused_backend = []
  • status = pass
## Issue The route parity spec v1 required machine-readable evidence in CI and explicit documentation closure for EF-02/EF-03/EF-04. The repository had parity checks, but no uploaded parity artifact and incomplete traceability in docs. ## Cause and User Impact Without a persisted CI artifact, route coverage proof depended on raw logs only. This made regressions harder to audit and slowed release validation for WebUI/backend parity. ## Root Cause The parity checker emitted console output only and CI did not publish an artifact. Spec tracking docs were not fully synchronized with the implementation evidence. ## Fix This PR adds end-to-end evidence generation and traceability: - Adds `--report-json` to `scripts/check_web_route_parity.py`. - Emits stable JSON payload with counts, normalized route lists, deltas, strict flag, and status. - Extends `scripts/test_check_web_route_parity.py` with report-focused tests: - expected structure, - stable sorting, - mismatch/fail case, - JSON write/read validity. - Updates CI workflow: - branch triggers now `main` and `release/stable`, - parity step exports `artifacts/route_parity_report.json`, - uploads artifact `route-parity-report`. - Updates docs for parity closure and evidence linkage: - `docs/rapport_tests_fonctionnels.md`, - `docs/spec_webui_route_parity_and_coverage_v1.md`, - `docs/SPECS_STATE.md`, - `docs/README.md` index link. ## Validation Executed locally: - `python3 -m unittest scripts/test_check_web_route_parity.py` (7 tests, OK) - `python3 scripts/check_web_route_parity.py --report-json artifacts/route_parity_report.json` (PASS) - `platformio run -e esp32dev` (SUCCESS) - `platformio test --without-uploading --without-testing -e esp32dev` (PASSED) Generated report confirms parity: - `backend_count = 29` - `frontend_count = 29` - `missing_in_backend = []` - `unused_backend = []` - `status = pass`
Sign in to join this conversation.