docs: record control panel UX task 5 report
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# Task 5 Report: Fixture Coverage, Documentation, And Regression Tests
|
||||
|
||||
## Result
|
||||
|
||||
Completed the fixture regression coverage and operational UX documentation.
|
||||
The fixture retains its explicit non-production command gate and the default
|
||||
100-Agent/500-event/100-job shape. Its deterministic blocker count is now 51:
|
||||
50 distinct open tenant/product pairs, including two open blocker rows for the
|
||||
same first product. Safe-blocked snapshot counts match the fixture's open
|
||||
product pairs. Failed jobs have duration timestamps, and linked events point to
|
||||
their job and, where present, the correct blocker/product and installation.
|
||||
|
||||
## TDD evidence
|
||||
|
||||
1. Added assertions for the additional same-product blocker, unique fingerprints,
|
||||
exact UUID5 installation identities, ownership, failed-job durations, and
|
||||
job/blocker/product event links. The first focused run was RED as expected:
|
||||
fixture returned 50 blockers while the requirement expected 51.
|
||||
2. After implementing the blocker/job/event fixtures, added an assertion that
|
||||
each snapshot's `safe_blocked` value matched its open product pairs. The
|
||||
focused run was RED as expected because the old sample formula reported
|
||||
blocked products for installations without an open blocker.
|
||||
3. Updated the deterministic snapshot values to match the generated open
|
||||
product pairs. The focused test then passed.
|
||||
|
||||
## Verification commands
|
||||
|
||||
- RED: `python -m pytest central/tests/test_control_panel_fixture.py -q` —
|
||||
failed on the expected blocker count gap (`50 != 51`).
|
||||
- RED: `python -m pytest central/tests/test_control_panel_fixture.py -q` —
|
||||
failed on the expected safe-blocked snapshot mismatch (`1 != 0`).
|
||||
- GREEN: `python -m pytest central/tests/test_control_panel_fixture.py -q` —
|
||||
passed (`1 passed`).
|
||||
- Full central suite: `python -m pytest central/tests -q` — passed
|
||||
(`275 passed`). Pytest emitted its existing `pytest-asyncio` fixture-loop
|
||||
deprecation warning and one existing `openpyxl` print-area warning.
|
||||
- `git diff --cached --check` — passed with no whitespace errors.
|
||||
|
||||
## Documentation review
|
||||
|
||||
Updated `docs/CONTROL_PANEL_V1.md` to link to the new operational UX contract
|
||||
and distinguish the installation-wide confirmation step from the validated
|
||||
blocker context workflow. Added `docs/CONTROL_PANEL_OPERATIONAL_UX_V1.md`
|
||||
covering the health invariant, technical/fiscal distinction, blocker/product
|
||||
counts, dashboard attention and empty states, identity-first views, timestamp
|
||||
and timezone presentation, blocker filters and summaries, operational-only
|
||||
priority tiers, safe resolution/auth/CSRF/audit fields, reprocess confirmation,
|
||||
password policy, performance limits, responsiveness, fixture command, and
|
||||
write/deployment boundaries.
|
||||
|
||||
## Commit
|
||||
|
||||
- Implementation and product documentation: `4ba0fa8`
|
||||
(`test: complete control panel fixture UX coverage`)
|
||||
|
||||
## Concerns
|
||||
|
||||
- The new UX contract documents the design's full technical timestamp in the
|
||||
title attribute. The inspected templates currently pass the human-formatted
|
||||
timestamp as the title value; runtime code was outside this task's allowed
|
||||
scope. Align the title value in a runtime task or revise the contract after
|
||||
deciding the intended presentation.
|
||||
- Full central tests retain the two pre-existing dependency warnings described
|
||||
above; they did not fail the suite.
|
||||
Reference in New Issue
Block a user