1.7 KiB
1.7 KiB
Phase 5 Execution Plan
Milestone: Phase 5 - Layout Robustness and JSON Import UX Hardening
Goals
- Make drag/re-layout behavior measurable and regression-resistant.
- Improve JSON import/apply reliability with validation-first messaging.
- Ship richer fixture coverage and enforce readability budgets in CI.
Workstreams
-
QA harness and metrics artifact
- Extend
tests/ui-regression-runner.jsto capture:- initial compile metrics
- post-drag metrics
- post-drag auto-tidy metrics
- dense fixture metrics
- Emit machine-readable artifact:
output/playwright/ui-metrics-report.json
- Extend
-
Layout/readability quality budgets
- Enforce thresholds in UI regression runner with env overrides:
UI_SAMPLE_MAX_*UI_DRAG_MAX_*UI_TIDY_MAX_*UI_DENSE_MAX_*
- Keep defaults tuned to current deterministic behavior.
- Enforce thresholds in UI regression runner with env overrides:
-
JSON import UX hardening
- Validate with
/analyzebefore applying/importing JSON. - Block apply/import when validation has errors.
- Surface first warning/error and path for faster correction.
- Keep deterministic change summary after successful apply.
- Validate with
-
Fixture pack expansion
- Add representative fixtures beyond the baseline audio example:
examples/dense-analog.jsonexamples/i2c-sensor-hub.jsonexamples/power-tree.json
- Maintain warning-clean default sample (
frontend/sample.schemeta.json).
- Add representative fixtures beyond the baseline audio example:
Done Definition
npm testpasses.npm run test:uipasses with quality budgets.output/playwright/ui-metrics-report.jsonis generated on every UI run.- Import/apply validation behavior is deterministic and user-visible.
- Phase 5 issues
#24-#29are closed and milestone is closed.