A

Delivery structure

1 specs, 30 requirements, 0 with no code mapped
Knuckles-Team/agent-terminal-uiSpec delivery
Specs (1)
  • TUI-RUNTIME30
Records not done
  • Requirementsall slices in all specs30
  • Requirements not donenot VERIFIED17
  • Specs not donewhole specs only1

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

B

Delivery states

count of total

Requirements (30)

SPECIFIED (specified)17 of 30 requirements
VERIFIED (verified)13 of 30 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 GraphOS operation client3013/3013SPECIFIEDagent_terminal_ui/app.py implementation: file exists; coverage not verified
agent_terminal_ui/client.py implementation: file exists; coverage not verified
agent_terminal_ui/commands.py implementation: file exists; coverage not verified
agent_terminal_ui/commands.py:244 implementation: file exists; coverage not verified
agent_terminal_ui/skills/agent-terminal-ui-development/SKILL.md documentation: file exists; coverage not verified
`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/agent-terminal-ui / Unassigned (1)
Knuckles-Team/agent-terminal-ui / Unassigned (1)TUI-RUNTIME

TUI-RUNTIME: no plan diagram declared.

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/agent-terminal-ui / Unassigned
SpecRelationshipTargetEvidence
TUI-RUNTIMENo relationships declared; dependencies unknown
G

Open issues and pull requests

open at capture

Issues

0 open at capture.

    Pull Requests

    0 open at capture.

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

      J

      Record inventory

      31 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 (31 rows)
      ID / sourceKindParentStateCommit / test evidence
      TUI-RUNTIME
      TUI-RUNTIME — Terminal GraphOS 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 GraphOS operation clientCanonical requirement and verification source
      **Terminal operation client issues typed commands with pending approvals.** Agent-terminal-ui's client and commands modules validate an operation ID and JSON input against the installed generated Graph OS registry before invoking it, and surface an A2A approval exchange as pending rather than granting it locally; approval actions stay unavailable until the corresponding Graph OS 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-RUNTIMEVERIFIEDd2b5cea055c8
      TUI-RUNTIME-R001.1
      Known op and object params produce one versioned request with correct envelope
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS 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 ID, malformed JSON, array input, unknown op, missing registry file and digest mismatch make zero effect requests
      requirementTUI-RUNTIMEVERIFIEDd309979d133f
      tests/test_client.py:359
      tests/test_client.py:377
      tests/test_client.py:396
      tests/test_client.py:439
      tests/test_client.py:472
      TUI-RUNTIME-R001.2
      Verified caller header reaches remote GraphOS only over TLS
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **Verified caller header reaches remote GraphOS 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 GraphOS only over TLS. Remote HTTP, absent/invalid bearer, credential in exception/log/snapshot all fail
      requirementTUI-RUNTIMEVERIFIEDd309979d133f
      tests/test_client.py:107
      tests/test_client.py:113
      tests/test_client.py:120
      tests/test_client.py:98
      TUI-RUNTIME-R001.3
      One /confirm resumes exactly the issued plan
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS 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-RUNTIMEVERIFIEDd309979d133f
      tests/test_client.py:508
      tests/test_client.py:527
      tests/test_client.py:556
      tests/test_commands.py:732
      tests/test_commands.py:784
      TUI-RUNTIME-R001.4
      Typed success renders and chat remains functional
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS 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-RUNTIMEVERIFIED00fa879f55f8
      d309979d133f
      tests/test_client.py:196
      tests/test_client.py:208
      tests/test_client.py:232
      TUI-RUNTIME-R001.5
      Pending request is displayed. No effect is asserted
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS 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-RUNTIMEVERIFIEDd309979d133f
      tests/test_client.py:540
      tests/test_client.py:569
      tests/test_client.py:592
      tests/test_client.py:606
      tests/test_client.py:629
      TUI-RUNTIME-R001.6
      Base chat works. Compatible optional install enables /op
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS 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.11 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-RUNTIMEVERIFIEDd309979d133f
      tests/test_client.py:407
      tests/test_client.py:423
      tests/test_commands.py:768
      TUI-RUNTIME-R001.7
      Legacy screens still render or use served replacement
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS 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-RUNTIMEVERIFIEDd309979d133f
      tests/test_client.py:688
      tests/test_commands.py:800
      tests/test_import_guard.py:46
      tests/test_import_guard.py:53
      tests/test_import_guard.py:63
      TUI-RUNTIME-R002
      Terminal chat transport is reconciled with the current Graph OS boundary
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **Terminal chat transport is reconciled with the current Graph OS boundary.** Agent-terminal-ui selects and implements one canonical transport for its primary conversational connection to Graph OS in place of the unmounted streaming and remote-procedure routes it currently expects, updates its client to that transport atomically, and removes the superseded code path. | Session, authentication, streaming and cancel behavior against the chosen transport are proven by integration tests before the superseded path is removed.
      requirementTUI-RUNTIMESPECIFIEDd2b5cea055c8
      d309979d133f
      tests/test_client.py:136
      tests/test_client.py:261
      tests/test_client.py:285
      tests/test_client.py:313
      TUI-RUNTIME-R003
      Packaged development skill carries the rapid-delivery contract
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS 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 agent-webui'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-RUNTIMEVERIFIED1f9a26a46229
      tests/test_skill_package.py:10
      TUI-RUNTIME-R004
      Pre-commit runs the spec and sprawl hooks agent-webui runs
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **Pre-commit runs the spec and sprawl hooks agent-webui runs.** Add the `spec-standard`, `check-public-specs`, `ste-staged`, `check-root-hygiene` and `check-gitignore-convergence` hook ids to `.pre-commit-config.yaml`. | `tests/test_precommit_hooks.py::test_spec_hooks_present` parses the config and asserts each id.
      requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
      TUI-RUNTIME-R005
      Docs layout matches agent-webui
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **Docs layout matches agent-webui.** 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:9
      TUI-RUNTIME-R006
      Pyproject configures the pipelines hook sections
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS 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:9
      TUI-RUNTIME-R007
      Release workflow caller matches agent-webui
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **Release workflow caller matches agent-webui.** 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-RUNTIMESPECIFIEDNo recorded commit/test evidence
      TUI-RUNTIME-R008
      Terminal theme tokens and accessibility are a stated contract
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **Terminal theme tokens and accessibility are a stated contract.** `agent_terminal_ui/app.py` selects a Textual theme by name. State the token set, contrast floor and a no-colour fallback, as the design-system area in agent-webui does. | `tests/test_app_handlers.py::test_theme_tokens_and_no_color_fallback` asserts the default theme and the fallback.
      requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
      TUI-RUNTIME-R009
      AGENTS.md sections match agent-webui
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **AGENTS.md sections match agent-webui.** 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:17
      TUI-RUNTIME-R010
      Run harness surface is read-only and honest
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **Run harness surface is read-only and honest.** The agent-terminal-ui client must display a run's current plan, context use against budget, applied harness configuration, cost and termination reason. The client reads only graph-os operations. | Children TUI-RUNTIME-R010.1 to TUI-RUNTIME-R010.6.
      requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
      TUI-RUNTIME-R010.1
      Run operation wiring
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **Run operation wiring.** Model: `GRAPHOS-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_graphos_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 GraphOS operation clientCanonical requirement and verification source
      **Applied configuration.** Model: `GRAPHOS-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 GraphOS operation clientCanonical requirement and verification source
      **Context and cost.** Model: `GRAPHOS-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 GraphOS operation clientCanonical requirement and verification source
      **Read-only current plan.** Model: `GRAPHOS-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-RUNTIMESPECIFIEDNo recorded commit/test evidence
      TUI-RUNTIME-R010.5
      Distinct terminal reasons
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS operation clientCanonical requirement and verification source
      **Distinct terminal reasons.** Model: `GRAPHOS-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 GraphOS operation clientCanonical requirement and verification source
      **Served surface proof.** Model: `GRAPHOS-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 GraphOS operation clientCanonical requirement and verification source
      **Preserve original chat transport acceptance.** Model: The terminal uses one canonical transport for its primary GraphOS conversation. This replaces its expected unmounted streaming and remote-procedure routes. Behavior: The client changes atomically to the chosen transport. Remove old paths only after the original integration acceptance passes. Wiring: Extend the existing client and session entry. Refusal: Keep old paths until proof passes. Evidence: Serve session, authentication, streaming and cancellation cases. | Integration tests cover session, authentication, streaming and cancellation against the chosen transport. Remove superseded paths only after those tests pass.
      requirementTUI-RUNTIMESPECIFIEDNo recorded commit/test evidence
      TUI-RUNTIME-R002.2
      Validate the host receipt and scope
      Definition — TUI-RUNTIME / TUI-RUNTIME — Terminal GraphOS 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: GraphOS 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 GraphOS contracts GRAPHOS-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 GraphOS 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 GraphOS operation clientCanonical requirement and verification source
      **Honor producer-selected modes and unify the log view.** Model: GraphOS 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 GraphOS 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 GraphOS 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 GraphOS 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 GraphOS operation clientCanonical requirement and verification source
      **Native configured discovery.** Model: Rust reads AGENT_URL and AGENT_BEARER_TOKEN. Behavior: Fetch the GraphOS 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 GraphOS receipt remains separate evidence.
      requirementTUI-RUNTIMEVERIFIEDe8711e7f49bf
      native/agent-terminal-ui/src/main.rs:94
      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
      TitleSpec delivery: agent-terminal-ui
      RepositoryKnuckles-Team/agent-terminal-ui
      Commit4239e3b45d60
      Captured (UTC)2026-10-13T14:31:14
      Snapshotsnapshot.json (v1)
      Sourcespecs/*/status.json
      Sheet1 of 1