I1021 — A browser proves the interface, at the widths people use
Extend the existing browser checking to cover navigation on desktop and mobile, search and filtering, the detail view, graph initialisation, conditional runtime exposure, link integrity and console errors.
BLOCKED wave 5 · p1 · implementation profile · parallel safe
Blocked. This issue cannot start until I1014, I1015, I1016 are done. The status is derived from that, not declared.
Objective
Extend the existing browser checking to cover navigation on desktop and mobile, search and filtering, the detail view, graph initialisation, conditional runtime exposure, link integrity and console errors.
Why
Everything in this milestone is finally judged by whether a person can open it. Server-side tests cannot see an overflowing table, a menu that does not open or a script that throws on load.
Current state
A probe script drives the Cockpit's routes and interactions in a real browser.
Desired state
The probe covers the derived surfaces at representative viewports, uses stable selectors and runs in CI.
Scope
- scripts/cockpit-probe
Out of scope
- Pixel comparison of a rendered graph
- Selectors coupled to presentational class names
Dependencies
- I1014BLOCKED The relation view reads the graph and holds no data of its own
- I1015ACTIVE A surface with no server behind it is not offered as if it had one
- I1016BLOCKED The Cockpit works on a phone and before JavaScript runs
What waits on this
Acceptance criteria
- Desktop and mobile navigation, search and filtering, the detail view and graph initialisation are all exercised
- Representative viewports from a narrow phone to a wide desktop are asserted, including the absence of horizontal overflow
- The runtime-only surfaces appear when a backend is present and are not offered when it is not
- Internal links resolve and the console is free of errors
- Selectors are stable identifiers rather than presentational classes
Validation
- scripts/cockpit-probe
Evidence required
- browser_coverage
- viewport_assertions
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
Browser tests are the flakiest thing in any suite. Bounded waits on stable selectors, and no sleeps.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I1021.yaml. Read it back with majordomus plan show I1021.