The canonical requirement owner documents and verification registry are loaded.
When
The declared verification lane reviews each requirement mapping.
Required invariants
INV-REQ-TJ-CORE-02: The owner-defined every preselection is inspectable and changeable invariant is satisfied.
INV-REQ-TJ-LIMIT-05: The owner-defined process-bound failure behavior invariant is satisfied.
INV-REQ-TJ-LIMIT-06: The owner-defined queue reservations and latency invariant is satisfied.
INV-REQ-TJ-LIMIT-07: The owner-defined terminal clamping and backpressure invariant is satisfied.
INV-REQ-TJ-ADAPT-11: The owner-defined process and output bounds invariant is satisfied.
INV-REQ-TJ-PLAN-09: The owner-defined complete final confirmation fields invariant is satisfied.
INV-CONFIRM-BUFFERED-DISCARDED: Entering confirmation discards previously buffered input, and only events decoded for the current confirmation generation contribute characters.
INV-CONFIRM-PASTE-NEVER-CONFIRMS: A bracketed paste never contributes characters to the confirmation phrase.
INV-CONFIRM-AUTO-REPEAT: Repetition of one key never forms the confirmation phrase.
INV-CONFIRM-LEGACY-DISCLOSURE: Help discloses that legacy unmarked paste, macros, and synthetic input are indistinguishable from typing.
INV-REQ-TJ-FAIL-01: The owner-defined action failure pause and dependency blocking invariant is satisfied.
INV-REQ-TJ-UI-06: The owner-defined unified cancellation invariant is satisfied.
INV-REQ-TJ-UI-08: The owner-defined complete keyboard map invariant is satisfied.
INV-REQ-TJ-UI-09: The owner-defined contextual help invariant is satisfied.
INV-REQ-TJ-UI-10: The owner-defined measured progress and turn bounds invariant is satisfied.
INV-REQ-TJ-TERM-02: The owner-defined required dimensions and clamping invariant is satisfied.
INV-TERM-RESIZE-BELOW-MINIMUM: A resize below the required minimum clamps to the required minimum layout.
INV-REQ-TJ-TERM-07: The owner-defined input and SGR mouse invariant is satisfied.
INV-TERM-FRAGMENTED-INPUT: Fragmented UTF-8 and escape input decodes to the same events as contiguous input.
INV-TERM-MALFORMED-MOUSE: A malformed mouse sequence emits one ignored-input warning, resets to ground state, and decodes the next ordinary keyboard byte from ground state.
INV-TERM-KEYBOARD-RECOVERY: Every malformed, oversized, unknown, or impossible sequence leaves keyboard mappings unchanged and decoding resumes at ground state.
INV-REQ-TJ-TERM-08: The owner-defined color precedence invariant is satisfied.
INV-REQ-TJ-TERM-09: The owner-defined initialization and restoration invariant is satisfied.
INV-TERM-RESTORE-NORMAL-EXIT: A normal exit restores mouse mode, bracketed paste, cursor visibility, alternate screen, and termios in reverse enable order.
INV-TERM-STARTUP-ERROR: A failed interactive startup writes one concise stderr diagnostic and exits nonzero without scanning or entering review-only mode.
INV-TERM-RESTORE-RUNTIME-ERROR: A runtime error restores the same terminal state before the error path completes.
INV-TERM-RESTORE-HANDLED-SIGNALS: Every handled signal restores the same terminal state before the process stops or exits.
INV-TERM-SUSPEND-RESUME: Suspension restores terminal state before stopping and re-enters only after resume and capability recheck.
INV-TERM-DISCONNECT-RESTORE: After disconnect, restoration attempts only nonblocking writes for at most four attempts and 100 ms total and never blocks exit.
INV-REQ-TJ-TERM-10: The owner-defined changed-cell output and backpressure invariant is satisfied.
INV-REQ-TJ-CONFIG-07: The owner-defined startup errors invariant is satisfied.
INV-REQ-TJ-DIST-10: The owner-defined package acceptance checks invariant is satisfied.
INV-REQ-TJ-TEST-01: The owner-defined deterministic production boundaries and suites invariant is satisfied.
INV-REQ-TJ-TEST-04: The owner-defined evidence fields and limitations invariant is satisfied.
INV-REQ-TJ-TEST-05: The owner-defined build gates invariant is satisfied.
Forbidden effects
NO-REQ-MANIFEST-UNBOUND-PTY: The unbound manifest fixture is not treated as implementation evidence.
NO-TERM-UNRESTORED-EXIT: No exit path leaves mouse mode, bracketed paste, cursor visibility, alternate screen, or termios unrestored.
NO-CONFIRM-STALE-ADMISSION: No mouse input, escape sequence, or stale replay event contributes to the confirmation phrase.
NO-TERM-KEYMAP-CORRUPTION: No input sequence changes keyboard mappings or leaves the decoder desynchronized from ground state.
Variations
Executable implementation and evidence fixtures are separate work items.
Limitations
This is an unbound verification path: it records the required invariant and suite mapping,
but does not establish implementation coverage or passing runtime evidence.
# Requirement manifest — PTY suite
**Fixture:** `fixture-requirement-manifest-pty@3`
## Given
The canonical requirement owner documents and verification registry are loaded.
## When
The declared verification lane reviews each requirement mapping.
## Required invariants
- **`INV-REQ-TJ-CORE-02`:** The owner-defined every preselection is inspectable and changeable invariant is satisfied.
- **`INV-REQ-TJ-LIMIT-05`:** The owner-defined process-bound failure behavior invariant is satisfied.
- **`INV-REQ-TJ-LIMIT-06`:** The owner-defined queue reservations and latency invariant is satisfied.
- **`INV-REQ-TJ-LIMIT-07`:** The owner-defined terminal clamping and backpressure invariant is satisfied.
- **`INV-REQ-TJ-ADAPT-11`:** The owner-defined process and output bounds invariant is satisfied.
- **`INV-REQ-TJ-PLAN-09`:** The owner-defined complete final confirmation fields invariant is satisfied.
- **`INV-CONFIRM-BUFFERED-DISCARDED`:** Entering confirmation discards previously buffered input, and only events decoded for the current confirmation generation contribute characters.
- **`INV-CONFIRM-PASTE-NEVER-CONFIRMS`:** A bracketed paste never contributes characters to the confirmation phrase.
- **`INV-CONFIRM-AUTO-REPEAT`:** Repetition of one key never forms the confirmation phrase.
- **`INV-CONFIRM-LEGACY-DISCLOSURE`:** Help discloses that legacy unmarked paste, macros, and synthetic input are indistinguishable from typing.
- **`INV-REQ-TJ-FAIL-01`:** The owner-defined action failure pause and dependency blocking invariant is satisfied.
- **`INV-REQ-TJ-UI-06`:** The owner-defined unified cancellation invariant is satisfied.
- **`INV-REQ-TJ-UI-08`:** The owner-defined complete keyboard map invariant is satisfied.
- **`INV-REQ-TJ-UI-09`:** The owner-defined contextual help invariant is satisfied.
- **`INV-REQ-TJ-UI-10`:** The owner-defined measured progress and turn bounds invariant is satisfied.
- **`INV-REQ-TJ-TERM-02`:** The owner-defined required dimensions and clamping invariant is satisfied.
- **`INV-TERM-RESIZE-BELOW-MINIMUM`:** A resize below the required minimum clamps to the required minimum layout.
- **`INV-REQ-TJ-TERM-07`:** The owner-defined input and SGR mouse invariant is satisfied.
- **`INV-TERM-FRAGMENTED-INPUT`:** Fragmented UTF-8 and escape input decodes to the same events as contiguous input.
- **`INV-TERM-MALFORMED-MOUSE`:** A malformed mouse sequence emits one ignored-input warning, resets to ground state, and decodes the next ordinary keyboard byte from ground state.
- **`INV-TERM-KEYBOARD-RECOVERY`:** Every malformed, oversized, unknown, or impossible sequence leaves keyboard mappings unchanged and decoding resumes at ground state.
- **`INV-REQ-TJ-TERM-08`:** The owner-defined color precedence invariant is satisfied.
- **`INV-REQ-TJ-TERM-09`:** The owner-defined initialization and restoration invariant is satisfied.
- **`INV-TERM-RESTORE-NORMAL-EXIT`:** A normal exit restores mouse mode, bracketed paste, cursor visibility, alternate screen, and termios in reverse enable order.
- **`INV-TERM-STARTUP-ERROR`:** A failed interactive startup writes one concise stderr diagnostic and exits nonzero without scanning or entering review-only mode.
- **`INV-TERM-RESTORE-RUNTIME-ERROR`:** A runtime error restores the same terminal state before the error path completes.
- **`INV-TERM-RESTORE-HANDLED-SIGNALS`:** Every handled signal restores the same terminal state before the process stops or exits.
- **`INV-TERM-SUSPEND-RESUME`:** Suspension restores terminal state before stopping and re-enters only after resume and capability recheck.
- **`INV-TERM-DISCONNECT-RESTORE`:** After disconnect, restoration attempts only nonblocking writes for at most four attempts and 100 ms total and never blocks exit.
- **`INV-REQ-TJ-TERM-10`:** The owner-defined changed-cell output and backpressure invariant is satisfied.
- **`INV-REQ-TJ-CONFIG-07`:** The owner-defined startup errors invariant is satisfied.
- **`INV-REQ-TJ-DIST-10`:** The owner-defined package acceptance checks invariant is satisfied.
- **`INV-REQ-TJ-TEST-01`:** The owner-defined deterministic production boundaries and suites invariant is satisfied.
- **`INV-REQ-TJ-TEST-04`:** The owner-defined evidence fields and limitations invariant is satisfied.
- **`INV-REQ-TJ-TEST-05`:** The owner-defined build gates invariant is satisfied.
## Forbidden effects
- **`NO-REQ-MANIFEST-UNBOUND-PTY`:** The unbound manifest fixture is not treated as implementation evidence.
- **`NO-TERM-UNRESTORED-EXIT`:** No exit path leaves mouse mode, bracketed paste, cursor visibility, alternate screen, or termios unrestored.
- **`NO-CONFIRM-STALE-ADMISSION`:** No mouse input, escape sequence, or stale replay event contributes to the confirmation phrase.
- **`NO-TERM-KEYMAP-CORRUPTION`:** No input sequence changes keyboard mappings or leaves the decoder desynchronized from ground state.
## Variations
Executable implementation and evidence fixtures are separate work items.
## Limitations
This is an unbound verification path: it records the required invariant and suite mapping,
but does not establish implementation coverage or passing runtime evidence.