NS10 slice: Define and run the terminal E2E matrix #66
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: Turn the harness into a small orthogonal matrix runner that covers the terminal dimensions most likely to break
mim: viewport, color capability, file state, input profile, and mode surface.AUTHORITY: Parent #65 MATRIX EXPECTATION; KEYMAP.md; REQUIREMENTS.md req: testing/001-004, input/001-007, ui/001-002, governance/004.
AGENT AUTHORITY:
PARENT: #65 NS10 via explicit parent link and parent checklist.
SCOPE: matrix definitions, scenario metadata, build target behavior, artifact naming/organization.
BOUNDARIES:
REGRESSION CLASS: catches coverage gaps where one happy-path E2E passes while another viewport, file state, color capability, input profile, or mode surface is broken.
EVIDENCE ARTIFACTS: matrix manifest, per-scenario screenshots, per-scenario semantic transcripts, scenario ids, and failure artifact paths.
REQUIREMENT IMPACT: protects existing testing/input/ui requirement authority; requires authority update only if matrix dimensions become durable product verification obligations.
ACCEPTANCE:
zig build terminal-e2eruns a named matrix, not a single hard-coded case.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 initial terminal harness #69 and preferably control-byte artifacts #70.
SLICE_CONTRACT:
objective: Add a small high-signal E2E matrix runner.
authority: #65, KEYMAP.md, REQUIREMENTS.md testing/input/ui/governance rows.
acceptance: terminal-e2e executes named matrix rows with viewport/file/input/mode/color coverage and diagnosable artifacts.
verification:
zig build terminal-e2eplus canonical gates.non_goals: exhaustive combinatorics, product feature flags, cloud service.
blockers: harness seam exists.
tmk241 referenced this issue2026-06-21 14:50:34 +00:00
Implemented and committed #66 as
5d7f239 Add terminal E2E matrix runner.What changed:
tools/terminal_e2e.pyfrom one hard-coded scenario into an explicit scenario matrix.zig build terminal-e2enow runs four named rows:raw-key-chrome-crlf: 48x16 empty file, iOS default QWERTZ Space path, truecolorattached-existing-medium: 72x18 existing file, attached-keyboard path, truecolornew-file-mono-narrow: 40x12 new file, iOS default QWERTZ Space path, monodirectory-panel-narrow: 52x12 directory/panel entry, iOS default QWERTZ Space path, mono.zig-cache/terminal-e2e/matrix.tsvplus per-scenario artifacts.ios-default-qwertz-space-pathscenarios may use only letters and Space from the default iOS software keyboard; attached-key scenarios are where Esc/arrows/punctuation belong.Verification:
zig build terminal-e2ezig build testzig buildzig build v1-smokeredgate list /opt/repositories/mim/REQUIREMENTS.mdredgate lint /opt/repositories/mim/REQUIREMENTS.md && redgate health /opt/repositories/mim/REQUIREMENTS.mdEvidence artifacts are under ignored
.zig-cache/terminal-e2e/; generated artifacts did not dirty the source tree.