- TUI-RUNTIME30
- 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.
Requirements (30)
Specs (1)
Each bar shows one state against all records of the same kind.
Percentages count current rows. Done means VERIFIED.
| State | Definition |
|---|---|
| SPECIFIED | The requirement is written. No code for it is on the default branch. |
| LANDED | A commit that carries its ID in a Spec trailer is on the default branch. |
| VERIFIED | It 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
| Spec / title | Req. | Landed | Done | Spec state | Code references |
|---|---|---|---|---|---|
| TUI-RUNTIMETUI-RUNTIME — Terminal GraphOS operation client | 30 | 13/30 | 13 | SPECIFIED | agent_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.
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)
TUI-RUNTIME: no plan diagram declared.
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
| Spec | Relationship | Target | Evidence |
|---|---|---|---|
| TUI-RUNTIME | No relationships declared; dependencies unknown | ||
Issues
0 open at capture.
Pull Requests
0 open at capture.
The build reads GitHub one time. This page makes no live API requests.
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 / source | Kind | Parent | State | Commit / test evidence |
|---|---|---|---|---|
| TUI-RUNTIME TUI-RUNTIME — Terminal GraphOS operation client | spec | None | SPECIFIED | No 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. | requirement | TUI-RUNTIME | VERIFIED | d2b5cea055c8 |
| 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 | requirement | TUI-RUNTIME | VERIFIED | d309979d133f 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 | requirement | TUI-RUNTIME | VERIFIED | d309979d133f 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 | requirement | TUI-RUNTIME | VERIFIED | d309979d133f 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 | requirement | TUI-RUNTIME | VERIFIED | 00fa879f55f8 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 | requirement | TUI-RUNTIME | VERIFIED | d309979d133f 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 | requirement | TUI-RUNTIME | VERIFIED | d309979d133f 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 | requirement | TUI-RUNTIME | VERIFIED | d309979d133f 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. | requirement | TUI-RUNTIME | SPECIFIED | d2b5cea055c8 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. | requirement | TUI-RUNTIME | VERIFIED | 1f9a26a46229 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | VERIFIED | 1f9a26a46229 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. | requirement | TUI-RUNTIME | VERIFIED | 1f9a26a46229 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | VERIFIED | 1f9a26a46229 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | SPECIFIED | No 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. | requirement | TUI-RUNTIME | VERIFIED | e8711e7f49bf 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 |