72 lines
3.9 KiB
Markdown
72 lines
3.9 KiB
Markdown
# WEBUI-1507-R1
|
|
|
|
Author Dewey, independent reviewer Filbert, coordinator Darkwing.
|
|
Workspace `/mnt/storage/src/mosaic-stack`, branch `refactor`, baseline
|
|
355b4308c31c4bd500a844787eb1461f98dd2be3. Jason authorized issue-first,
|
|
coordination, commit and push for plan piece 4. Issue #1507 is open; Gate E
|
|
remains Jason-owned Monday 2026-09-14. No user acceptance is claimed.
|
|
|
|
## Candidate
|
|
|
|
All and only files under `packages/webui/`, pinned in
|
|
`webui-1507/manifest.sha256`. Manifest SHA-256:
|
|
`509f20e53292d5731c866d84c73cfaf539a89104b38b12a43260075ee7c3cb4d`.
|
|
|
|
No board files, seat files, comms, scanner, root package or fleet changes.
|
|
Darkwing confirmed ownership and named you reviewer, transport rc 0 followed
|
|
by his acknowledgement in this session. He released CURRENT and SESSIONS at
|
|
fab40f25. Concurrent planning commits f80404f5/355b4308 preserved the intake
|
|
status, with the shared-checkout hazard explicitly recorded in DEFERRED.
|
|
Original uncommitted WUI drafts, skills and other owners' files are excluded.
|
|
|
|
Review for exact brief conformance, proxy boundary/refusals, draft and focus
|
|
behavior, same-origin/loopback safety, rendering and maintainability. Reproduce
|
|
checks and return APPROVED or concrete findings in
|
|
`docs/plans/reviews/2026-09-13_webui-verdict.md`, then notify Dewey via
|
|
agent-send. Do not edit source or publish. No real board scans or real-seat
|
|
messages are needed for this review.
|
|
|
|
## Evidence
|
|
|
|
- `node --test packages/webui/tests/`: 6/6, including two Chromium browser tests.
|
|
- Clean baseline-plus-candidate copy at `/tmp/webui-1507-clean-8KGiHN`:
|
|
`node --test packages/webui/tests/ packages/control-board/tests/
|
|
packages/seat/tests/ packages/ledger/tests/ packages/mosaic/tests/`: 208/208.
|
|
Output: `webui-1507/clean-tests.txt`.
|
|
- Browser checks use the real board scanner/server with temporary fixtures,
|
|
including registered, working, waiting, error and offline rows. Only the
|
|
board transport is stubbed. Exact counts and Seen/Reply round trips pass.
|
|
- Browser keyboard, draft/caret, failed receipt, concurrent send exclusion,
|
|
empty/loading/malformed/unreachable, stale registration, hostile/long text
|
|
and denied localStorage cases pass. No real messages sent.
|
|
- Rendered contrast across ten palettes and three modes: 330 samples pass,
|
|
lowest 4.504658476260286:1. Five layout widths 320 through 2560px pass.
|
|
- Screenshots in `webui-1507/`: Harbor light page at 320/1440 and Grove dark
|
|
inspector at 320/1440. Dewey inspected all but the Harbor 320 screenshot
|
|
before this request; that screenshot remains available to inspect.
|
|
- CLI argument, upstream redirect, exact POST bytes/status, bad JSON/content
|
|
type/size, hostile Host/Origin and asset allowlist cases pass.
|
|
- No root CI workflow exists. No task/release/live fleet tests, deployment or
|
|
owner acceptance is claimed. Direct refactor publication is authorized.
|
|
|
|
## Corrections during author verification
|
|
|
|
The first browser test used a wrongly quoted CSS selector; corrected the test.
|
|
The Host test initially used fetch, which did not transmit the overridden Host;
|
|
replaced that probe with node:http and verified rejection. The first clean-tree
|
|
run exposed a loading-fixture race, ending the held response before the request
|
|
arrived; an explicit request promise fixed it, then 208/208 passed. These were
|
|
test defects, not waived failures.
|
|
|
|
## Scope choices and remaining gate
|
|
|
|
The left project filter uses actual board project names and counts, not mockup
|
|
workspace registrations. Dense table fields and inspector detail come only from
|
|
the board. Unsupported controller/generation/config/turns/activity and non-board
|
|
controls are omitted and listed in DEFERRED. CSS/brand/fonts are copied unchanged;
|
|
`live.css` supplies page adaptations. Appearance selectors remain on the one page.
|
|
|
|
Gate E requires Jason's Monday workday and end-of-day ruling. README gives the
|
|
startup commands, test steps and rollback to the unchanged board. Keep #1507
|
|
open until acceptance; no artificial issue closure from test results.
|