NS10 slice: Cover colors, chrome, and viewport regressions in E2E #68
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
OBJECTIVE: Add browser-terminal E2E scenarios that prove visual terminal correctness: line-number gutter, cursor marker, status chrome, ANSI color roles, color capability degradation, narrow viewport fit, and no diagonal/skewed output.
AUTHORITY: Parent #65; NS9 parent #57; REQUIREMENTS.md req: ui/001-002, coding/001, testing/001-004; KEYMAP.md visual/editor surface; recent chrome/skew regressions.
AGENT AUTHORITY:
PARENT: #65 NS10 via explicit parent link and parent checklist.
SCOPE: E2E screenshots/semantic assertions for editor chrome and color capability modes; integration with NS9 color surfaces as they land.
BOUNDARIES:
REGRESSION CLASS: catches visible presentation regressions: diagonal skew, missing line-number gutter, missing cursor/status chrome, broken ANSI/color degradation, and viewport overflow.
EVIDENCE ARTIFACTS: viewport screenshots, semantic width reports, ANSI role/capability transcript, visible-control transcript, and artifact path report.
REQUIREMENT IMPACT: protects existing ui/coding/testing requirement authority and NS9 color-scheme proof; update authority only if new color/chrome invariants become durable requirements.
ACCEPTANCE:
VERIFICATION:
zig build terminal-e2ezig build testzig build v1-smokeredgate lint /opt/repositories/mim/REQUIREMENTS.md && redgate health /opt/repositories/mim/REQUIREMENTS.mdBLOCKERS: depends on terminal harness #69. Full newed parity checks may wait for NS9 slices but base chrome/skew coverage can start immediately after the harness.
SLICE_CONTRACT:
objective: Add E2E coverage for terminal chrome, colors, viewport fit, and skew regressions.
authority: #65, #57, REQUIREMENTS.md ui/coding/testing rows.
acceptance: browser-terminal tests fail on missing gutter/cursor/status, broken color roles/degradation, overwide lines, or diagonal skew.
verification: terminal-e2e plus canonical gates.
non_goals: implement full colorscheme, runtime theme config, pixel-only tests.
blockers: terminal harness exists.
tmk241 referenced this issue2026-06-21 14:50:34 +00:00
Implemented in
61a1f9b(Assert terminal E2E chrome roles).What changed:
widths.tsvis generated per scenario and semantic transcript width is asserted against viewport width.tools/TERMINAL_E2E.mddocuments the new role markers, color swatches,widths.tsv, and manifestattrs_seen.Verification:
zig build terminal-e2e✅zig build test✅zig build✅zig build v1-smoke✅redgate list /opt/repositories/mim/REQUIREMENTS.md && redgate lint /opt/repositories/mim/REQUIREMENTS.md && redgate health /opt/repositories/mim/REQUIREMENTS.md✅Evidence examples from the latest run:
.zig-cache/terminal-e2e/raw-key-chrome-crlf/manifest.tsvrecordsbare_lf=falseandattrs_seen=current-line,cursor,status..zig-cache/terminal-e2e/raw-key-chrome-crlf/widths.tsvshows all semantic lines within the 48-column viewport..zig-cache/terminal-e2e/select-mode-colors/screenshot.svgincludes cursor/current-line/selection/status swatches.