A

Delivery structure

1 specs, 228 requirements, 0 with no code mapped
Knuckles-Team/tuigSpec delivery
Specs (1)
  • TUI-RUNTIME228
Records not done
  • Requirementsall slices in all specs228
  • Requirements not donenot VERIFIED178
  • Specs not donewhole specs only1

Each spec shows its requirement count. Panel J lists every record.

B

Delivery states

count of total

Requirements (228)

SPECIFIED (specified)121 of 228 requirements
LANDED (landed)57 of 228 requirements
VERIFIED (verified)50 of 228 requirements

Specs (1)

SPECIFIED (specified)1 of 1 specs

Each bar shows one state against all records of the same kind.

Percentages count current rows. Done means VERIFIED.

C

State definitions

delivery_state
StateDefinition
SPECIFIEDThe requirement is written. No code for it is on the default branch.
LANDEDA commit that carries its ID in a Spec trailer is on the default branch.
VERIFIEDIt is LANDED and a test bound to its ID exists.

A spec state is the lowest state of its rows. Done means VERIFIED.

Invalid state: 0

D

Specifications

specs/*/status.json
Spec / titleReq.LandedDoneSpec stateCode references
TUI-RUNTIMETUI-RUNTIME — Terminal Arbora operation client228107/22850SPECIFIEDshared spec standard documentation: external declaration; not verified
.config/repo-layout.toml implementation: file exists; coverage not verified
.specify/memory/constitution.md documentation: file exists; coverage not verified
docs/development.md documentation: file exists; coverage not verified
native/agent-terminal-ui/src/coding_approval.rs implementation: file exists; coverage not verified
native/agent-terminal-ui/src/main.rs:459 implementation: file exists; coverage not verified
native/agent-terminal-ui/src/presentation.rs implementation: file exists; coverage not verified
native/agent-terminal-ui/src/run_inspector.rs implementation: file exists; coverage not verified
native/agent-terminal-ui/tests/coding_approval.rs test: file exists; coverage not verified
native/agent-terminal-ui/tests/run_inspector.rs test: file exists; coverage not verified
../../agent_terminal_ui/client.py:520 implementation: missing source
../../agent_terminal_ui/client.py:587 implementation: missing source
../../agent_terminal_ui/client.py:597 implementation: missing source
../../agent_terminal_ui/headless.py:163 implementation: missing source
../../agent_terminal_ui/terminal_ui.py:10 implementation: missing source
`requirements.md` documentation: file exists; coverage not verified
`status.json` implementation: file exists; coverage not verified

Landed counts LANDED and VERIFIED requirements. Done counts VERIFIED requirements only.

The spec state comes from the spec status file only.

U

Spec architecture

repository / component packages

Packages group specs by repository and declared component. Unassigned means no component was declared. Code links do not prove coverage. Mermaid source.

Knuckles-Team/tuig / Terminal task view (1)
Knuckles-Team/tuig / Terminal task view (1)TUI-RUNTIME
TUI-RUNTIME: source plan diagrams (Mermaid)
sequenceDiagram
  participant C as Terminal CLI
  participant T as Existing AgentClient
  participant G as Arbora A2A authority
  participant B as Governed tool backend
  C->>T: Validated one-shot request
  T->>G: message/send with fixed idempotency key
  G->>G: Bind task and validate authority
  G->>B: Admitted tool effect
  G-->>T: Task identity and ordered events
  T-->>C: Lifecycle, output and termination
  C->>T: Cancel selected task
  T->>G: tasks/cancel
  G-->>C: Cancellation acknowledgement through client
R

Spec relationships

declared dependencies and references

Depends on means a declared prerequisite. Extends and references do not imply prerequisite order. Shared code never creates dependencies. External targets are source declarations, not verified delivery.

Knuckles-Team/tuig / Terminal task view
SpecRelationshipTargetEvidence
TUI-RUNTIME

Unparsed reference declaration: <https://agentclientprotocol.com/protocol/v1/initialization>,; source: specs/terminal-runtime/plan.md

Unparsed reference declaration: none; no paper is cited.; source: specs/terminal-runtime/plan.md

depends onArbora A2AKnuckles-Team/arbora: external declaration; not verified; source: specs/terminal-runtime/plan.md
TUI-RUNTIME

Unparsed reference declaration: <https://agentclientprotocol.com/protocol/v1/initialization>,; source: specs/terminal-runtime/plan.md

Unparsed reference declaration: none; no paper is cited.; source: specs/terminal-runtime/plan.md

depends onExecution projectionsKnuckles-Team/arbora: external declaration; not verified; source: specs/terminal-runtime/plan.md
TUI-RUNTIME

Unparsed reference declaration: <https://agentclientprotocol.com/protocol/v1/initialization>,; source: specs/terminal-runtime/plan.md

Unparsed reference declaration: none; no paper is cited.; source: specs/terminal-runtime/plan.md

depends onServed child controlsKnuckles-Team/arbora: external declaration; not verified; source: specs/terminal-runtime/plan.md
TUI-RUNTIME

Unparsed reference declaration: <https://agentclientprotocol.com/protocol/v1/initialization>,; source: specs/terminal-runtime/plan.md

Unparsed reference declaration: none; no paper is cited.; source: specs/terminal-runtime/plan.md

depends onTUI-RUNTIME-R001.2Knuckles-Team/tuig: local spec declaration; source: specs/terminal-runtime/plan.md
TUI-RUNTIME

Unparsed reference declaration: <https://agentclientprotocol.com/protocol/v1/initialization>,; source: specs/terminal-runtime/plan.md

Unparsed reference declaration: none; no paper is cited.; source: specs/terminal-runtime/plan.md

depends onTUI-RUNTIME-R001.3Knuckles-Team/tuig: local spec declaration; source: specs/terminal-runtime/plan.md
TUI-RUNTIME

Unparsed reference declaration: <https://agentclientprotocol.com/protocol/v1/initialization>,; source: specs/terminal-runtime/plan.md

Unparsed reference declaration: none; no paper is cited.; source: specs/terminal-runtime/plan.md

depends onTUI-RUNTIME-R001.5Knuckles-Team/tuig: local spec declaration; source: specs/terminal-runtime/plan.md
G

Open issues and pull requests

open at capture

Issues

0 open at capture.

    Pull Requests

    1 open at capture.

    The build reads GitHub one time. This page makes no live API requests.

    J

    Record inventory

    229 records

    Each status file gives one spec row. Each requirement gives one more row. A record without a valid state shows INVALID. Expand a Definition to read the canonical requirement and verification text.

    All documented records (229 rows)
    ID / sourceKindParentStateCommit / test evidence
    TUI-RUNTIME
    TUI-RUNTIME — Terminal Arbora operation client
    specNoneSPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R001
    Terminal operation client issues typed commands with pending approvals
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Terminal operation client issues typed commands with pending approvals.** Tuig's client and commands modules validate an operation ID and JSON input against the installed generated Arbora registry before invoking it, and surface an A2A approval exchange as pending rather than granting it locally; approval actions stay unavailable until the corresponding Arbora contract is proven end to end. | Command and client tests confirm invalid operations are rejected. Negative approval tests confirm pending approvals are never silently granted.
    requirementTUI-RUNTIMESPECIFIEDd2b5cea055c8
    TUI-RUNTIME-R001.1
    Known op and object params produce one versioned request with correct envelope
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Known op and object params produce one versioned request with correct envelope.** Child slice of `TUI-RUNTIME-R001` (see tasks.md). | Unit command parser plus httpx.MockTransport. Installed generated registry artifact. Known op and object params produce one versioned request with correct envelope. Empty IDs, malformed JSON, arrays, unknown operations, absent registry files and digest mismatches make zero effect requests. Malformed JSON includes nested NaN and Infinity constants. Command whitespace separates the operation ID from the unchanged JSON payload
    requirementTUI-RUNTIMELANDED1ccb208dd9d9
    d309979d133f
    TUI-RUNTIME-R001.2
    Verified caller header reaches remote Arbora only over TLS
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Verified caller header reaches remote Arbora only over TLS.** Child slice of `TUI-RUNTIME-R001` (see tasks.md). | Client transport with loopback and remote URLs, fake bearer. Verified caller header reaches remote Arbora only over TLS. Remote HTTP, absent/invalid bearer, credential in exception/log/snapshot all fail
    requirementTUI-RUNTIMELANDEDd309979d133f
    e90084eba29c
    TUI-RUNTIME-R001.3
    One /confirm resumes exactly the issued plan
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **One /confirm resumes exactly the issued plan.** Child slice of `TUI-RUNTIME-R001` (see tasks.md). | A2A fake server that issues a PLAN with binding and expiry. One /confirm resumes exactly the issued plan. Tampered op/input/digest/subject, expired plan and replay are rejected before any effect. Server also rejects stale lease
    requirementTUI-RUNTIMELANDEDd309979d133f
    TUI-RUNTIME-R001.4
    Typed success renders and chat remains functional
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Typed success renders and chat remains functional.** Child slice of `TUI-RUNTIME-R001` (see tasks.md). | Mock error envelope, timeout, disconnect and malformed JSON. Typed success renders and chat remains functional. Every failure renders an error, leaves session usable and never reports success
    requirementTUI-RUNTIMELANDED00fa879f55f8
    d309979d133f
    TUI-RUNTIME-R001.5
    Pending request is displayed. No effect is asserted
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Pending request is displayed. No effect is asserted.** Child slice of `TUI-RUNTIME-R001` (see tasks.md). | Pending A2A task with input-required and approval metadata. Pending request is displayed. No effect is asserted. Approvals., fleet grant, missing signed exchange and wrong pending-call binding are refused. Enabling approval requires separate served receipt
    requirementTUI-RUNTIMELANDEDd309979d133f
    TUI-RUNTIME-R001.6
    Base chat works. Compatible optional install enables /op
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Base chat works. Compatible optional install enables /op.** Child slice of `TUI-RUNTIME-R001` (see tasks.md). | Clean Python 3.12 base environment and supported optional-client environment. Base chat works. Compatible optional install enables /op. No compatible client yields clear CLIENT_UNAVAILABLE and no untyped fallback
    requirementTUI-RUNTIMELANDED28c8ecf1657c
    d309979d133f
    TUI-RUNTIME-R001.7
    Legacy screens still render or use served replacement
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Legacy screens still render or use served replacement.** Child slice of `TUI-RUNTIME-R001` (see tasks.md). | Route/import inventory plus Textual pilot tests. Legacy screens still render or use served replacement. No agent_utilities.knowledge_graph import, duplicate transport or invisible command fallback
    requirementTUI-RUNTIMELANDED34233964fc2f
    d309979d133f
    TUI-RUNTIME-R001.8
    One-shot background tool-task command extends command/client contract with Arbora preapproval binding
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **One-shot background tool-task command extends command/client contract with Arbora preapproval binding.** Model: Preapproval_ref binds task operation, parameters and expiry. Behavior: Accept --one-shot flag; display queued, running, completed states from server; require preapproval to suppress prompt. Wiring: Extend agent_terminal_ui/client.py and CLI entry; use existing message/send and tasks/{get,cancel} operations. Refusal: Missing, expired, revoked or mismatched preapproval must not bypass permission prompt. Hot-path proof: Serve one-shot task with preapproved scope through production CLI entry point and Arbora. | Test planned `tests/test_one_shot_task_contract.py::test_served_one_shot_scope_and_lifecycle`. Preapproval binding gates permission suppression in production terminal. R002.8 defines complete one-shot specification.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002
    Terminal chat transport is reconciled with the current Arbora boundary
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Terminal chat transport is reconciled with the current Arbora boundary.** Tuig uses one canonical transport for its primary Arbora conversation. This replaces the expected unmounted streaming and remote-procedure routes. Change the client atomically. Remove the superseded code path only after integration acceptance. | Integration tests prove session, authentication, streaming and cancellation through the chosen transport. Keep the superseded path until they pass.
    requirementTUI-RUNTIMESPECIFIED2385409cff2d
    d2b5cea055c8
    d309979d133f
    TUI-RUNTIME-R003
    Packaged development skill carries the rapid-delivery contract
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Packaged development skill carries the rapid-delivery contract.** Add `agent_terminal_ui/skills/agent-terminal-ui-development/SKILL.md`, shaped like Overstory's skill, with the five-minute lane rules. | `tests/test_skill_package.py::test_development_skill_packaged` asserts the file ships in the wheel and names the lane rules.
    requirementTUI-RUNTIMELANDED1f9a26a46229
    TUI-RUNTIME-R004
    Shared spec and repository checks
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Shared spec and repository checks.** The local config and PR CI must enforce the shared spec group. Weekly advisory must report public-surface, root-hygiene and gitignore-convergence under current shared policy. Existing blocking checks must remain intact. | R004.1 proves local stages and trailer fallback. R004.2 proves weekly coverage and blocking docs/spec-only CI.
    requirementTUI-RUNTIMEVERIFIED184c528c68ca
    417e3a75f217
    856f118d3c67
    b90eb520052a
    tests/test_precommit_hooks.py:120
    tests/test_precommit_hooks.py:19
    tests/test_precommit_hooks.py:43
    tests/test_precommit_hooks.py:63
    tests/test_precommit_hooks.py:89
    TUI-RUNTIME-R004.1
    Consolidate equivalent spec checks without losing stages
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Consolidate equivalent spec checks without losing stages.** Use the shared `spec` group at pre-commit, pre-push and manual stages. Retain the explicit trailer hook and its origin/main fallback for invocations without range metadata. Keep all other blocking hooks. This child does not close the remaining R004 parity requirements. | Configuration regressions check stages, the explicit trailer fallback and retained acceptance boundaries.
    requirementTUI-RUNTIMEVERIFIED184c528c68ca
    856f118d3c67
    b90eb520052a
    tests/test_precommit_hooks.py:120
    tests/test_precommit_hooks.py:19
    tests/test_precommit_hooks.py:89
    TUI-RUNTIME-R005
    Docs layout matches Overstory
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Docs layout matches Overstory.** Add `docs/start.md`, `docs/status.md`, `docs/deployment.md` and `docs/design-system.md`, and list them in `mkdocs.yml`. | `tests/test_docs_layout.py::test_docs_pages_in_nav` asserts each file exists and appears in the nav.
    requirementTUI-RUNTIMEVERIFIED1f9a26a46229
    tests/test_docs_layout.py:10
    TUI-RUNTIME-R006
    Pyproject configures the pipelines hook sections
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Pyproject configures the pipelines hook sections.** Add `[tool.pipelines_hooks.public_surface]` and `[tool.pipelines_hooks.ste]` with `specs` in `paths` to `pyproject.toml`. | `tests/test_precommit_hooks.py::test_pipelines_hook_sections` parses `pyproject.toml` and asserts both sections.
    requirementTUI-RUNTIMEVERIFIED1f9a26a46229
    tests/test_precommit_hooks.py:11
    TUI-RUNTIME-R007
    Release workflow caller matches Overstory
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Release workflow caller matches Overstory.** Add `.github/workflows/release.yml` calling the shared pipelines release workflow at `main`. | `tests/test_docs_layout.py::test_release_workflow_calls_pipelines` asserts the `uses:` line.
    requirementTUI-RUNTIMEVERIFIED48e36e1fb4c1
    4ba2da4eafce
    4d11e1e96290
    ab946be70cba
    tests/test_docs_layout.py:30
    TUI-RUNTIME-R008
    Terminal theme tokens and accessibility are a stated contract
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Terminal theme tokens and accessibility are a stated contract.** The production Rust/Ratatui presentation selects a native theme by name. State the token set, contrast floor and a no-colour fallback, as the design-system area in Overstory does. | Native presentation and renderer tests check the default theme, no-color fallback and bounded resize behavior. Full presentation acceptance remains open.
    requirementTUI-RUNTIMESPECIFIED070e15682e71
    19a5072aed8e
    597a48b97843
    877a834e65e3
    d9be071196d3
    TUI-RUNTIME-R008.1
    Native discovery presentation remains readable after resize
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native discovery presentation remains readable after resize.** The production Ratatui renderer wraps status and help at a 40-column viewport. Its startup palette defaults to Tokyo Night; unsupported AGENT_THEME values fall back to that palette. A nonempty NO_COLOR selects terminal foreground and background. Resize redraws preserve status and keyboard help. | Native buffer tests resize the same terminal and verify complete status and available keys. They check NO_COLOR and unknown-theme fallback. This child does not close full keyboard, theme or performance parity.
    requirementTUI-RUNTIMEVERIFIED99b67585d433
    native/agent-terminal-ui/src/main.rs:1219
    native/agent-terminal-ui/src/main.rs:1256
    TUI-RUNTIME-R008.2
    Complete native presentation parity
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Complete native presentation parity.** Preserve the full token set, contrast floor, keyboard navigation, no-color and reduced-motion behavior. Preserve selection and scroll position. Keep R008 pending until that parity is proven. R008.1 covers only the discovery view. | Execute production native terminal journeys against the declared presentation fixtures. Check all supported themes, keyboard actions, selection, scrolling and reduced motion. Measure responsive rendering with the R002 performance procedure.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R009
    AGENTS.md sections match Overstory
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **AGENTS.md sections match Overstory.** Add `Commands`, `Quality gates`, `Branching & isolation` and `Documentation` headings to `AGENTS.md`. | `tests/test_docs_layout.py::test_agents_md_headings` asserts the headings.
    requirementTUI-RUNTIMEVERIFIED1f9a26a46229
    tests/test_docs_layout.py:18
    TUI-RUNTIME-R010
    Run harness surface is read-only and honest
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Run harness surface is read-only and honest.** The Tuig client must display a run's current plan, context use against budget, applied harness configuration, cost and termination reason. The client reads only arbora operations. | Children TUI-RUNTIME-R010.1 through TUI-RUNTIME-R010.14. Existing run fields and served proof remain required.
    requirementTUI-RUNTIMESPECIFIED2fc78b464855
    342fe3295687
    769033f0eac3
    c35cb5a545cf
    tests/test_native_execution_graph_contract.py:33
    TUI-RUNTIME-R010.1
    Run operation wiring
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Run operation wiring.** Model: `ARBORA-OPS-R021.4.5` serves the summary; `.4` serves separately labelled aggregates; `.6` supplies registration. Behavior: The view must select one `run_id` through the existing client transport. Wiring: the production path in plan.md must reach this field. Refusal: Absent registration, timeout or denial must display unavailable without direct engine calls. | Evidence: planned `tests/test_run_inspector_contract.py::test_run_read_uses_arbora_operations`. A selected run must render through the served operation and existing client.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.2
    Applied configuration
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Applied configuration.** Model: `ARBORA-OPS-R021.4.5` projects the decision edge owned by `EG-ORCH-VOCAB-R009.9`. Behavior: The view must display the recorded configuration reference and available `context_policy`, `plan_scaffold` and `action_space`. Wiring: the production path in plan.md must reach this field. Refusal: Missing or inaccessible configuration must not use defaults or the latest configuration. | Evidence: planned `tests/test_run_inspector_contract.py::test_harness_config_shown`. A committed configuration must retain its reference and values through the client.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.3
    Context and cost
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Context and cost.** Model: `ARBORA-OPS-R021.4.5` maps `.2`, `.3` and `.8` of `EG-ORCH-VOCAB-R009`. Behavior: The view must label peak tokens, budget tokens and per-run USD cost separately. Wiring: the production path in plan.md must reach this field. Refusal: Null values must display unavailable; zero-solved abstention must not render zero cost. | Evidence: planned `tests/test_run_inspector_contract.py::test_context_and_cost_shown`. Measured zero must render as zero; aggregate cost must retain its solved-task label.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.4
    Read-only current plan
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Read-only current plan.** Model: `ARBORA-OPS-R021.4.5` defines the snapshot boundary; `AU-HARNESS-R014` still lacks the required public export. Behavior: The view must display only an available authorized snapshot from `runs.get.current_plan`. Wiring: the production path in plan.md must reach this field. Refusal: Expired, wrong-run, regressing or unavailable snapshots must reveal no items or edit controls. | Evidence: planned `tests/test_run_inspector_contract.py::test_plan_read_only`. A fresh matching snapshot must preserve item order, revision and AU statuses.
    requirementTUI-RUNTIMESPECIFIEDnative/agent-terminal-ui/src/run_inspector_client.rs:445
    native/agent-terminal-ui/src/run_inspector_client.rs:609
    TUI-RUNTIME-R010.5
    Distinct terminal reasons
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Distinct terminal reasons.** Model: `ARBORA-OPS-R021.4.5` maps `EG-ORCH-VOCAB-R009.1`. Behavior: The view must map each recorded terminal reason to a distinct label. Wiring: the production path in plan.md must reach this field. Refusal: Unknown or missing reasons must display unavailable; overflow and stuck must not collapse to generic failure. | Evidence: planned `tests/test_run_inspector_contract.py::test_termination_reasons_distinct`. Each of final_answer, context_overflow, stuck, step_budget and error must have its own label.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.6
    Served surface proof
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Served surface proof.** Model: `ARBORA-OPS-R021.4.6` supplies registration and generated-client parity. Behavior: The test must enter the production UI and observe all fields through the real client and served operation. Wiring: the production path in plan.md must reach this field. Refusal: Denied reads after success must clear prior protected values; the UI must stay responsive without fabricated data. | Evidence: planned `tests/test_run_inspector_contract.py::test_run_surface_end_to_end`. A served fixture must render summary, configuration, context, cost and an available plan.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.1
    Preserve original chat transport acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Preserve original chat transport acceptance.** Model: The terminal uses one canonical transport for its primary Arbora conversation. This replaces its expected unmounted streaming and remote-procedure routes. Behavior: The client changes atomically to the chosen transport. The operator-directed hard cut removes the Python runtime while retaining all original native integration acceptance. Wiring: Extend the existing client and session entry. Refusal: Missing native capability fails closed; do not restore a Python fallback. Evidence: Serve session, authentication, streaming and cancellation cases. | Integration tests cover session, authentication, streaming and cancellation against the chosen transport. Native cutover does not establish those tests have passed.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.2
    Validate the host receipt and scope
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Validate the host receipt and scope.** Model: The v1 HostLaunchReceipt binds host, mode, endpoint, session, workspace, readiness and opaque log reference. The server binds reads to tenant, principal, host, workspace, generation and expiry. R010.7 defines HostLaunchRequest.web_logs, but the current receipt contract omits it. Behavior: Arbora must bind the effective boolean into an authenticated receipt or handoff. Bind it to host, workspace, tenant and principal. The TUI validates every binding before a read. Wiring: Use Arbora contracts ARBORA-HOST-R009.2 through R009.6 and R010.7. Refusal: Missing readiness, preference or scope, an unknown version, expiry or changed binding yields zero reads. Receipt data alone grants no authority. Evidence: A matching served receipt and preference succeeds. Alter each binding independently for negative cases. | A bound preference and matching receipt permit reads. Missing or changed fields yield zero reads.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.3
    Define the terminal consumer adapter
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Define the terminal consumer adapter.** Model: The TUI defines one public adapter named agent_terminal_ui.app.run_host_terminal. It takes HostLaunchReceipt, AgentClient and an optional HostLogReader. Plan.md gives the exact type signature. Behavior: Borrow the injected client and reader. Read only the receipt's opaque authorized reference. Wiring: Reuse the application, client and MainScreen path. Refusal: Missing reader, reference or producer returns unavailable and makes zero reads. Do not add a route, router, gateway or filesystem reader. Evidence: Enter through the public adapter on the served terminal path. | A valid reference reaches the reader. A missing capability makes zero reads and reads no file path.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.4
    Honor producer-selected modes and unify the log view
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Honor producer-selected modes and unify the log view.** Model: Arbora selects terminal, web or both under R010.7. Child .2 defines the producer handoff prerequisite for web_logs. The TUI accepts only that bound preference. Behavior: Subscribe only in terminal or both mode when web_logs is true. A false or missing preference yields zero TUI reads while chat continues. Web mode always makes zero TUI reads. The required host redacted sink stays enabled. The /logs command and Ctrl+V use the same view. Wiring: Reuse CommandProcessor.cmd_logs, MainScreen.action_toggle_logs and RichLog. Refusal: Local input cannot override mode or preference. Unknown or unbound values return unavailable with zero reads. The TUI cannot disable the host sink. Render text literally and strip terminal controls. Evidence: Exercise all modes with enabled, disabled and absent preferences through the real selector and UI. | Terminal/both with enabled preference render one correlated record through /logs and Ctrl+V. Disabled, absent and web-mode cases make zero TUI reads. Chat continues and the host sink remains enabled.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.5
    Enforce tenant scope and bound log lifecycle
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Enforce tenant scope and bound log lifecycle.** Model: HostLogBatch binds schema, scope, host, generation, tenant-local records, cursor and optional gap. Each record carries request correlation, sequence, timestamp, severity and redacted message. Behavior: Reauthorize every read and reconnect. Preserve order and report rotation gaps. Clear records and cursors after denial. Cancel the owned reader when the view closes. Wiring: Use one worker on the existing screen path. The adapter owns only subscription and view state. Refusal: Reject foreign, expired, revoked or regressing scopes and cursors. Never open a shared file, close a borrowed client or stop the host. Evidence: Observe per-tenant sequences, queue bounds, gaps, denial clearing and cancellation. Allow one read in flight and 128 records per batch. Limit each record to 16 KiB. Limit pending data to 128 records or 2 MiB. Keep 1000 rendered lines. Set one-second read and five-second cancellation timeouts. | Two tenants sharing one workspace receive only their own records and offsets. Rotation yields a gap. Denial clears state. Unmount cancels within five seconds.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.6
    Prove the served consumer journey
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Prove the served consumer journey.** Model: Evidence names producer and consumer revisions, receipt version, bound web_logs preference, tenant scope and fixture seed. Behavior: Exercise terminal, web and both modes with the preference enabled and disabled on the actual Arbora host and production TUI. Keep agent interaction available. Wiring: Use the normal request path, not an isolated helper. Refusal: Mocks do not prove served behavior. Missing preference or denied workspace scope yields zero unauthorized TUI reads. Slow rendering cannot block host HTTP. Evidence: Track request IDs, sequences, gaps, read counts, render time, HTTP response and revisions. Disabled preference cannot stop the required host sink. Save no credentials or raw sensitive logs. | Seed 116117 creates two tenants with separate principals in one workspace. Each emits 128 unique request IDs. Repeat the fixture twice. Normalize timestamps. Compare per-tenant ordered IDs, sequences and gaps. Cover every mode with preference on/off, rotation, reconnect, revocation and denial. Disabled cases make zero TUI reads while chat and the host sink continue. Keep request-to-render time below two seconds. Include a live HTTP response during slow rendering.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.7
    Native configured discovery
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native configured discovery.** Model: Rust reads AGENT_URL and AGENT_BEARER_TOKEN. Behavior: Fetch the Arbora Agent Card and render its name or a redacted error. Wiring: Use one authenticated HTTP client, Tokio and Ratatui. Refusal: Require TLS and credentials remotely; reject redirects, invalid cards and responses over 1 MiB. Local cancellation stops discovery only. No task submission, approval or remote cancellation is enabled. | Native HTTP fixture tests verify the request, credential transport, error refusal and cancellation. A terminal buffer test verifies the unavailable task actions. A served Arbora receipt remains separate evidence.
    requirementTUI-RUNTIMEVERIFIEDe8711e7f49bf
    native/agent-terminal-ui/src/main.rs:1195
    native/agent-terminal-ui/tests/discovery.rs:110
    native/agent-terminal-ui/tests/discovery.rs:29
    native/agent-terminal-ui/tests/discovery.rs:50
    native/agent-terminal-ui/tests/discovery.rs:73
    TUI-RUNTIME-R002.1.1
    Validate native task correlation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Validate native task correlation.** Model: Keep separate server task, context and run IDs from existing A2A wire shapes. Behavior: Bind task and context from an initial task; keep its run ID explicitly optional. Validate later task, status and text artifact events against that binding. An omitted later run ID preserves the established value. A newly supplied run requires a matching initial binding. Wiring: Export a native model for the future transport consumer; do not enable submission or streaming without producer proof. Refusal: Reject missing task/context IDs, malformed present run IDs, mismatched IDs, malformed data and unsupported event kinds. Keep the binding unchanged. Never infer a run ID from the task ID. | Native bound tests cover valid events and each refusal. Python and Rust consume the same public wire fixture. Served streaming acceptance remains under R002.1.
    requirementTUI-RUNTIMEVERIFIED3c592ffc6075
    native/agent-terminal-ui/tests/correlation.rs:11
    native/agent-terminal-ui/tests/correlation.rs:41
    native/agent-terminal-ui/tests/correlation.rs:53
    native/agent-terminal-ui/tests/correlation.rs:87
    TUI-RUNTIME-R002.1.2
    Read a native task snapshot
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Read a native task snapshot.** Model: Reuse the task correlation model and authenticated Arbora client. Behavior: Issue one read-only JSON-RPC tasks/get request to /a2a for a supplied task ID. Return validated correlation and state. Wiring: Expose ArboraClient.get_task for the native UI. Refusal: Reject invalid IDs, HTTP errors, redirects, JSON-RPC errors, mismatched envelope or task IDs and malformed tasks. Reject responses over 1 MiB. Redact errors. Preserve an absent run ID. Do not retry or enable effects, streaming or cancellation. | Native HTTP regression tests verify the exact request and credential, valid snapshots, optional run IDs and each refusal.
    requirementTUI-RUNTIMEVERIFIED3c592ffc6075
    native/agent-terminal-ui/tests/task_snapshot.rs:118
    native/agent-terminal-ui/tests/task_snapshot.rs:155
    native/agent-terminal-ui/tests/task_snapshot.rs:180
    native/agent-terminal-ui/tests/task_snapshot.rs:58
    native/agent-terminal-ui/tests/task_snapshot.rs:99
    TUI-RUNTIME-R002.1.3
    Complete served native chat transport
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Complete served native chat transport.** Preserve the full R002.1 acceptance after the model and read-only snapshot slices. Wire submission, session authentication, streaming, cancellation acknowledgement and reconnect recovery through production Arbora and the native UI. Keep the superseded transport and the incumbent coding terminal until served parity and cutover acceptance pass. | Served integration receipts exercise session, authentication, streaming, cancellation, replay and resnapshot behavior. Model and snapshot tests alone cannot close this row.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.1.3.1
    Submit one native text task
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Submit one native text task.** Model: One --prompt value creates one fixed random message and idempotency identity. Behavior: Send one authenticated message/send request. Validate the server task/context/run binding. Reuse the existing snapshot and cancellation view. Wiring: Extend ArboraClient and the native entry point. Refusal: Reject invalid arguments and missing credentials before sending. Reject a prompt combined with AGENT_TASK_ID. Interrupted or malformed acknowledgement remains an unknown outcome; refresh never resubmits. Evidence: Exercise the native executable through Arbora request authentication, WorkItem admission and AU enqueue. Control final storage and queue boundaries. | Native HTTP and terminal tests prove one send, exact request fields and bound acknowledgement. Verify denied zero-admission cases and no retry after lost acknowledgement. This qualifies submission only, not durable engine or worker completion.
    requirementTUI-RUNTIMEVERIFIED9b0dcc67e610
    native/agent-terminal-ui/src/main.rs:906
    native/agent-terminal-ui/src/main.rs:931
    native/agent-terminal-ui/src/main.rs:950
    native/agent-terminal-ui/src/main.rs:977
    native/agent-terminal-ui/tests/submission.rs:140
    TUI-RUNTIME-R002.1.3.2
    Complete original served chat and recovery acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Complete original served chat and recovery acceptance.** Preserve every R002.1.3 criterion after the unary submission increment. Prove production session authentication and continuity, streaming, cancellation acknowledgement, replay, resnapshot and reconnect recovery through Arbora and the native UI. Keep the incumbent coding terminal and prior transports until served parity and accepted cutover. | Full served integration receipts prove every original R002.1 case and recovery behavior. A controlled submission fixture cannot close this row.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.1.4
    Read an existing task in the native terminal
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Read an existing task in the native terminal.** Model: AGENT_TASK_ID selects one existing task through the authenticated unary Arbora client. Behavior: Display task, context and optional run IDs separately with the acknowledged state. Refresh the same task on r with the initial context and run binding. Keep a known run ID if a later snapshot omits it. Refuse changed bindings. Local cancellation stops only the read. Wiring: The existing Tokio and Ratatui loop calls get_task. Refusal: Empty selection makes zero reads. A failed or denied refresh replaces all prior protected values. No submission, remote cancellation or approval is enabled. | Native rendering tests cover distinct IDs and unavailable run identity. A pseudo-terminal test executes task reads through the production Arbora HTTP handlers with their upstream test authority. Production identity and tenant qualification remain separate.
    requirementTUI-RUNTIMEVERIFIED3c592ffc6075
    native/agent-terminal-ui/src/main.rs:1116
    native/agent-terminal-ui/src/main.rs:1142
    native/agent-terminal-ui/src/main.rs:1158
    native/agent-terminal-ui/src/main.rs:1294
    native/agent-terminal-ui/src/main.rs:1348
    TUI-RUNTIME-R002.1.5
    Acknowledge native remote cancellation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Acknowledge native remote cancellation.** Model: Bind cancellation to the accepted task, context and optional run identity. Behavior: Require explicit keyboard confirmation and issue one tasks/cancel request. Render cancellation only after a matching server response reports canceled. Wiring: Reuse the existing Arbora client and native task view. Refusal: Denial, timeout, disconnect, malformed response or changed binding cannot report cancellation. Local interruption leaves the remote outcome unknown. Refresh only reads the task to reconcile. No automatic effect retry occurs. | Native HTTP and UI tests prove confirmation, exact binding, one request and server acknowledgement. A terminal fixture enters the real Arbora HTTP handlers and production cancellation authority with a scripted work port. It tests denied and interrupted outcomes. R002.1 remains pending for full session, streaming and recovery acceptance.
    requirementTUI-RUNTIMEVERIFIEDb05266d66c30
    native/agent-terminal-ui/src/main.rs:1361
    native/agent-terminal-ui/src/main.rs:1378
    native/agent-terminal-ui/src/main.rs:1417
    native/agent-terminal-ui/src/main.rs:1477
    native/agent-terminal-ui/tests/cancellation.rs:119
    TUI-RUNTIME-R002.8
    One-shot background task visibility
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **One-shot background task visibility.** The terminal must submit one governed tool task and display its lifecycle, output and termination. Only a matching Arbora preapproval may suppress its permission prompt. | All six children and the served CLI acceptance must pass.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.8.1
    Model
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Model.** The terminal must accept one typed tool-task request through --one-shot with one UTF-8 JSON object read from standard input. The request must identify the registered operation, object parameters and a client-generated idempotency key. An optional preapproval_ref must reference an Arbora-issued scope receipt before task admission. Arbora must later attest its binding to the admitted task and exact pending call. The server owns task_id, context_id, run_id and admitted scope. The terminal must keep those identifiers separate. It must not derive authority from a local flag or a previous successful call. | Planned `tests/test_one_shot_task_contract.py::test_one_shot_request_and_scope_model`.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.8.2
    Behavior
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Behavior.** The terminal must submit one connector operation once and observe its remote task until a terminal result or explicit detach. Read-only --observe-task TASK_ID must reattach without submission or approval. Each observation must authenticate the caller again. Display queued, running, input-required, completed, failed and cancelled states only from server evidence. Display ordered output, sequence gaps, terminal reason and task/context/run identifiers. A cancellation request stays pending until server acknowledgement. Reconnect must observe the original task without submitting another effect. Missing output must display unavailable, never an empty successful result. | Planned `tests/test_one_shot_task_contract.py::test_one_shot_lifecycle_and_output`.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.8.3
    Wiring
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Wiring.** Extend the CLI entry point at `agent_terminal_ui/terminal_ui.py:10`. Add typed message/send support to the existing AgentClient transport beside `agent_terminal_ui/client.py:520`. Its current stream method accepts text only. Reuse get_task at client.py:597, cancel_task at client.py:587 and the existing resubscribe path. Submit through Arbora message/send; observe through tasks/get and tasks/resubscribe; cancel through tasks/cancel. Use the existing headless renderer or terminal view, with the same normalized task events. The Arbora typed tool-task payload and preapproval projection are producer prerequisites in plan.md. No local tool executor or second transport may replace them. | Planned `tests/test_one_shot_task_contract.py::test_one_shot_uses_existing_task_transport`.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.8.4
    Refusal
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Refusal.** The terminal must skip a permission prompt only after Arbora attests a matching, current preapproval for the exact pending effect. The initial scope receipt binds caller, tenant, workspace, operation, parameter digest, policy revision, registry digest and expiry. Arbora must bind that receipt to the admitted task and pending call before attesting prompt suppression. Missing, expired, revoked, foreign or changed bindings must never bypass approval. Display input-required without granting it locally. Console-only actions retain their required step-up. Unsupported producer contracts must refuse before submission. An uncertain launch must remain indeterminate and must not retry an effect automatically. The --override flag must not grant this mode authority. | Planned `tests/test_one_shot_task_contract.py::test_one_shot_preapproval_refusal`.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.8.5
    Evidence
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Evidence.** Record client/server revisions, schema version, idempotency key, opaque task/context/run IDs, event resume position and terminal outcome. Include request count, backend effect count and the server admission receipt reference. Record missing or regressing fields as unavailable. Exclude credentials, receipt secrets and raw sensitive parameters. A reconnect must preserve identifiers and display an explicit output gap when replay is unavailable. | Planned `tests/test_one_shot_task_contract.py::test_one_shot_evidence_and_reconnect`.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.8.6
    Hot-path proof
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Hot-path proof.** Planned `tests/test_one_shot_task_contract.py::test_served_one_shot_scope_and_lifecycle` must enter the production CLI entry point. Use a running Arbora server and controlled connector backend with the existing task transport and renderer. A matching admitted scope must launch one task, expose ordered output and display its terminal reason. Missing, expired, revoked and mismatched preapproval must cause zero unapproved backend effects. Verify visible pending approval, cancellation acknowledgement, disconnect, duplicate events, resume-position expiry and uncertain launch. Client mocks and isolated rendering tests cannot satisfy this proof. | Planned `tests/test_one_shot_task_contract.py::test_served_one_shot_scope_and_lifecycle`.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.14
    Explicit local ACP text transport
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Explicit local ACP text transport.** Keep central Arbora A2A and HTTP as default. The sole `tuig` executable may spawn the internal `arbora-acp` backend through `--local-runtime --local-model PROVIDER:MODEL`, with optional `--prompt TEXT`; `--headless --prompt TEXT` retains one-shot execution. Interactive sessions permit bounded sequential text turns only after acknowledged completion or cancellation. Use stable ACP v1 initialization, empty client capabilities, a new session at the canonical current directory, text prompt updates and cancellation. The backend owns models, authority and history. No frontend agent loop, shell expansion, automatic fallback, tool grants or durable resume. Bound frames, request time and cancellation cleanup; reject foreign session updates and response IDs. Close or kill and reap the owned child on every outcome. | Native scripted transport tests and CLI refusal tests. Actual terminal and installed-candidate tests must prove sequential history, cancellation exclusion, backpressure and cleanup. Released Arbora/AU pairing, host capabilities and durable history remain separate and are not satisfied by fixtures.
    requirementTUI-RUNTIMEVERIFIED2a40ec05a7f1
    57e292b1ab66
    d0eaeb9b1e86
    d612c5f8703d
    native/agent-terminal-ui/src/composer.rs:118
    native/agent-terminal-ui/src/local_runtime.rs:251
    native/agent-terminal-ui/src/local_runtime.rs:270
    native/agent-terminal-ui/src/local_session.rs:404
    native/agent-terminal-ui/src/local_session.rs:421
    TUI-RUNTIME-R011
    Coding session in the local workspace
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Coding session in the local workspace.** When run in a directory, the terminal client must open a coding session rooted there. It must serve the agent's file and terminal requests as client capabilities. Each write displays a diff first. Each run displays its command first. Containment, approval, streamed output and resume apply. It replaces `opencode.json` as the local entry point. | Children `TUI-RUNTIME-R011.1` to `TUI-RUNTIME-R011.14`.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.1
    Model
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Model.** Define `CodingSessionView` beside `CodingApprovalState` in `native/agent-terminal-ui/src/coding_approval.rs`. It holds workspace root, granted client capabilities, pending request and session ID. Capabilities form a closed set: `fs/read_text_file`, `fs/write_text_file`, `terminal/create`, `terminal/output`, `terminal/wait_for_exit`, `terminal/kill`. The view receives admission and permission decisions from `ARBORA-ACP`; it holds no policy of its own. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_session_model_closed_capability_set`. Unknown methods must map to a typed refusal.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.2
    Behavior
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Behavior.** The terminal must serve each client-capability request on the person's host. It must answer `fs/read_text_file` without a prompt inside the root. Add named Rust capability handlers beside the existing native ACP transport. Bind each handler to producer-granted scope; no local policy bypass may grant authority. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_capability_handlers_serve_local_host`. A read inside the root must return file text and prompt zero times.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.3
    Behavior
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Behavior.** Path containment: the terminal must resolve every path with symlinks and refuse any path outside the workspace root. Add a Rust containment check before any host capability effect. No trust-mode bypass may skip that check. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_path_containment_refuses_escape`. Parent segments, absolute paths and symlinks leaving the root must be refused with zero bytes read or written.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.4
    Behavior
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Behavior.** The terminal must show a unified diff before sending each `fs/write_text_file` result. The diff compares old and new text. It must write only after approval. Reuse `ApprovalPreview` in `native/agent-terminal-ui/src/coding_approval.rs`. Production view attachment and effects remain planned. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_write_shows_diff_then_applies_on_approval`. A denied write must leave the file bytes unchanged.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.5
    Behavior
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Behavior.** Command before run: the terminal must display the full command line, working directory and danger level before each `terminal/create`. It must run the command only after approval. Reuse the native `ApprovalPreview` command presentation. Arbora supplies the admission and danger context; the view must not invent authority. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_command_displayed_before_run`. A denied command must spawn zero processes.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.6
    Behavior
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Behavior.** Streamed output: the terminal must stream process output through `terminal/output` in order. Each request has a byte limit and a typed truncation marker. It must support `terminal/wait_for_exit` and `terminal/kill`. Output must render during the run. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_terminal_output_streams_in_order`. Output above the limit must carry the truncation marker and kill must end the process.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.7
    Behavior
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Behavior.** Resume: the terminal must persist the session ID, workspace root and pending request. A restarted client must reattach to the same session. Add native resume state only after the producer exposes durable session support. Pending approvals must reappear unanswered. Resume must grant none. Offer rollback only through a producer-authorized workspace operation. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_resume_reattaches_without_granting`. A resumed session must display the same pending write and apply no change before approval.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.8
    Wiring
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Wiring.** Attach the capability handlers where the client receives requests the agent sends. Extend `native/agent-terminal-ui/src/acp.rs` and attach `CodingApprovalState` to the Ratatui view in `src/main.rs`. R011.14 deliberately refuses host requests; it does not fulfill this attachment. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_requests_reach_view_from_client_stream`. A request in the stream must reach `CodingSessionView` once.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.9
    Wiring
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Wiring.** Replace `opencode.json` as the local entry point. Add a workspace-root argument to the sole `tuig` executable in `native/agent-terminal-ui/src/main.rs`, defaulting to the current directory. The command opens the session with that root. The model is reached only through the harness and Arbora. Remove `opencode.json` once the proof passes. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_entry_point_opens_session_at_cwd`. Running in a temporary directory must send that root at `session/new`.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.10
    Refusal
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Refusal.** The terminal must refuse with a typed reason: `PATH_OUTSIDE_ROOT`, `CAPABILITY_NOT_GRANTED`, `APPROVAL_DENIED`, `ROOT_NOT_TRUSTED`, `GATEWAY_UNAVAILABLE`. An untrusted root must open no session and answer no request. Each refusal must reach the gateway as a JSON-RPC error and never as success. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_typed_refusals_reach_gateway`. Each reason must produce one error response and zero host effects.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.11
    Evidence
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Evidence.** The terminal must record, per request, the session ID, method, resolved path or command digest, decision and who decided. It must display the same record on screen. It must not log file bodies, environment values or credentials. Reuse native `DecisionRecord` metadata; any snapshot reference must come from the admitted host operation. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_evidence_record_has_no_secrets`. The record must carry the decision and omit file content.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R011.12
    Hot-path proof
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Hot-path proof.** Entry point: the compiled `tuig` binary, run through a PTY in a temporary directory against a controlled gateway. The fake sends a write request. The view displays the diff and the test approves. The file changes only inside the root. A path outside the root must be refused. | Planned `native/agent-terminal-ui/tests/coding_session.rs::test_headless_coding_session_write_and_containment`. The test must observe the diff, the approved write and the refusal.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.7
    Native inspector state boundary
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native inspector state boundary.** Export the normalized read-only view from the Rust library. Distinguish zero from unavailable and preserve recorded configuration. Label terminal reasons separately. Clear protected values after failed reads or run changes. Admit plan items only through an injected producer validator; reject foreign, expired or invalid plans. Preserve item order and AU statuses. This child excludes transport, production view attachment and served acceptance in R010.1 through R010.6. | Public-library tests render Ratatui buffers and exercise refusal, expiry and missing-validator cases. No backend calls or plan edits occur.
    requirementTUI-RUNTIMEVERIFIEDa1266fbea3b7
    native/agent-terminal-ui/tests/run_inspector.rs:101
    native/agent-terminal-ui/tests/run_inspector.rs:114
    native/agent-terminal-ui/tests/run_inspector.rs:134
    native/agent-terminal-ui/tests/run_inspector.rs:160
    native/agent-terminal-ui/tests/run_inspector.rs:178
    TUI-RUNTIME-R011.13
    Native approval state boundary
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native approval state boundary.** Export the Rust state model with a closed capability set. Preview the full diff or command, directory and danger level. Bind explicit choices to exact request content and scope. Reject changed previews and completed request IDs. Retain unanswered requests during disconnect and reattachment. Produce only metadata records; neither choice performs a host effect. This child excludes admission, containment, durable resume, transport and production view attachment required by R011.1 through R011.12. | Public-library tests render the diff and verify exact request binding, metadata records and unanswered reconnect state. No file or process effects occur.
    requirementTUI-RUNTIMEVERIFIED2888e02e301b
    e369a91d7d94
    native/agent-terminal-ui/tests/coding_approval.rs:127
    native/agent-terminal-ui/tests/coding_approval.rs:151
    native/agent-terminal-ui/tests/coding_approval.rs:187
    native/agent-terminal-ui/tests/coding_approval.rs:208
    native/agent-terminal-ui/tests/coding_approval.rs:256
    TUI-RUNTIME-R008.2.1
    Native baseline palettes
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native baseline palettes.** Support Tokyo Night, Nord, Gruvbox and Textual Light base colors. Require 4.5:1 text contrast. Nonempty NO_COLOR resets both colors. Keep rendering static. | Native buffer tests check palette tokens, contrast, reset colors and stable frames.
    requirementTUI-RUNTIMEVERIFIED608e9e9d122b
    native/agent-terminal-ui/src/presentation.rs:166
    TUI-RUNTIME-R008.2.2
    Native viewport navigation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native viewport navigation.** Use PageUp, PageDown, Home and End to navigate wrapped content. Preserve the requested row through refresh and resize. Clamp the displayed row to available content. | Native buffer tests check paging, resize, Unicode, short results and small viewports.
    requirementTUI-RUNTIMEVERIFIED4214ab26f7e8
    608e9e9d122b
    native/agent-terminal-ui/src/main.rs:1677
    native/agent-terminal-ui/src/presentation.rs:432
    native/agent-terminal-ui/src/presentation.rs:483
    native/agent-terminal-ui/src/presentation.rs:509
    TUI-RUNTIME-R008.2.3
    Remaining full presentation acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining full presentation acceptance.** Preserve every R008.2 acceptance criterion after the base palette and viewport slices. Prove all theme tokens, runtime switching, selection and full keyboard parity through the Python and native journeys. | Served parity and performance receipts remain required. Buffer tests alone cannot close this row.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R008.2.3.1
    Python selection during startup
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Python selection during startup.** Selection clearing before the first active screen must be a no-op. Once mounted, clear the active screen selection. Do not suppress errors from that screen. Preserve the Python baseline for presentation comparison. | A regression clears selection before mount, then selects and clears actual text in the mounted app. A terminal fixture checks startup, a completed reply and clean exit.
    requirementTUI-RUNTIMELANDED7d244200bb23
    TUI-RUNTIME-R008.2.3.2
    Remaining full presentation acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining full presentation acceptance.** Preserve every original R008.2 and R008.2.3 criterion after the startup repair. Retain all theme tokens, runtime switching, selection, full keyboard parity, no-color, reduced motion and scroll retention. Compare Python and native journeys through served fixtures and the R002 performance procedure. | Full served parity and release performance receipts remain required. The startup regression does not satisfy these criteria.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R008.2.3.2.1
    Native runtime baseline palette switching
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native runtime baseline palette switching.** Unmodified F6 press cycles the four baseline palettes in task, inspector, log and cancellation views. Preserve scroll, pending requests and task state. Keep nonempty NO_COLOR effective. Ignore repeat, release and modified F6 events. | Production palette-handler and renderer tests prove palette order, wraparound, fallback, unchanged scroll and monochrome colors. This child excludes full served parity.
    requirementTUI-RUNTIMEVERIFIEDbd2d1aa85173
    native/agent-terminal-ui/src/presentation.rs:547
    native/agent-terminal-ui/src/presentation.rs:619
    native/agent-terminal-ui/src/presentation.rs:668
    TUI-RUNTIME-R008.2.3.2.2
    Remaining full presentation qualification
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining full presentation qualification.** Preserve every R008.2.3.2 criterion beyond baseline palette switching: all tokens, selection, full keyboard parity, no-color, reduced motion and scroll retention. Compare Python and native served journeys and run the R002 release performance procedure. | Full served parity and release performance receipts remain required. Local palette tests cannot satisfy this child.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.1.3.2.1
    Bounded native read recovery
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Bounded native read recovery.** Retry only eligible task reads with bounded delays. Preserve task, context and run bindings. Never retry effects. Stop on refusal, invalid data or cancellation. | Native recovery tests check retry limits, binding, refusal and zero effect replay.
    requirementTUI-RUNTIMEVERIFIED0015be4d2c8d
    bcf0af1e64f3
    native/agent-terminal-ui/src/recovery_view_tests.rs:8
    native/agent-terminal-ui/tests/recovery.rs:111
    native/agent-terminal-ui/tests/recovery.rs:136
    native/agent-terminal-ui/tests/recovery.rs:154
    native/agent-terminal-ui/tests/recovery.rs:178
    TUI-RUNTIME-R002.1.3.2.2
    Remaining served chat and recovery acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining served chat and recovery acceptance.** Preserve every R002.1.3.2 criterion after bounded task read recovery. Prove production session continuity, streaming, replay, resnapshot and reconnect through Arbora and the native UI. Keep prior transports until cutover acceptance. | Children `TUI-RUNTIME-R002.1.3.2.2.1` through `TUI-RUNTIME-R002.1.3.2.2.3`. Full served receipts remain required. Local fixtures cannot close this row.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.1.3.2.2.1
    Bounded local task stream decoder
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Bounded local task stream decoder.** Decode fragmented SSE with line and event limits. Validate JSON-RPC identity and existing task correlation before emitting data or acknowledging opaque cursors. Invalid data stops that decoder. This child excludes HTTP and production view wiring. | Native decoder tests cover line endings, UTF-8, multiline data, cursor inheritance, refusal, limits and correlation mismatch.
    requirementTUI-RUNTIMEVERIFIED7a284332950d
    native/agent-terminal-ui/tests/task_stream.rs:112
    native/agent-terminal-ui/tests/task_stream.rs:136
    native/agent-terminal-ui/tests/task_stream.rs:160
    native/agent-terminal-ui/tests/task_stream.rs:25
    native/agent-terminal-ui/tests/task_stream.rs:52
    TUI-RUNTIME-R002.1.3.2.2.2
    Remaining served stream recovery acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining served stream recovery acceptance.** Preserve all R002.1.3.2.2 criteria beyond the local decoder. Prove production session continuity, streaming, replay, resnapshot and reconnect through Arbora and the native UI. Keep prior transports until cutover acceptance. | Full served receipts remain required. Local decoder tests cannot close this row.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.8
    Native inspector transport boundary
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native inspector transport boundary.** Read the advertised `runs.get` operation with caller credentials and a matching registry digest. Validate run identity, numeric fields and AU snapshot revision and UTC expiry. Clear invalid or expired plan content. Preserve zero and available empty plans. Production loop attachment and served acceptance remain R010.6. | Scoped native transport and decoder tests exercise registry refusal, mismatched digests, malformed snapshots and expiry.
    requirementTUI-RUNTIMEVERIFIED14a4f6e68157
    c2e571cd0f64
    native/agent-terminal-ui/src/run_inspector_client.rs:355
    native/agent-terminal-ui/src/run_inspector_client.rs:393
    native/agent-terminal-ui/src/run_inspector_client.rs:426
    native/agent-terminal-ui/src/run_inspector_client.rs:546
    native/agent-terminal-ui/src/run_inspector_client.rs:610
    TUI-RUNTIME-R010.9
    Bounded native inspector loop attachment
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Bounded native inspector loop attachment.** Open and refresh a read-only inspector from the validated task run binding. Keep input responsive with one asynchronous read. Clear protected values on task failure, denial and run changes. Abort reads on local cancel, close and quit. Redraw expired plans while idle. This row does not establish full served acceptance under R010.6. | Native view tests cover selection, refusal, local cancellation, close, expiry and bounded request ownership.
    requirementTUI-RUNTIMEVERIFIED9c80ba88dbb9
    native/agent-terminal-ui/src/inspector_view.rs:767
    native/agent-terminal-ui/src/inspector_view.rs:804
    native/agent-terminal-ui/src/inspector_view.rs:822
    native/agent-terminal-ui/src/inspector_view.rs:866
    native/agent-terminal-ui/src/inspector_view.rs:880
    TUI-RUNTIME-R002.9
    Refuse unbound filesystem logs
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Refuse unbound filesystem logs.** The main screen never opens AGENT_LOG_FILE. Both /logs and Ctrl+V use one action. It clears old content and displays that an authenticated host reader is required. Keep chat input available and render the panel literally. This row covers refusal only; R002.2 through R002.6 retain every original served criterion. | Mounted tests observe zero pathname opens and no new client calls. Both controls display the same refusal while input remains available.
    requirementTUI-RUNTIMELANDEDbe5559a633f6
    TUI-RUNTIME-R002.10
    Authenticated host log subscription
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Authenticated host log subscription.** Bind an injected HTTP reader to the exact receipt obtained from authenticated Arbora. Use the existing app and log panel with bounded literal rendering, cursor continuity, cancellation and clearing after denial. Preserve borrowed resources and agent input. | Mounted tests prove display, refusal, clearing and lifecycle. Producer-backed fixtures prove the HTTP adapter and real sink together. Full deployed authority, launch lifecycle and native parity remain pending.
    requirementTUI-RUNTIMELANDEDfdee44da708a
    TUI-RUNTIME-R002.11
    Native authenticated host logs
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native authenticated host logs.** Attach a read-only bounded log view to the native event loop. Obtain opaque binding only from authenticated Arbora. Enforce server preference and expiry. Clear on denial and abort on hide and quit. Preserve task and inspector controls outside the view. | Local HTTP and terminal-view tests prove bounds, expiry, denial clearing and cancellation; deployed authority remains separate.
    requirementTUI-RUNTIMEVERIFIED6ad28a56b1c5
    8d06ef716fc4
    a96dc581da0f
    native/agent-terminal-ui/src/host_log_view.rs:162
    native/agent-terminal-ui/src/host_log_view.rs:186
    native/agent-terminal-ui/src/host_log_view.rs:210
    native/agent-terminal-ui/tests/host_logs.rs:115
    native/agent-terminal-ui/tests/host_logs.rs:133
    TUI-RUNTIME-R002.1.3.2.2.3
    Bounded committed terminal point-read
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Bounded committed terminal point-read.** Request the optional committed event through tasks/get. Validate its closed shape, size, run binding and commit identity before display. Missing or unavailable data stays unavailable. Clear displayed data on failed reads. Do not infer run IDs, resume cursors or streaming support. | Native decoder, HTTP and renderer tests cover identity, refusal, legacy omission and retained bindings. Full served recovery remains R002.1.3.2.2.2.
    requirementTUI-RUNTIMEVERIFIEDfaeede3c59e8
    native/agent-terminal-ui/src/main.rs:1742
    native/agent-terminal-ui/tests/task_snapshot.rs:195
    native/agent-terminal-ui/tests/task_snapshot.rs:234
    native/agent-terminal-ui/tests/task_snapshot.rs:267
    native/agent-terminal-ui/tests/terminal_event.rs:110
    TUI-RUNTIME-R012
    Daily coding-agent parity over Arbora
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Daily coding-agent parity over Arbora.** The terminal must cover daily coding-agent workflows through Arbora alone. These include live turns, model choice, conversation list and resume, served commands, attachments and usage. Coding-session file and shell effects stay under `TUI-RUNTIME-R011`. | Children `TUI-RUNTIME-R012.1` through `TUI-RUNTIME-R012.9`. Existing daily workflows remain required.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.1
    Live turn rendering
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Live turn rendering.** Today the client sends a unary turn and polls `tasks/get`, because Arbora's served agent refuses streaming. It renders only the final answer, and it shows no tool call. When `ARBORA-A2A-R001.4` serves turn events, the conversation must render text deltas as they arrive. It must show each tool call with its name and arguments, then its result, in the existing tool block. Cancel must stop the turn through `tasks/cancel`. | A served streaming fixture must observe deltas, a tool block with its result and a cancelled turn in the mounted app. The unary path must remain for a card that refuses streaming.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.2
    Model choice
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Model choice.** Today `/model` reads a `/models` route that Arbora does not serve, so it lists nothing and sends nothing. The model picker and `/model` must list the profiles from the `models.list` operation of `ARBORA-A2A-R016.6`. The terminal must send the chosen profile as the `arboraModelProfile` preference and display the profile the task metadata names. The terminal must not choose a model itself. | A served fixture must list profiles, send the preference, and display a profile that differs from the preference when Arbora does not honour it.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.2.1
    Legacy model-read boundary regression coverage
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Legacy model-read boundary regression coverage.** Test the current AgentClient.list_configured_models path without importing the retired kernel registry. Preserve returned registry metadata without local tier routing. Missing or denied routes, malformed responses and timeouts remain unavailable after success. They differ from an empty registry and produce no stale data or alternate requests. This child qualifies legacy client behavior only, not served profile discovery or model admission. | HTTP transport fixtures enter the real client and verify metadata, authenticated GET /models and each failure after success. No kernel registry is imported.
    requirementTUI-RUNTIMELANDED0025336ad1ca
    1be704079a25
    3ea65009beab
    TUI-RUNTIME-R012.2.2
    Preserve governed model-choice acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Preserve governed model-choice acceptance.** Retain the full R012.2 requirement: the model picker and /model list profiles through models.list from ARBORA-A2A-R016.6, send the chosen profile as arboraModelProfile, and display the profile from task metadata rather than selecting a model locally. | A served fixture lists profiles, sends the preference, and displays a different selected profile when Arbora does not honour it. Legacy HTTP fixtures and selection refusal do not satisfy this acceptance.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.3
    Conversation list and resume
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Conversation list and resume.** Read-only task replies do not establish complete conversation history or model-aware continuation. `/history` and a `--continue` flag must read the caller's contexts from `tasks/list` of `ARBORA-A2A-R001.3`. They must render the selected context's history from `tasks/get` and continue it. The terminal must store no conversation of its own. | A served fixture must list two contexts and resume the older one after an application restart. Prior turns must remain visible during continuation.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.4
    Commands reach only served operations
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Commands reach only served operations.** Today `/tools`, `/mcp`, `/usage`, `/skills`, `/prompts`, `/kb`, `/cron` and `/pipeline` read REST routes that Arbora does not serve, and they show HTTP 404 notices. Each command must call a served Arbora operation through the generated client. Otherwise, display one unavailable notice naming the missing operation. The connector tools listing must use `fleet.status` and the catalog the gateway serves. | The command matrix must cover every registered command with a served-operation fixture or an unavailable notice. No unserved route receives requests.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.4.1
    Unavailable management commands make no requests
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Unavailable management commands make no requests.** The registered `/skills`, `/prompts`, `/kb`, `/cron` and `/pipeline` commands display one notice naming the unavailable Arbora operation family. Listing and mutation subcommands must not reach their retired REST routes. This child does not close served fleet listings, usage or the full command matrix. | Drive every subcommand through the production dispatcher with a real HTTP client. Assert one named notice and zero transport requests. Legacy config, resources and maintenance paths also refuse without an admitted adapter.
    requirementTUI-RUNTIMELANDED1be704079a25
    b0cc25d210bc
    TUI-RUNTIME-R012.5
    Image and file attachments
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Image and file attachments.** Complete truthful unsupported-input refusal and served bounded file-part admission in both child requirements. | Both R012.5.1 and R012.5.2 meet their acceptance criteria. Refusal alone is not image support.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.5.1
    Unsupported image input refusal
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Unsupported image input refusal.** Until file-part admission is available, `/image` must state that images are unsupported. It must not read paths, change pending parts or show attachment success. The text transport must reject non-text and malformed parts instead of dropping their payload. | Command-to-submission tests prove refusal without file reads or transport, preserve existing text parts, and prove ordinary text submission still works. Legacy untyped image payloads and malformed parts make zero requests.
    requirementTUI-RUNTIMELANDED4a0636949d36
    TUI-RUNTIME-R012.5.2
    Served image and file admission
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Served image and file admission.** When `ARBORA-A2A-R001.5` accepts file parts, `/image` and pasted images must send a bounded A2A `file` part with its media type. An oversized file must be refused before any request. | A served fixture receives one PNG part. An oversized file makes zero requests. Unsupported-input refusal does not close this child.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.6
    Token and cost display
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Token and cost display.** Today the status line and `/usage` read `/api/observability` routes that Arbora does not serve, so they show no tokens or cost. They must read the caller's usage through the served `usage.read` operation and label tokens and cost per turn and per session. A missing value must display unavailable, not zero. | A served fixture must render per-turn and session totals, and it must render unavailable when the operation refuses.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.4.1
    Python current-plan view uses the served read
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Python current-plan view uses the served read.** `/run plan <run_id>` calls runs.current_plan through the generated client. Display only a matching, current UTC snapshot with a nonnegative integer revision and valid ordered items. Retain the highest accepted revision and refuse regression. Clear on refresh, refusal, invalid data and expiry; cancellation must not restore stale content. This child is consumer wiring, not live producer or native inspector acceptance. | Generated-client and mounted-screen tests cover valid/empty plans, malformed/refused/wrong-run/expired reads and expiry clearing.
    requirementTUI-RUNTIMELANDED4554c7538da9
    TUI-RUNTIME-R012.4.2
    Read fleet and usage through served operations
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Read fleet and usage through served operations.** MCP status and `/fleet [status]` use fleet.status; tool listings use fleet.catalog.list with bounded opaque pagination. Failures remain unavailable, not empty success. Tool toggling and MCP reload refuse before transport. Usage reads usage.read and labels tenant totals without inventing session or turn totals. One Escape returns from usage to the composer, including after refused reads. R012.6 remains open. | Generated-client transport and mounted usage tests cover success, refusal, malformed data and pagination. Superseded usage reads must not overwrite newer refusal or totals, even if cancellation is suppressed.
    requirementTUI-RUNTIMELANDED26659005d190
    6fb4244aa144
    c90dc111c171
    d1af8f3a226c
    e953bdfc7768
    TUI-RUNTIME-R004.2
    Remaining hook parity
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining hook parity.** `.github/workflows/advisory.yml` must report public-surface, root-hygiene and gitignore-convergence weekly. `.github/workflows/ci-skip.yml` must run the blocking spec group with full history and the PR base range. Existing blocking hooks must remain unchanged. | `tests/test_precommit_hooks.py::test_layout_and_surface_checks_follow_shared_advisory_policy` and `test_docs_ci_enforces_spec_checks_with_full_history_and_range` prove coverage. Shared gates must reject malformed source fixtures.
    requirementTUI-RUNTIMEVERIFIED417e3a75f217
    tests/test_precommit_hooks.py:43
    tests/test_precommit_hooks.py:63
    TUI-RUNTIME-R012.4.3
    Complete served command matrix
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Complete served command matrix.** Qualify the full registered command matrix, including the usage command entry point, against served fixtures or explicit unavailable notices. The narrow refusal and client wiring children do not establish this complete served acceptance. | Planned full command-matrix served fixture must cover every command family and make zero unserved-route requests.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.4.3.1
    Dispatcher signatures and mounted usage aliases
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Dispatcher signatures and mounted usage aliases.** Every registered handler accepts the dispatcher argument. /settings opens the existing local settings editor; changes persist and Escape restores the composer. /focus routes through the real mounted app to its screen action. It toggles the sidebar without an error or a new model turn and keeps keyboard focus in the composer. Enter submits exact registered commands without substituting longer names. Tab preserves exact names and adds argument space. Completion matches dispatcher casing and counts aliases as one canonical command. Only one matching partial command may autocomplete. Mounted /usage, /stats, /cost and /context reach only usage.read and display one unavailable notice on refusal. | Signature binding, focus dispatch and mounted HTTP transport fixtures cover success and refusal. This child does not qualify other command families or live producers.
    requirementTUI-RUNTIMELANDED1be704079a25
    33e68ece1844
    6743e92fa6dd
    c5e545f7cea6
    e3680d6a8cad
    TUI-RUNTIME-R012.4.3.2
    Retain complete served command acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Retain complete served command acceptance.** Preserve the full R012.4.3 requirement across every registered command family, including legacy graph, memory, history, model, fleet and management paths. | A full command-matrix served fixture must give every command a served operation or explicit unavailable notice and make zero unserved-route requests. Partial dispatcher and usage fixtures do not satisfy this acceptance.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.4.2
    Live current-plan acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Live current-plan acceptance.** Qualify the current-plan view against a composed live harness producer with caller isolation, revision changes and expiry. Consumer fixtures alone do not complete R010.4. | Planned served fixture must render the actual current scaffold and refuse missing, stale or other-caller state without reconstruction.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.1.6
    Discover unary Agent Cards
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Discover unary Agent Cards.** Python metadata and transport selection use the standard root card path. Fall back to the scoped A2A card only after HTTP 404 or 405. Preserve authentication and existing transport behavior when no card is available. | Root unary cards select message/send and render history replies. Scoped cards remain supported. Denials and malformed responses do not trigger another discovery path.
    requirementTUI-RUNTIMELANDED13b66721ab49
    TUI-RUNTIME-R002.1.7
    Refuse replay after stream acknowledgment
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Refuse replay after stream acknowledgment.** For a known unsupported-stream error, Python may use unary submission only before receiving any raw result. An empty or non-renderable result still blocks fallback. Preserve message identity and idempotency key across the permitted fallback. Authentication or permission denial never permits fallback. | Tests cover all supported refusal codes, empty acknowledgments, visible events, HTTP and RPC denial, and combined root discovery.
    requirementTUI-RUNTIMELANDED3af008493f62
    TUI-RUNTIME-R015
    The client must satisfy each source-quality child obligation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The client must satisfy each source-quality child obligation. | Every child requires its own measured acceptance evidence.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.1
    Terminal functions must meet the shared function-size checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal functions must meet the shared function-size checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_1` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.2
    The command processor must meet shared complexity and responsibility checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The command processor must meet shared complexity and responsibility checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_2` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.3
    The client must meet shared complexity and responsibility checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The client must meet shared complexity and responsibility checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_3` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.4
    The application event handlers must meet shared complexity checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The application event handlers must meet shared complexity checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_4` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.5
    The skill integration tests must meet shared complexity checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The skill integration tests must meet shared complexity checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_5` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.6
    The input widget must meet shared complexity checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The input widget must meet shared complexity checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_6` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.7
    Terminal functions must meet the shared nesting-depth checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal functions must meet the shared nesting-depth checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_7` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.8
    The dependency and source security scans must report no medium-severity findings. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The dependency and source security scans must report no medium-severity findings. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_8` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.9
    Each terminal test must assert its observable result. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Each terminal test must assert its observable result. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_9` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.10
    Documentation examples must match the tested terminal behavior. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Documentation examples must match the tested terminal behavior. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_10` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.11
    The README must explain the terminal purpose and installation. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The README must explain the terminal purpose and installation. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_operator_documentation.py::test_operator_installation_documentation` and counterexamples; executed locked installation receipt in test-spec.md.
    requirementTUI-RUNTIMELANDED8d67aee7ffd9
    TUI-RUNTIME-R015.12
    The README must cover each supported operator entry point. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The README must cover each supported operator entry point. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_operator_documentation.py::test_readme_operator_entry_points` and negative cases; see operator package qualification receipt.
    requirementTUI-RUNTIMELANDED2f8561f36c43
    89cf41d65f78
    TUI-RUNTIME-R015.13
    The README must supply navigation for its documented sections. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The README must supply navigation for its documented sections. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_readme_navigation.py::test_readme_navigation_reaches_each_top_level_section` and counterexamples; see README navigation and architecture receipt.
    requirementTUI-RUNTIMELANDED1b2bed32b207
    TUI-RUNTIME-R015.14
    The README must supply reproducible installation instructions. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The README must supply reproducible installation instructions. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_operator_documentation.py::test_locked_install_refuses_a_checkout_without_its_lockfile` and counterexamples; executed locked installation receipt in test-spec.md.
    requirementTUI-RUNTIMELANDED8d67aee7ffd9
    TUI-RUNTIME-R015.15
    The README must explain the terminal architecture. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The README must explain the terminal architecture. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_readme_navigation.py::test_readme_explains_frontend_entry_paths_and_served_boundary` and counterexamples; see README navigation and architecture receipt.
    requirementTUI-RUNTIMELANDED1b2bed32b207
    TUI-RUNTIME-R015.16
    The README must link its detailed documentation. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The README must link its detailed documentation. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_operator_documentation.py::test_readme_links_existing_detailed_documentation` and negative cases; see operator package qualification receipt.
    requirementTUI-RUNTIMELANDED2f8561f36c43
    TUI-RUNTIME-R015.17
    The contributor guide must describe tools, commands and source structure. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The contributor guide must describe tools, commands and source structure. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_operator_documentation.py::test_contributor_guide_tools_commands_and_source_map` and counterexamples; executed locked installation receipt in test-spec.md.
    requirementTUI-RUNTIMELANDED8d67aee7ffd9
    TUI-RUNTIME-R015.18
    The repository must declare its license in a tracked license file. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The repository must declare its license in a tracked license file. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_package_metadata.py::test_declared_mit_license_is_tracked_and_linked` and negative cases; see operator package qualification receipt.
    requirementTUI-RUNTIMELANDED2f8561f36c43
    TUI-RUNTIME-R015.19
    Terminal modules must meet the shared module-size checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal modules must meet the shared module-size checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_19` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.20
    Terminal classes must meet the shared method-count checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal classes must meet the shared method-count checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_20` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.21
    The terminal must separate presentation from its served client adapter. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The terminal must separate presentation from its served client adapter. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_21` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.22
    Terminal collaborators must use explicit dependency injection at test seams. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal collaborators must use explicit dependency injection at test seams. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_22` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.23
    The terminal package must organize its public modules by responsibility. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The terminal package must organize its public modules by responsibility. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_23` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.24
    The terminal must trace each declared concept to its owning implementation. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The terminal must trace each declared concept to its owning implementation. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_24` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.25
    The terminal must resolve each orphaned concept reference. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The terminal must resolve each orphaned concept reference. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_25` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.26
    Terminal tests must bind their owning contract identifiers. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal tests must bind their owning contract identifiers. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_26` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.27
    Significant terminal functions must identify their owning contracts. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Significant terminal functions must identify their owning contracts. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_27` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.28
    The terminal source must pass the configured lint checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The terminal source must pass the configured lint checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_28` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.29
    The repository must validate its pinned formatter and dependency hook versions. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The repository must validate its pinned formatter and dependency hook versions. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_29` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.29.1
    The two shared development guards must use their canonical pinned owners and preserve commit and push invocation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The two shared development guards must use their canonical pinned owners and preserve commit and push invocation. | `tests/test_shared_hook_consumers.py` checks exact pins and invocation flags; real hook runs must accept clean linked worktrees and refuse invalid source or lane state.
    requirementTUI-RUNTIMEVERIFIED0057d3c6b734
    184c528c68ca
    c8ffb758deb2
    tests/test_shared_hook_consumers.py:9
    TUI-RUNTIME-R015.29.2
    The repository must validate all remaining pinned formatter and dependency hook versions
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The repository must validate all remaining pinned formatter and dependency hook versions. | Each remaining hook requires install and execution evidence. Shared guard consumer coverage alone cannot satisfy this obligation.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.30
    The terminal CLI must supply help text for its supported arguments. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The terminal CLI must supply help text for its supported arguments. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_30` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMELANDED2f6d1188fb53
    69072e496e9b
    907f3ce97f91
    e79cd23f71cc
    TUI-RUNTIME-R015.30.1
    Python CLI help and operator examples describe the current arguments without promising model selection or prior-turn loading
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Python CLI help and operator examples describe the current arguments without promising model selection or prior-turn loading. | Real parser help and dispatch tests cover supported flags and reject invalid observer combinations.
    requirementTUI-RUNTIMELANDED2f6d1188fb53
    TUI-RUNTIME-R015.30.2
    Native CLI -h and --help describe supported arguments and environment settings without connecting or opening a terminal. Help works even when runtime configuration is invalid. Argument values that equal --help remain values; mixed help and operation flags remain invalid. Future argument changes must update this help contract
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Native CLI -h and --help describe supported arguments and environment settings without connecting or opening a terminal. Help works even when runtime configuration is invalid. Argument values that equal --help remain values; mixed help and operation flags remain invalid. Future argument changes must update this help contract. | Execute the native binary for both help aliases, invalid configuration, mixed flags and a prompt whose value is --help.
    requirementTUI-RUNTIMEVERIFIED69072e496e9b
    907f3ce97f91
    e79cd23f71cc
    native/agent-terminal-ui/tests/cli_help.rs:16
    native/agent-terminal-ui/tests/cli_help.rs:51
    TUI-RUNTIME-R015.31
    The version configuration must cover every authoritative version mirror. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The version configuration must cover every authoritative version mirror. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Partial Python bump and native consistency checks in `tests/test_package_metadata.py`; native version-configuration coverage remains open.
    requirementTUI-RUNTIMEVERIFIEDab946be70cba
    tests/test_native_packaging.py:22
    TUI-RUNTIME-R015.32
    The preserved JSON analysis must remain historical evidence, separate from authoritative version mirrors. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The preserved JSON analysis must remain historical evidence, separate from authoritative version mirrors. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_historical_analysis.py` verifies the original JSON report bytes in immutable Git history and refuses changed bytes or release-mirror registration. Full Git history is required for preservation acceptance.
    requirementTUI-RUNTIMEVERIFIEDe3eca3dd39dc
    tests/test_historical_analysis.py:17
    tests/test_historical_analysis.py:91
    tests/test_historical_analysis.py:97
    TUI-RUNTIME-R015.33
    The preserved Markdown analysis must remain historical evidence, separate from authoritative version mirrors. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The preserved Markdown analysis must remain historical evidence, separate from authoritative version mirrors. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_historical_analysis.py` verifies the original Markdown report bytes in immutable Git history and refuses changed bytes or release-mirror registration. Full Git history is required for preservation acceptance.
    requirementTUI-RUNTIMEVERIFIEDe3eca3dd39dc
    tests/test_historical_analysis.py:22
    tests/test_historical_analysis.py:91
    tests/test_historical_analysis.py:97
    TUI-RUNTIME-R015.34
    Terminal test modules must meet the shared file-size checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal test modules must meet the shared file-size checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_34` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.35
    Terminal test modules must meet the shared test-count checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal test modules must meet the shared test-count checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_35` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.36
    Terminal tests must organize unit, integration and served acceptance coverage. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal tests must organize unit, integration and served acceptance coverage. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_36` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.37
    Terminal tests must supply a shared fixture entry point. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal tests must supply a shared fixture entry point. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_fixture_isolation.py` runs the production shared fixture in a child pytest process; developer sentinels stay unchanged and test state resets.
    requirementTUI-RUNTIMELANDED94bb245591ea
    TUI-RUNTIME-R015.38
    Terminal tests must reuse shared fixtures for common setup. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal tests must reuse shared fixtures for common setup. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_38` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.39
    Each terminal test must assert its observable result. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Each terminal test must assert its observable result. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_39` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.40
    Terminal tests must reject incorrect values through behavior-specific assertions. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal tests must reject incorrect values through behavior-specific assertions. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_40` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.41
    The documentation must cover every supported terminal environment variable. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The documentation must cover every supported terminal environment variable. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_41` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMELANDED2f6d1188fb53
    d2e3a7e63965
    TUI-RUNTIME-R015.41.1
    Document the Python configuration and data directory overrides, including their fallback order
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Document the Python configuration and data directory overrides, including their fallback order. | Directory resolution tests prove explicit data precedence and the configuration-relative fallback.
    requirementTUI-RUNTIMELANDED2f6d1188fb53
    TUI-RUNTIME-R015.41.2
    Retain a complete inventory of other terminal environment inputs and dynamic setting overrides
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Retain a complete inventory of other terminal environment inputs and dynamic setting overrides. | `tests/test_environment_inventory.py` audits Python and native source reads, rejects missing documentation and exercises every dynamic schema alias.
    requirementTUI-RUNTIMELANDEDd2e3a7e63965
    TUI-RUNTIME-R015.42
    The documentation must define AGENT_LOG_FILE and AGENT_THEME behavior. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The documentation must define AGENT_LOG_FILE and AGENT_THEME behavior. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_42` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMELANDED2f6d1188fb53
    71e9ba4185f9
    TUI-RUNTIME-R015.42.1
    Operator documentation explains startup theme fallback and refusal of unbound AGENT_LOG_FILE paths
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Operator documentation explains startup theme fallback and refusal of unbound AGENT_LOG_FILE paths. | Documentation assertions accompany existing theme fallback and mounted log refusal tests.
    requirementTUI-RUNTIMELANDED2f6d1188fb53
    TUI-RUNTIME-R015.42.2
    Retain theme and log documentation acceptance for native and installed entry points
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Retain theme and log documentation acceptance for native and installed entry points. | `tests/test_entry_environment_pty.py` runs both real entry points with startup themes, unknown-name fallback, no-color values and an unbound log path. An actual-open probe rejects local file access. Documentation tests reject incorrect entry-point claims. Optional artifacts must be supplied for acceptance.
    requirementTUI-RUNTIMELANDED71e9ba4185f9
    TUI-RUNTIME-R015.43
    The repository must supply a credential-free environment configuration example. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The repository must supply a credential-free environment configuration example. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_43` must prove the criterion and reject a counterexample.
    requirementTUI-RUNTIMELANDEDe82e2fe60e0e
    TUI-RUNTIME-R015.44
    The client must obtain MCP configuration through the currently authorized served contract. Touches `agent_terminal_ui/client.py`
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The client must obtain MCP configuration through the currently authorized served contract. Touches `agent_terminal_ui/client.py`. | `tests/test_client_read_contracts.py` verifies get_mcp_config through authenticated fleet.status, including empty children, malformed values and refusal. Fleet status is the authorized replacement, not raw MCP configuration.
    requirementTUI-RUNTIMELANDED20e00677ac4c
    TUI-RUNTIME-R015.45
    The client must list MCP tools through the currently authorized served contract. Touches `agent_terminal_ui/client.py`
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The client must list MCP tools through the currently authorized served contract. Touches `agent_terminal_ui/client.py`. | `tests/test_client_read_contracts.py` verifies list_mcp_tools through authenticated fleet.catalog.list, bounded opaque pagination and no partial success after errors.
    requirementTUI-RUNTIMELANDED20e00677ac4c
    TUI-RUNTIME-R015.46
    The client must list conversation identifiers through the currently authorized served contract. Touches `agent_terminal_ui/client.py`
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The client must list conversation identifiers through the currently authorized served contract. Touches `agent_terminal_ui/client.py`. | `tests/test_client_read_contracts.py` verifies list_history_tasks returns caller contextId values through bounded tasks/list pages. This qualifies identifiers exposed by the current contract, not complete conversation enumeration, grouping, prior turns or resume.
    requirementTUI-RUNTIMELANDED20e00677ac4c
    TUI-RUNTIME-R015.47
    The client must follow TUI-RUNTIME-R012.4.2 failure semantics. Authenticated empty results differ from unavailable requests. Touches `agent_terminal_ui/client.py`
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The client must follow TUI-RUNTIME-R012.4.2 failure semantics. Authenticated empty results differ from unavailable requests. Touches `agent_terminal_ui/client.py`. | `tests/test_client_read_contracts.py` distinguishes authenticated empty results from denial, unavailable envelopes, malformed values and timeouts. Reads retain active context and never fall back to retired routes.
    requirementTUI-RUNTIMELANDED20e00677ac4c
    TUI-RUNTIME-R015.48
    The client changes must pass the configured lint and type hooks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The client changes must pass the configured lint and type hooks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | The recorded batch receipt must include successful configured all-file lint and type hooks. `tests/test_client_maintenance_gates.py` also exercises the same configured hooks with valid input and real error counterexamples. Contract tests alone do not establish candidate execution evidence.
    requirementTUI-RUNTIMELANDEDeada67552847
    TUI-RUNTIME-R015.49
    The client methods must carry type hints consistent with the existing code style. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The client methods must carry type hints consistent with the existing code style. Touches `agent_terminal_ui/`, tests or the named repository documentation. | Tests inspect production read signatures; configured type hooks must pass. Annotation presence alone is insufficient.
    requirementTUI-RUNTIMELANDED20e00677ac4c
    TUI-RUNTIME-R015.50
    The client tests must prove the three methods satisfy their contract. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The client tests must prove the three methods satisfy their contract. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_client_read_contracts.py` exercises production fleet status, tool catalog and task/context reads through HTTP fixtures, including positive results and contract-specific counterexamples.
    requirementTUI-RUNTIMELANDED20e00677ac4c
    TUI-RUNTIME-R015.51
    The owning client contract must record the method implementation and its acceptance evidence. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The owning client contract must record the method implementation and its acceptance evidence. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_client_maintenance_documentation.py` derives the three production method-to-operation mappings. It validates the owning table, completed command and outcome receipt, and explicit live acceptance residuals. Incorrect or missing mappings and evidence must fail.
    requirementTUI-RUNTIMELANDEDeada67552847
    TUI-RUNTIME-R015.52
    The repository must run available client maintenance checks. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The repository must run available client maintenance checks. Touches `agent_terminal_ui/`, tests or the named repository documentation. | The batch receipt records fresh client, mounted usage/history and maintenance checks with bounded workers. Configuration presence is not execution evidence.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.53
    The terminal must resolve the remaining theme-switch regression. Alt+Shift+T cycles registered Textual themes from the main screen without changing composer text or focus. Preserve no-color mode
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The terminal must resolve the remaining theme-switch regression. Alt+Shift+T cycles registered Textual themes from the main screen without changing composer text or focus. Preserve no-color mode. | Mounted keyboard tests in `tests/test_theme_keyboard.py` exercise the complete theme cycle, wraparound, focus, input isolation and no-color mode.
    requirementTUI-RUNTIMELANDED5a0e96ad3e4b
    TUI-RUNTIME-R015.54
    The terminal must assess the remaining environment-example and tool-guard obligations. Touches `agent_terminal_ui/`, tests or the named repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The terminal must assess the remaining environment-example and tool-guard obligations. Touches `agent_terminal_ui/`, tests or the named repository documentation. | `tests/test_source_quality.py::test_source_quality_54` checks the historical suggestion, current example and real client refusal against the assessment. Negative cases reject omitted scope, invented guard ownership and false completion claims. This assessment does not close served approval or coding-session acceptance.
    requirementTUI-RUNTIMELANDEDdced7cb6d64b
    TUI-RUNTIME-R015.55
    The repository must pass project metadata, layout and public-surface checks under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The repository must pass project metadata, layout and public-surface checks under quality acceptance v1. Touches source, tests and repository documentation. | Run project checks in the quality acceptance v1 matrix. Record the complete tracked-file scope and every finding.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.56
    Terminal source must meet the shared structural limits under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal source must meet the shared structural limits under quality acceptance v1. Touches source, tests and repository documentation. | Measure the full source and test tree against R015.1–R015.7, R015.19–R015.20 and R015.34–R015.35. A changed-file baseline does not prove acceptance.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.57
    Terminal source and locked dependencies must pass actual security scans under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal source and locked dependencies must pass actual security scans under quality acceptance v1. Touches source, tests and repository documentation. | Run source, secret and dependency scans. Retain raw reports, database dates and all severities; resolve every actionable finding.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.58
    Terminal tests must measure at least 80 percent line coverage and 80 percent branch coverage under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal tests must measure at least 80 percent line coverage and 80 percent branch coverage under quality acceptance v1. Touches source, tests and repository documentation. | Measure covered Python package lines and branches separately across the complete suite. Inventory native coverage separately; heuristic scores and test counts do not qualify.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.59
    Terminal documentation and governance must satisfy R015.10–R015.18 under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal documentation and governance must satisfy R015.10–R015.18 under quality acceptance v1. Touches source, tests and repository documentation. | Build documentation strictly, check links and examples, and run operator-documentation acceptance tests. Missing checks remain open.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.60
    Terminal architecture must satisfy R015.21–R015.23 under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal architecture must satisfy R015.21–R015.23 under quality acceptance v1. Touches source, tests and repository documentation. | Run boundary and dependency-seam tests against production imports and entry points. Record the full module responsibility map and unresolved violations.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.61
    Terminal concepts and tests must satisfy R015.24–R015.27 under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal concepts and tests must satisfy R015.24–R015.27 under quality acceptance v1. Touches source, tests and repository documentation. | Reconcile all declarations, implementation references and test bindings. Run spec and concept checks; resolve every orphan and missing binding.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.62
    The complete repository must pass configured commit and push hooks under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The complete repository must pass configured commit and push hooks under quality acceptance v1. Touches source, tests and repository documentation. | Run both all-file stages with exact configured pins. Failures, warnings, skipped hooks and unavailable dependencies prevent acceptance.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.63
    Terminal tests must pass the complete Python suite and configured native checks under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal tests must pass the complete Python suite and configured native checks under quality acceptance v1. Touches source, tests and repository documentation. | Record collection, execution and outcomes for every test. Explain skips and expected failures; missing required acceptance coverage prevents acceptance.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.64
    Terminal version mirrors and locked dependencies must remain consistent under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal version mirrors and locked dependencies must remain consistent under quality acceptance v1. Touches source, tests and repository documentation. | Run version dry-run, lock consistency and installed-version checks. Preserve historical reports outside authoritative version mirrors.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.65
    Terminal tests must satisfy R015.9 and R015.34–R015.40 under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal tests must satisfy R015.9 and R015.34–R015.40 under quality acceptance v1. Touches source, tests and repository documentation. | Check the complete test inventory, shared fixtures, structural limits and behavior-specific assertions. Exercise incorrect results; assertion counts alone do not qualify.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.66
    Terminal environment documentation must satisfy R015.41–R015.43 under quality acceptance v1. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal environment documentation must satisfy R015.41–R015.43 under quality acceptance v1. Touches source, tests and repository documentation. | Reconcile all Python, native and dynamic inputs with documented defaults and examples. Run environment, theme and log refusal tests.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.67
    Terminal source quality must satisfy every quality acceptance v1 domain without averaging failures. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal source quality must satisfy every quality acceptance v1 domain without averaging failures. Touches source, tests and repository documentation. | Require passing evidence for R015.55–R015.66, all 17 domain entries and the current finding inventory. Missing evidence prevents acceptance.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.68
    Terminal source quality must provide separate reproducible evidence for all 17 quality acceptance v1 domains. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Terminal source quality must provide separate reproducible evidence for all 17 quality acceptance v1 domains. Touches source, tests and repository documentation. | Use the complete domain matrix in test-spec.md. Each domain needs completed checks and explicit remaining gaps; a grade is insufficient.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.69
    The repository must resolve every actionable finding in the current quality acceptance v1 inventory. Touches source, tests and repository documentation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    The repository must resolve every actionable finding in the current quality acceptance v1 inventory. Touches source, tests and repository documentation. | Reconcile historical priorities with current scan findings by stable identifier. Require resolution evidence for each item; never infer closure from a count.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R015.70
    Source-quality repairs must preserve the installed native `tuig` command through `native/agent-terminal-ui/src/main.rs`
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    Source-quality repairs must preserve the installed native `tuig` command through `native/agent-terminal-ui/src/main.rs`. | `tests/test_installed_operator_entry.py::test_source_quality_entry_wiring` executes the installed wheel outside the checkout.
    requirementTUI-RUNTIMELANDED8d67aee7ffd9
    TUI-RUNTIME-R015.71
    A served integration test must launch the installed command and observe client behavior after source-quality repairs. It must distinguish a denied request from an authenticated empty result
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    A served integration test must launch the installed command and observe client behavior after source-quality repairs. It must distinguish a denied request from an authenticated empty result. | `tests/test_installed_operator_entry.py::test_installed_observer_distinguishes_denied_and_empty_reads` and negative cases; see operator package qualification receipt.
    requirementTUI-RUNTIMELANDED2f8561f36c43
    TUI-RUNTIME-R012.3.1
    Read caller task history without claiming conversation resume
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Read caller task history without claiming conversation resume.** `/history` opens a responsive loading view before its first bounded `tasks/list` read and displays the selected task through `tasks/get`. Escape must close while that first read is pending. A failed initial read stays retryable with R. R refreshes the first server page and resets pagination. A failed refresh clears old task rows and replies; R can retry the read. Closing invalidates pending refreshes, including late completions that suppress cancellation. Preserve opaque cursor and task/context identity, render only returned text artifacts, and show missing replies explicitly. Browsing changes no active conversation, submits no turn and stores no transcript. The parent remains open for ordered context summaries, prior user turns and model-history continuation. | Transport and mounted-screen tests cover two contexts, pagination, a fresh client reading persisted task output, owner refusal, unavailable replies and unchanged active context.
    requirementTUI-RUNTIMELANDED0d315dab9c4c
    2423325a6ff1
    452ee3eae931
    655161ef1a11
    9dae309b58c9
    TUI-RUNTIME-R012.3.2
    Remaining conversation resume acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining conversation resume acceptance.** Preserve all R012.3 requirements: caller-context summaries from tasks/list, selected-context prior user and assistant turns from tasks/get, --continue and continuation with model history after restart. Read-only task browsing does not close this row. | A served fixture lists two contexts, resumes the older one after restart and continues with prior turns visible and available to the model; foreign contexts are refused.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R002.1.3.2.2.2.1
    Bounded native unary reply display
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Bounded native unary reply display.** Display completed task text artifacts literally, with bounded text and part counts. Preserve explicit empty replies and distinguish unavailable output. Clear stale output after refresh, refusal, cancellation or changed binding. This child does not provide streaming, durable history or full served chat recovery. | Task output parser, HTTP and production renderer tests cover bounds, malformed parts, unavailable output and clearing.
    requirementTUI-RUNTIMEVERIFIED90fadd31b95d
    native/agent-terminal-ui/src/main.rs:1073
    native/agent-terminal-ui/src/task_output.rs:131
    native/agent-terminal-ui/src/task_output.rs:83
    native/agent-terminal-ui/src/task_output.rs:98
    native/agent-terminal-ui/tests/task_output.rs:21
    TUI-RUNTIME-R008.2.3.2.2.3
    Native single-row keyboard scrolling
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native single-row keyboard scrolling.** Up and Down move one wrapped row. Clamp both ends and empty viewports, and preserve the requested row after refresh and resize. Full selection, accessibility, theme and served performance acceptance remain in the parent. | Production viewport tests check wrapped row movement, refresh restoration and boundary clamping.
    requirementTUI-RUNTIMEVERIFIED90fadd31b95d
    native/agent-terminal-ui/src/presentation.rs:367
    native/agent-terminal-ui/src/presentation.rs:408
    TUI-RUNTIME-R012.6.1
    Transient native turn usage receipt
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Transient native turn usage receipt.** Display the optional task receipt only when task, context and run match. Preserve five supplied integer counters in 0..9007199254740991. Distinguish zero from missing values. Invalid receipts remain unavailable without hiding a valid reply; a read without a receipt clears old usage. Do not derive session totals or costs. The parent still requires served usage.read turn and session cost acceptance. | Usage parser, HTTP and renderer tests cover binding, malformed counters, zero versus missing, valid reply preservation and clearing.
    requirementTUI-RUNTIMEVERIFIED90fadd31b95d
    native/agent-terminal-ui/src/main.rs:1020
    native/agent-terminal-ui/src/turn_usage.rs:101
    native/agent-terminal-ui/src/turn_usage.rs:125
    native/agent-terminal-ui/src/turn_usage.rs:145
    native/agent-terminal-ui/src/turn_usage.rs:180
    TUI-RUNTIME-R002.1.3.2.2.2.2
    Bounded queued unary submission deadline
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Bounded queued unary submission deadline.** Default native submission timeout to 300 seconds; accept AGENT_SUBMISSION_TIMEOUT_SECONDS only as whole seconds in 1..900. Preserve shorter read and cancellation deadlines and responsive local cancellation. Interrupted or timed-out sends remain unknown and are never automatically replayed. Full served chat recovery remains in the parent. | Submission HTTP and argument tests check queue delay beyond the read deadline, configured bounds, unknown timeout and no resend.
    requirementTUI-RUNTIMEVERIFIED90fadd31b95d
    native/agent-terminal-ui/src/main.rs:1793
    native/agent-terminal-ui/tests/submission.rs:232
    native/agent-terminal-ui/tests/submission.rs:25
    native/agent-terminal-ui/tests/submission.rs:50
    native/agent-terminal-ui/tests/submission.rs:69
    TUI-RUNTIME-R002.1.3.2.2.2.3
    Explicit committed-event read enrichment
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Explicit committed-event read enrichment.** Ordinary tasks/get omits committed-event enrichment. Only AGENT_INCLUDE_COMMITTED_EVENT=true opts in under the existing credential. Refusal must stop without downgrade or alternate retrieval. Omitted evidence remains unavailable while permitted artifacts may display. This child grants no authority and does not close served recovery. | Argument and authenticated HTTP tests check default omission, explicit opt-in, unavailable evidence and refusal without retry.
    requirementTUI-RUNTIMEVERIFIED90fadd31b95d
    native/agent-terminal-ui/src/main.rs:1821
    native/agent-terminal-ui/tests/task_snapshot.rs:156
    native/agent-terminal-ui/tests/task_snapshot.rs:196
    native/agent-terminal-ui/tests/task_snapshot.rs:235
    native/agent-terminal-ui/tests/task_snapshot.rs:59
    TUI-RUNTIME-R002.1.3.2.2.2.4
    Remaining served stream recovery acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining served stream recovery acceptance.** Preserve every R002.1.3.2.2.2 criterion beyond unary display, submission deadlines and optional enrichment. Prove production session continuity, streaming, replay, resnapshot and reconnect through Arbora and the native UI. Keep prior transports until accepted cutover. | Full served receipts remain required; local unary tests cannot close this row.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R008.2.3.2.2.4
    Remaining served presentation qualification
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining served presentation qualification.** Preserve every R008.2.3.2.2 criterion beyond single-row arrows: all tokens, selection, full keyboard parity, no-color, reduced motion and scroll retention. Compare Python and native served journeys and run R002 release performance acceptance. | Full served parity and release performance receipts remain required.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.6.2
    Served turn and session token and cost display
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Served turn and session token and cost display.** Read caller usage through served usage.read and label tokens and cost per turn and per session. Missing or refused values display unavailable, never zero. Transient task receipts do not replace this contract. | A served fixture renders turn and session totals and unavailable values after operation refusal.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.1.1
    Nonblocking Python unary turns
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Nonblocking Python unary turns.** Send one message with configuration.blocking=false. Poll the returned task with a four-hour bound. Preserve task, context and run identity. Render terminal replies and failures. Stop on refusal, timeout or local cancellation without submitting again. Remote cancellation uses the returned task ID. | Protocol tests cover pending, completed, failed, canceled, denied, mismatched and timed-out tasks. Served acceptance remains separate.
    requirementTUI-RUNTIMELANDEDa5d2491e870f
    ad7aa10ab43c
    TUI-RUNTIME-R012.1.2
    Remaining live turn parity
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining live turn parity.** Preserve every R012.1 criterion beyond Python unary polling. Native served polling, streaming, tool blocks and full mounted cancellation acceptance remain required. Polling is not streaming or active-crash resume. | Served Python and native journeys remain required.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.1.3
    Native nonblocking unary observation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native nonblocking unary observation.** Submit once with configuration.blocking=false. Read the admitted task automatically for at most four hours, preserving task, context and run identity. Stop on terminal state, refusal or timeout. Pause reads during cancellation confirmation. Manual refresh remains available; timeout does not imply remote cancellation. | Native protocol and UI tests cover admission, terminal states, mismatched identity, timeout and confirmation. Full served streaming and crash resume remain open.
    requirementTUI-RUNTIMEVERIFIED8879717e48eb
    a93e9af66074
    e79cd23f71cc
    native/agent-terminal-ui/src/cli.rs:38
    native/agent-terminal-ui/src/composer.rs:132
    native/agent-terminal-ui/src/composer.rs:149
    native/agent-terminal-ui/src/headless.rs:66
    native/agent-terminal-ui/src/headless.rs:90
    TUI-RUNTIME-R002.1.3.3
    Explicit loopback anonymous native tasks
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Explicit loopback anonymous native tasks.** AGENT_AUTH_MODE=none permits ordinary task submission, reads, observation, registry-backed inspector reads and cancellation without credentials. Reject remote endpoints and any bearer in this mode. Disable proxies and redirects and pin localhost to loopback. Preserve bearer defaults, no downgrade, and authenticated host-log authority checks. | Native positive transport and zero-request refusal tests, plus separate actual EG/Arbora integration evidence. No full chat or signed identity acceptance.
    requirementTUI-RUNTIMEVERIFIED65d859ac8296
    native/agent-terminal-ui/src/run_inspector_client.rs:577
    native/agent-terminal-ui/tests/anonymous.rs:107
    native/agent-terminal-ui/tests/anonymous.rs:13
    native/agent-terminal-ui/tests/anonymous.rs:40
    native/agent-terminal-ui/tests/anonymous.rs:84
    TUI-RUNTIME-R008.2.3.2.2.1
    Collapsed public details in both terminals
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Collapsed public details in both terminals.** Public model summaries and execution traces have distinct labels. Both sections are collapsed initially. Keyboard and mouse activation must change only the selected fold. Preserve explicit user choice through streaming, replay and reconnect for the same run and event identity. Send both authoritative task and run IDs; opaque task identifiers must remain unchanged. Display only the public Arbora projection; private reasoning and unknown fields must not appear. Clear protected values after refusal or identity changes, including malformed context or run identifiers for an already displayed task. A refused binding must not resume reads until the exact binding is validated again. Legacy replay views must refuse this incompatible schema explicitly. | Mounted Textual and native production-handler/render tests use shared deterministic events. They cover focus, input isolation, replay, refusal, controls and unavailable summaries. This row excludes full served parity and release qualification.
    requirementTUI-RUNTIMEVERIFIED1947bf563007
    49404376c22b
    4f460e776734
    native/agent-terminal-ui/src/inspector_view.rs:785
    native/agent-terminal-ui/src/public_details_view.rs:451
    native/agent-terminal-ui/src/public_details_view.rs:515
    native/agent-terminal-ui/src/public_details_view.rs:571
    native/agent-terminal-ui/src/public_details_view.rs:627
    TUI-RUNTIME-R008.2.3.2.2.2
    Remaining full presentation qualification
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining full presentation qualification.** Preserve every original R008.2.3.2.2 criterion outside the bounded public-detail slice. The two children retain keyboard and complete presentation acceptance. | Children TUI-RUNTIME-R008.2.3.2.2.2.1 and TUI-RUNTIME-R008.2.3.2.2.2.2. Both must pass.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R008.2.3.2.2.2.1
    Python composer-to-fold keyboard route
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Python composer-to-fold keyboard route.** F8 switches between the conversation and composer without replacing Tab completion or Shift+Tab focus navigation. Tab reaches public fold titles; Enter and Space toggle them. Refresh retains fold state, focus and scroll. | Whole-app keyboard fixtures verify focus, fold state, event identities and scroll retention. Actual fullscreen PTY journeys qualify expansion, replay, collapse, composer return and quit in anonymous and bearer modes.
    requirementTUI-RUNTIMELANDED49404376c22b
    TUI-RUNTIME-R008.2.3.2.2.2.2
    Retained complete presentation acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Retained complete presentation acceptance.** Preserve every original R008.2.3.2.2 criterion. These include complete tokens and selection, full keyboard parity, no-color and reduced motion. Retain scroll retention, served journeys and release performance. | Full served parity and release performance receipts remain required. The focused Python keyboard route cannot satisfy this row.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.1.4
    Mounted tool detail updates
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Mounted tool detail updates.** A tool header is focusable and keyboard/mouse expandable. Honor the existing tool_expand setting until the user explicitly chooses a state. Determine available content after display filtering. An empty block must not record a fold choice. Later output, terminal status and duplicate call updates must not override that choice. Mount late output and update existing Markdown and literal details without duplicate widgets or lost focus. | Mounted conversation tests cover each expansion mode, late and repeated output, explicit collapse, empty output and inert header/details text. This row does not claim served live-turn transport.
    requirementTUI-RUNTIMELANDED49404376c22b
    e59e3a013718
    TUI-RUNTIME-R012.4.3.3
    Unavailable session and fast-mode commands
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Unavailable session and fast-mode commands.** Until authorized upstream contracts exist, /bg and /attach display one unavailable notice without changing session state. /fast and Alt+O display one unavailable notice without changing model selection or a local fast-mode flag. | Mounted AgentApp keyboard tests cover arguments and the shortcut. They preserve session identity and queue, with zero model turns. These fixtures do not establish backend acceptance.
    requirementTUI-RUNTIMELANDED7957c3d08f87
    TUI-RUNTIME-R008.2.3.2.2.2.2.1
    Native held-key viewport navigation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native held-key viewport navigation.** Accept repeat events for unmodified Up, Down, Left, Right, PageUp, PageDown, Home and End. Use the existing task, inspector and log viewport routes. Ignore release events and repeated action or modified keys. Preserve ordinary press behavior. | Production event-filter and viewport tests verify repeated scrolling and inert repeated actions. This child does not establish live backend or complete presentation acceptance.
    requirementTUI-RUNTIMEVERIFIEDbe1eabdd50cc
    native/agent-terminal-ui/src/presentation.rs:86
    TUI-RUNTIME-R008.2.3.2.2.2.2.2
    Remaining complete presentation acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Remaining complete presentation acceptance.** Retain every parent criterion beyond held-key navigation, including complete tokens, selection, keyboard parity, no-color, reduced motion, scroll retention, served journeys and release performance. | Full served parity and release performance receipts remain required.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R008.2.3.2.2.2.2.2.1
    Native mouse-wheel viewport navigation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native mouse-wheel viewport navigation.** Unmodified vertical wheel events move one wrapped row in the visible task, inspector or host-log viewport, using existing keyboard scroll bounds and refresh/resize retention. Do not change hidden viewports, fold selection or expansion. Ignore modified wheel events and wheel input during cancellation confirmation. | Production mouse-route, renderer and viewport tests verify active-view isolation, bounds, fold preservation and refusal. Local fixtures do not establish served acceptance.
    requirementTUI-RUNTIMEVERIFIED3012107de7fb
    native/agent-terminal-ui/src/presentation.rs:310
    native/agent-terminal-ui/src/public_details_view.rs:326
    TUI-RUNTIME-R008.2.3.2.2.2.2.2.2
    Retained full presentation qualification
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Retained full presentation qualification.** Preserve every parent criterion beyond wheel navigation. These include complete tokens, selection, keyboard parity, no-color, reduced motion and scroll retention. Served journeys and release performance remain required. | Exit-modal keyboard regression tests cover arrow navigation, Space activation and composer focus restoration. Full served parity and release performance receipts remain required; this row stays open.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.3.1.1
    Return to previous task pages
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Return to previous task pages.** P rereads the previous page through tasks/list with its original opaque cursor. Keep only the current page and navigation cursors. Clear old rows and replies during reads and after failure. Failed reads retain their navigation position for retry. R resets the path. Ignore duplicate navigation while pending and discard late completions after close. This does not provide conversation resume. | Mounted HTTP-fixture tests cover forward/back/forward reads, empty pages, refusal and retry, refresh reset, duplicate input and cancellation-suppressed completions.
    requirementTUI-RUNTIMELANDED2423325a6ff1
    TUI-RUNTIME-R010.10
    Search the native inspector's displayed text
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Search the native inspector's displayed text.** Ctrl+F opens a bounded local query. Match logical lines case-insensitively, reverse the selected line and reveal its first wrapped row. Enter and Shift+Enter cycle matching lines; Backspace edits; Escape closes search before closing the inspector. Typed action letters belong to search, while Ctrl+C still quits. Recompute matches from current display after resize, expiry or refusal; clear search on close or changed task binding. Make no search network requests. | Native production input and renderer tests cover match navigation, Unicode, query bounds, action isolation, expiry/refusal and lifecycle. This local interaction child does not close full served inspector or presentation qualification.
    requirementTUI-RUNTIMEVERIFIED53bb3b5ca03e
    native/agent-terminal-ui/src/inspector_view.rs:636
    native/agent-terminal-ui/src/inspector_view.rs:671
    native/agent-terminal-ui/src/inspector_view.rs:722
    TUI-RUNTIME-R016
    Refresh documentation screenshots
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Refresh documentation screenshots.** Render the production Python Textual app with synthetic content at fixed compact and wide sizes. Export stable SVG assets for README and docs with a refresh command and read-only freshness check. Isolate settings, credentials, workspace and service access. Label demo provenance without native or served-parity claims. | `tests/test_documentation_screenshots.py` verifies deterministic exports, expected views, freshness failures and private-state isolation.
    requirementTUI-RUNTIMELANDED2b219f071c62
    TUI-RUNTIME-R010.11
    Consume authoritative execution identity and updates
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Consume authoritative execution identity and updates.** Extend `agent_terminal_ui/client.py` and `native/agent-terminal-ui/src` through the generated Arbora client. Keep root task, run, context and run-local step identities distinct. Consume versioned snapshots, explicit edge kinds, completeness and per-run cursors. Preserve replay-v1 decoding; negotiate new projections separately. Never infer a child from a span, name or shared run identifier. Depends-on: ARBORA-OPS-R021.4.8. | Planned `tests/test_execution_explorer_contract.py::test_snapshot_identity_and_recovery` and native contract tests reject cross-owner, malformed, stale and unsupported snapshots.
    requirementTUI-RUNTIMESPECIFIEDnative/agent-terminal-ui/src/execution_graph.rs:362
    native/agent-terminal-ui/src/execution_graph.rs:405
    native/agent-terminal-ui/src/execution_graph.rs:437
    native/agent-terminal-ui/src/execution_graph.rs:474
    native/agent-terminal-ui/src/execution_graph.rs:537
    TUI-RUNTIME-R010.12
    Navigate the execution hierarchy and dependency graph
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Navigate the execution hierarchy and dependency graph.** Extend the existing terminal inspection surfaces, not a second scheduler. Show `spawned_child` and `depends_on` edges separately. Selecting a node opens its authorized details without retargeting the composer. Provide stable typed locators, ancestor breadcrumbs and keyboard-accessible adjacency lists at narrow widths. | Planned `tests/test_execution_explorer.py::test_nested_navigation` and native renderer tests cover three execution levels, shared dependencies, focus and reopen.
    requirementTUI-RUNTIMESPECIFIED55431e8da128
    5f25c6dfa910
    659152bb71ad
    6c1e6f34dc0e
    native/agent-terminal-ui/src/execution_graph.rs:362
    native/agent-terminal-ui/src/execution_graph.rs:405
    native/agent-terminal-ui/src/inspector_view.rs:1040
    native/agent-terminal-ui/src/inspector_view.rs:1096
    TUI-RUNTIME-R010.13
    Inspect a selected node's public records
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Inspect a selected node's public records.** Reuse existing summary, trace and tool folds for authorized public records. Label summaries, tool activity and transcript separately. Bind records and fold state to the complete node identity. Preserve choices during replay; clear protected content on denial or binding change. Never expose private reasoning. Depends-on: ARBORA-OPS-R021.4.9. | Planned `tests/test_execution_explorer.py::test_public_records_and_folds` covers duplicate events, unavailable transcripts, late results, terminal controls and revocation.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.14
    Prove the served execution explorer
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Prove the served execution explorer.** Enter the production Python and native terminals through the existing client. Qualify nested navigation, graph updates and public records against one released producer contract. Keep existing inspector, presentation and transport acceptance open until independently satisfied. | Planned `tests/test_execution_explorer_served.py::test_nested_graph_journey` records actual parent/child/grandchild, fan-out/fan-in, reconnect, denial and cancellation evidence. Synthetic graphs cannot close this row.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.7
    Message an active child explicitly
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Message an active child explicitly.** Extend the selected-node interaction through the existing client and composer. Enable `Message active child` only with `can_message_active` and an exact owner-issued target binding. Keep inspection separate from message targeting. Display accepted, rejected and unknown outcomes without automatic resend. Depends-on: ARBORA-RELEASE-R003.4.12. | Planned `tests/test_execution_explorer_controls.py::test_active_child_target` verifies exact child delivery, unchanged root/siblings, expired capabilities and lost-response refusal.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.8
    Continue a completed child separately
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Continue a completed child separately.** Show `Continue completed child` only with `can_continue_completed`. Use the producer's continuation binding and returned identity. Preserve the completed execution and its history. Never emulate continuation through root chat, local history injection or a fresh unbound agent. Depends-on: ARBORA-RELEASE-R003.4.13. | Planned `tests/test_execution_explorer_controls.py::test_completed_child_continuation` checks distinct action labels, history linkage, returned identity and unsupported refusal.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R012.9
    Qualify targeted interaction through the served terminal
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Qualify targeted interaction through the served terminal.** Prove both targeted actions through the existing client and production composer. Revalidate capabilities after selection, lifecycle, owner or connection changes. Cancellation must address only the producer-authorized target. | Planned `tests/test_execution_explorer_served.py::test_targeted_child_controls` proves intended-child delivery, terminal continuation, cancellation acknowledgement, race handling and zero unauthorized effects.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R008.3
    Add an optional Canopy palette
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Add an optional Canopy palette.** Extend the existing native presentation selection with dark green, sage and stone tokens. Keep the current default, all existing themes, explicit choices, runtime cycling and no-color rules. Use opaque terminal colors, readable borders and a 4.5:1 text contrast floor. Do not simulate glass or add animation. | Production native interaction tests must cover selection, resizing, composer retention and cycling. Native buffer tests cover startup, F6, no-color and contrast. Compiled terminal qualification remains required.
    requirementTUI-RUNTIMESPECIFIED489292f90ac6
    native/agent-terminal-ui/src/inspector_view.rs:936
    native/agent-terminal-ui/src/presentation.rs:208
    native/agent-terminal-ui/src/presentation.rs:548
    native/agent-terminal-ui/src/spatial_graph.rs:359
    tests/test_native_gallery.py:15
    TUI-RUNTIME-R010.12.1
    Add a bounded read-only spatial flat DAG
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Add a bounded read-only spatial flat DAG.** Render only the validated ExecutionGraph through a separate stable layered layout. Reuse InspectorView ownership, generation and clear guards. Provide explicit map/list switching, bounded pan, selected-node focus and a narrow-terminal list fallback. Keep the node and dependency list, selected details, lifecycle caveats and unsupported child actions available. No new graph authority, identities, transport, scheduler or effects. | Layout and native buffer tests cover chains, diamonds, disconnected nodes, maximum bounds and hostile labels. They also cover resize, selection, pan, search fallback and protected-data clearing. Compiled PTY qualification remains required. This slice does not close the nested explorer or complete presentation acceptance.
    requirementTUI-RUNTIMEVERIFIED55431e8da128
    5f25c6dfa910
    659152bb71ad
    6c1e6f34dc0e
    native/agent-terminal-ui/src/inspector_view.rs:936
    native/agent-terminal-ui/src/inspector_view.rs:937
    native/agent-terminal-ui/src/spatial_graph.rs:272
    native/agent-terminal-ui/src/spatial_graph.rs:307
    native/agent-terminal-ui/src/spatial_graph.rs:359
    TUI-RUNTIME-R008.3.1
    Implement optional Canopy tokens
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Implement optional Canopy tokens.** Register the palette in the existing native theme path without changing defaults or existing choices. Preserve opaque colors, no-color rules and cycling. | Native source tests bind the palette, contrast and control changes. This source slice does not establish compiled acceptance.
    requirementTUI-RUNTIMEVERIFIED5f25c6dfa910
    6c1e6f34dc0e
    706cd3661212
    native/agent-terminal-ui/src/presentation.rs:208
    native/agent-terminal-ui/src/presentation.rs:548
    TUI-RUNTIME-R008.3.2
    Qualify complete Canopy behavior
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Qualify complete Canopy behavior.** Preserve every R008.3 criterion. Execute current native contrast and theme tests, both compiled PTY color modes and the installed startup matrix. | Record exact source and artifact receipts. Collection, source tests and skipped optional tests cannot close this row.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R010.12.1.1
    Implement the bounded spatial flat DAG
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Implement the bounded spatial flat DAG.** Add the separate layout and existing inspector controls, viewport focus, narrow/search fallback and protected-data clearing. Show selected-node dependency edges with an explicit label; keep every dependency in the list. | Native layout, buffer and PTY tests bind the source paths. Their presence does not establish execution.
    requirementTUI-RUNTIMEVERIFIED55431e8da128
    5f25c6dfa910
    6c1e6f34dc0e
    native/agent-terminal-ui/src/inspector_view.rs:936
    native/agent-terminal-ui/src/spatial_graph.rs:272
    native/agent-terminal-ui/src/spatial_graph.rs:307
    native/agent-terminal-ui/src/spatial_graph.rs:359
    TUI-RUNTIME-R010.12.1.2
    Qualify the spatial flat DAG
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Qualify the spatial flat DAG.** Preserve every R010.12.1 criterion, including bounds, hostile labels, selection, resize, pan, search, no-color, clearing and effect isolation. | Execute the native suite and both required real PTY map cases against the exact compiled source. Retain full hierarchy, served parity and performance obligations.
    requirementTUI-RUNTIMEVERIFIED659152bb71ad
    native/agent-terminal-ui/src/inspector_view.rs:937
    native/agent-terminal-ui/src/spatial_graph.rs:272
    native/agent-terminal-ui/src/spatial_graph.rs:307
    native/agent-terminal-ui/src/spatial_graph.rs:359
    tests/test_native_spatial_graph_pty.py:29
    TUI-RUNTIME-R010.12.2
    Retain complete hierarchy navigation acceptance
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Retain complete hierarchy navigation acceptance.** Preserve every R010.12 criterion beyond the bounded flat map. Show `spawned_child` and `depends_on` edges separately. Node selection must open authorized details without retargeting the composer. Require stable typed locators, ancestor breadcrumbs and narrow keyboard-accessible adjacency lists. | Planned nested-navigation tests must cover three execution levels, shared dependencies, focus and reopen. Retain invalid-locator, missing-ancestor and 40-column composer-preservation checks from the test specification. Flat-only fixtures cannot qualify this row. R010.14 retains the separate served qualification.
    requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
    TUI-RUNTIME-R008.4
    Preserve native input across resize
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Preserve native input across resize.** A resize must not strand already queued keys. Keep key order, ordinary navigation, effect isolation and terminal restoration. Do not inject sentinel input or require a later key. | Execute ordinary rapid resize/navigation and controlled co-ready resize/input PTY cases against the exact compiled checkout. Existing native tests and all required PTY journeys must pass. Source checks and older binaries do not qualify this row.
    requirementTUI-RUNTIMEVERIFIED55431e8da128
    659152bb71ad
    tests/test_native_execution_graph_contract.py:20
    tests/test_native_public_details_pty.py:272
    TUI-RUNTIME-R008.4.1
    Select a supported native input backend
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Select a supported native input backend.** Use the existing Crossterm version's supported readiness backend without changing terminal ownership, graph routing or Windows behavior. Keep the dependency closure locked. | Source guards bind the backend feature and controlled PTY regression. Their presence does not establish compiled acceptance.
    requirementTUI-RUNTIMEVERIFIED55431e8da128
    tests/test_native_execution_graph_contract.py:20
    TUI-RUNTIME-R008.4.2
    Qualify native resize/input delivery
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Qualify native resize/input delivery.** Preserve every R008.4 criterion. Retain the original rapid assertion and add a bounded controlled resize/input case. No sentinel, sequential wait or timeout relaxation may replace the failing scenario. | Record exact compiled source and repeated real PTY results. Retain broader cross-terminal, served and release qualification.
    requirementTUI-RUNTIMEVERIFIED659152bb71ad
    tests/test_native_public_details_pty.py:272
    TUI-RUNTIME-R012.6.3
    Display bound Python turn receipts
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Display bound Python turn receipts.** Decode the existing Arbora task receipt only when its task, context and run match the terminal event and any selected history task. Preserve the five supplied integer counters in 0..9007199254740991. Missing and refused receipts remain unavailable, not zero. Clear prior measurements on a new turn, error or read without a valid receipt. Replace snapshots on replay; never accumulate totals. Reuse the status line and read-only task history. No new endpoint, store, pricing or inferred session totals. | Python decoder, transport and mounted display/history tests cover binding refusal, malformed counters, zero, replay, fresh-client reads and clearing. This source slice does not qualify an installed producer journey or close R012.6.2.
    requirementTUI-RUNTIMELANDED706cd3661212
    TUI-RUNTIME-R012.1.3.1
    Native headless invocation
    Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal Arbora operation clientCanonical requirement and verification source
    **Native headless invocation.** The sole `tuig` executable accepts `--headless` with exactly one prompt or observed task. Reuse native authenticated unary submission and bounded observation, preserve opaque correlation and unknown mutation outcomes, and refuse unsupported options. Never approve or cancel remotely from headless execution. | Parser tests reject duplicates, missing intent and unsupported combinations. Native state tests establish successful completion only for completed tasks. Served parity, streaming and full native cutover remain open.
    requirementTUI-RUNTIMEVERIFIEDe79cd23f71cc
    native/agent-terminal-ui/src/cli.rs:38
    native/agent-terminal-ui/src/headless.rs:66
    native/agent-terminal-ui/src/headless.rs:90
    tests/test_native_headless.py:18
    tests/test_native_only_runtime.py:9
    TitleSpec delivery: tuig
    RepositoryKnuckles-Team/tuig
    Commitcabf879b19f6
    Captured (UTC)2026-10-25T22:40:52
    Snapshotsnapshot.json (v1)
    Sourcespecs/*/status.json
    Sheet1 of 1