50 lines
1.7 KiB
Markdown
50 lines
1.7 KiB
Markdown
# Phase 5 Execution Plan
|
|
|
|
Milestone: `Phase 5 - Layout Robustness and JSON Import UX Hardening`
|
|
|
|
## Goals
|
|
|
|
1. Make drag/re-layout behavior measurable and regression-resistant.
|
|
2. Improve JSON import/apply reliability with validation-first messaging.
|
|
3. Ship richer fixture coverage and enforce readability budgets in CI.
|
|
|
|
## Workstreams
|
|
|
|
1. QA harness and metrics artifact
|
|
- Extend `tests/ui-regression-runner.js` to 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`
|
|
|
|
2. 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.
|
|
|
|
3. JSON import UX hardening
|
|
- Validate with `/analyze` before 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.
|
|
|
|
4. Fixture pack expansion
|
|
- Add representative fixtures beyond the baseline audio example:
|
|
- `examples/dense-analog.json`
|
|
- `examples/i2c-sensor-hub.json`
|
|
- `examples/power-tree.json`
|
|
- Maintain warning-clean default sample (`frontend/sample.schemeta.json`).
|
|
|
|
## Done Definition
|
|
|
|
1. `npm test` passes.
|
|
2. `npm run test:ui` passes with quality budgets.
|
|
3. `output/playwright/ui-metrics-report.json` is generated on every UI run.
|
|
4. Import/apply validation behavior is deterministic and user-visible.
|
|
5. Phase 5 issues `#24-#29` are closed and milestone is closed.
|