Add terminal E2E keystroke budgets
This commit is contained in:
@@ -26,14 +26,17 @@ Artifact roles:
|
||||
- `screenshot.svg` and `terminal.html`: browser-viewable visual evidence. SVG
|
||||
includes color swatches for seen cursor/current-line/status/selection roles.
|
||||
- `widths.tsv`: per-line semantic width report used to catch viewport overflow.
|
||||
- `keystrokes.tsv`: logical user key-event count and raw byte count for scenario
|
||||
payloads. A CSI sequence such as PageDown counts as one attached-key event
|
||||
while still recording all raw bytes sent.
|
||||
- `raw.bin`: exact PTY bytes for low-level debugging.
|
||||
|
||||
Golden policy:
|
||||
|
||||
- Investigate before updating any expected artifact or assertion.
|
||||
- Prefer semantic artifacts (`manifest.tsv`, `visible-controls.normalized.txt`,
|
||||
`transcript.txt`, `widths.tsv`) for assertions; visual artifacts explain what a
|
||||
user would see.
|
||||
`transcript.txt`, `widths.tsv`, `keystrokes.tsv`) for assertions; visual
|
||||
artifacts explain what a user would see.
|
||||
- Updating artifacts is safe only after the change is intentional and the receipt
|
||||
names the changed UI/control-byte behavior.
|
||||
- Adding a mobile scenario must preserve the `ios-default-qwertz-space-path`
|
||||
@@ -41,5 +44,8 @@ Golden policy:
|
||||
- Bare LF in raw-mode terminal output is a regression unless a scenario explicitly
|
||||
proves a non-raw stream. Raw-mode rendering should use CRLF to avoid diagonal
|
||||
terminal skew.
|
||||
- Scenario `max_key_events` budgets are regression guards for workflow burden,
|
||||
not speed benchmarks. Raise a budget only after explaining the intentional
|
||||
workflow change in the receipt.
|
||||
- Generated artifacts must remain under ignored build output and must not dirty a
|
||||
clean source tree.
|
||||
|
||||
Reference in New Issue
Block a user