- GENIUSBOT-CLIENT84
- Requirementsall slices in all specs84
- Requirements not donenot VERIFIED69
- Specs not donewhole specs only1
Each spec shows its requirement count. Panel J lists every record.
Requirements (84)
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 |
|---|---|---|---|---|---|
| GENIUSBOT-CLIENTGENIUSBOT-CLIENT — Desktop Arbora operation client | 84 | 29/84 | 15 | SPECIFIED | shared spec standard documentation: external declaration; not verified .github/spec-dashboard.json implementation: file exists; coverage not verified geniusbot/geniusbot.py implementation: file exists; coverage not verified geniusbot/geniusbot.py:500 implementation: file exists; coverage not verified geniusbot/geniusbot.py:678 implementation: file exists; coverage not verified geniusbot/qt/colors.py implementation: file exists; coverage not verified geniusbot/qt/finance_cockpit.py implementation: file exists; coverage not verified geniusbot/services/backend_adapter.py implementation: file exists; coverage not verified geniusbot/services/gateway_client.py implementation: file exists; coverage not verified geniusbot/services/gateway_client.py:55 implementation: file exists; coverage not verified geniusbot/services/operation_registry.py implementation: file exists; coverage not verified geniusbot/utils/agent_bridge.py implementation: file exists; coverage not verified geniusbot/utils/daemon.py implementation: file exists; coverage not verified source history documentation: file exists; coverage not verified `requirements.md` documentation: file exists; coverage not verified `status.json` implementation: file exists; coverage not verified tests/test_operation_registry.py test: file exists; coverage not verified tests/test_packaging_manifest.py test: 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/axil / Unassigned (1)
GENIUSBOT-CLIENT: 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/axil / Unassigned
| Spec | Relationship | Target | Evidence |
|---|---|---|---|
| GENIUSBOT-CLIENT | No relationships declared; dependencies unknown | ||
Issues
0 open at capture.
Pull Requests
3 open at capture.
- #89 build(deps): bump pydantic-ai-harness from 0.57.0 to 0.59.0 updated 2026-10-24T06:19:35Z
- #88 build(deps): bump fastmcp-slim from 4.1.0 to 4.1.2 updated 2026-10-24T06:19:34Z
- #87 build(deps): bump fastmcp from 4.1.0 to 4.1.2 updated 2026-10-24T06:19:31Z
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 (85 rows)
| ID / source | Kind | Parent | State | Commit / test evidence |
|---|---|---|---|---|
| GENIUSBOT-CLIENT GENIUSBOT-CLIENT — Desktop Arbora operation client | spec | None | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R001.1 One backend-adapter import seam Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**One backend-adapter import seam.** Every desktop panel and the main cockpit window route all Arbora access through the shared gateway client facade and the single `BackendAdapter` seam; no module imports `agent_utilities`, and agent workflows run on arbora rather than in-process. | A source-tree scan test asserts no module under `geniusbot/` imports `agent_utilities`. | requirement | GENIUSBOT-CLIENT | VERIFIED | 4f6023e12d45 tests/test_backend_adapter_seam.py:33 |
| GENIUSBOT-CLIENT-R001 Served backend-adapter seam (rollup) Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Served backend-adapter seam (rollup).** Preserve the original client seam in R001.1 and the bounded dashboard transport and lifecycle in R001.2 and R001.3. | Each child meets its own acceptance; dashboard tests do not prove all panel or release behavior. | requirement | GENIUSBOT-CLIENT | VERIFIED | 4f6023e12d45 891efd8a0733 f979d1e342d9 tests/test_backend_adapter_seam.py:33 tests/test_service_dashboard_async.py:16 tests/test_service_dashboard_async.py:48 tests/test_service_dashboard_async.py:95 tests/test_service_dashboard_transport.py:104 |
| GENIUSBOT-CLIENT-R001.2 Served dashboard reads Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Served dashboard reads.** The adapter reads existing Arbora dashboard layout and data endpoints through GatewayClient. It never imports server configuration or aggregation. It projects received widget fields for cards. It preserves endpoint/TLS/proxy transport behavior, bounded reads, redirect refusal and HTTP failures. Task-scoped pools close on success, failure and cancellation. | tests/test_service_dashboard_transport.py covers exact routes, header preservation, values, redirects, HTTP errors, malformed responses and cancellation cleanup. No live-service or packaging acceptance is implied. | requirement | GENIUSBOT-CLIENT | VERIFIED | 4f6023e12d45 tests/test_service_dashboard_transport.py:104 tests/test_service_dashboard_transport.py:12 tests/test_service_dashboard_transport.py:132 tests/test_service_dashboard_transport.py:52 tests/test_service_dashboard_transport.py:78 |
| GENIUSBOT-CLIENT-R001.3 Nonblocking dashboard lifecycle Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Nonblocking dashboard lifecycle.** Both layout and values load on QThreadPool. Repeated refresh while busy creates no duplicate worker. Refusal clears old cards; retry can recover. Panel close requests cancellation without blocking. Application quit drains bounded async cleanup without thread termination. Late replies cannot repopulate a closed panel. | tests/test_service_dashboard_async.py exercises the production Qt panel and worker. It covers async reads, refusal, retry, cancellation and a late result. Separate processes test quit with delayed and stalled cleanup. | requirement | GENIUSBOT-CLIENT | VERIFIED | 4f6023e12d45 tests/test_service_dashboard_async.py:16 tests/test_service_dashboard_async.py:48 tests/test_service_dashboard_async.py:95 |
| GENIUSBOT-CLIENT-R002.1 Typed registry-entry model and validator Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Typed registry-entry model and validator.** A typed `OperationRegistryEntry`/`OperationRegistry` model validates operation name, sha256 digest shape, and HTTP method, and `build_registry` refuses a malformed or duplicate entry when the installed generated operation registry is loaded. | Unit tests assert each malformed-entry case (empty operation, bad digest, unsupported method, missing field, duplicate operation, digest mismatch) raises `OperationRegistryError` and a valid registry builds and resolves lookups. | requirement | GENIUSBOT-CLIENT | LANDED | a443c69a2a0d |
| GENIUSBOT-CLIENT-R002.2 Operation validated against the installed generated registry at the call site Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Operation validated against the installed generated registry at the call site.** Before invoking an Arbora operation, the gateway client wires the `.1` registry model into its pre-call path and rejects an unknown operation or a registry/digest mismatch before any network call, consistent with the ecosystem's shared Arbora operation-client contract. | Unit tests assert an unknown or mismatched operation produces zero network effect and a typed `CLIENT_UNAVAILABLE`-equivalent result. | requirement | GENIUSBOT-CLIENT | LANDED | 951f65308c5b |
| GENIUSBOT-CLIENT-R002 Typed registry-entry model and validator (rollup of 1, 2) Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Typed registry-entry model and validator (rollup of 1, 2).** Rollup requirement: delivered by its child rows; LANDED only once every child is. | Every child row is LANDED. | requirement | GENIUSBOT-CLIENT | LANDED | 951f65308c5b a443c69a2a0d |
| GENIUSBOT-CLIENT-R003 Verified credential over TLS, bounded responses Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Verified credential over TLS, bounded responses.** The gateway client refuses a malformed endpoint, refuses plaintext HTTP to a non-loopback host without explicit opt-in, resolves a TLS profile for the caller's verified credential, and caps every response body against a fixed size limit. | Endpoint-validation and bounded-body unit tests cover unsafe URLs, declared-oversize and streamed-oversize responses. | requirement | GENIUSBOT-CLIENT | LANDED | f979d1e342d9 |
| GENIUSBOT-CLIENT-R004.1 Off-thread, non-blocking dispatch Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Off-thread, non-blocking dispatch.** Every Arbora or backend network call runs on a background thread pool. It reports to the UI only through typed signals. No blocking network or heavy-reasoning call executes on the Qt event-loop thread. | Characterization tests exercise the worker's started/finished/error/progress signal contract. They confirm that the main window stays responsive during a dispatched task. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R004 Queued worker signal lifetime and retained behavior (rollup) Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Queued worker signal lifetime and retained behavior (rollup).** R004.1 retains the original obligation. R004.2 owns the bounded lifecycle repair. | Both children meet their own acceptance. The new lifecycle tests do not close the generic obligation. | requirement | GENIUSBOT-CLIENT | SPECIFIED | 6c100b813e85 e2227928ace3 |
| GENIUSBOT-CLIENT-R004.2 Queued worker signal lifetime Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Queued worker signal lifetime.** A background runnable keeps its signal object alive until the UI receives completion or failure. Started and progress signals remain available. | tests/test_agent_bridge_worker.py waits for actual queued delivery and retains the success/error exclusivity assertions. | requirement | GENIUSBOT-CLIENT | VERIFIED | b7a0bdfc5931 tests/test_agent_bridge_worker.py:14 tests/test_agent_bridge_worker.py:42 |
| GENIUSBOT-CLIENT-R005.3 Retained generic facade failure obligation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Retained generic facade failure obligation.** Every gateway facade method that fails (timeout, disconnect, malformed envelope, or an exception from the underlying SDK) returns a typed error/offline result to its caller instead of letting an exception escape into the Qt event loop or reporting a false success. | Unit tests drive timeout, disconnect and exception paths and assert a typed `"result"`/`"error"` payload is returned, never an uncaught exception. | requirement | GENIUSBOT-CLIENT | LANDED | b68ffd2a3227 |
| GENIUSBOT-CLIENT-R005 Fail-closed, typed errors (rollup) Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Fail-closed, typed errors (rollup).** R005.1 and R005.2 own the bounded graph-client cases. R005.3 retains the complete pre-existing generic facade obligation; those two cases alone cannot close it. | All children meet their own acceptance, including the generic failure paths in R005.3. | requirement | GENIUSBOT-CLIENT | LANDED | 2fbc60b93d78 6f2b88b8c365 b68ffd2a3227 |
| GENIUSBOT-CLIENT-R005.1 Preserve typed failed graph responses Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Preserve typed failed graph responses.** An HTTP-error JSON object can have status `failed` and a result object containing `error`. The graph client preserves that nested result. It must not replace this operation failure with gateway-offline text. A non-envelope HTTP error still returns the offline/unavailable result. The backend adapter continues to return its existing failure sentinel instead of treating the failed operation as successful. | The 403 typed-failure and 502 non-envelope tests exercise the production client and adapter. They do not prove every HTTP status or facade method. | requirement | GENIUSBOT-CLIENT | VERIFIED | 2fbc60b93d78 6f2b88b8c365 tests/test_graph_query_wiring.py:121 tests/test_graph_query_wiring.py:142 |
| GENIUSBOT-CLIENT-R005.2 Refuse graph redirects without following Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Refuse graph redirects without following.** The graph gateway client must not follow redirects or accept their JSON bodies as success or typed operation failure. It returns the unavailable error for redirect responses, even when the body resembles a success or failed-operation envelope. | `tests/test_graph_query_wiring.py` checks 301, 302, 303, 307 and 308 with both envelope shapes (ten cases), asserting exactly one request to the original graph route. | requirement | GENIUSBOT-CLIENT | VERIFIED | 2fbc60b93d78 6f2b88b8c365 tests/test_graph_query_wiring.py:151 |
| GENIUSBOT-CLIENT-R006 No local approval authority Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**No local approval authority.** A governed or mutating action (an `ActionPolicy` approval, or a tool call behind the authorization dialog) is never authorized by the desktop process itself; the operator's explicit decision is always forwarded to Arbora's server-side approval endpoint, which performs the authoritative check. | Contract tests assert the approval/grant code path issues a request to the gateway's approval endpoint and that no local code path marks an action authorized without that round trip. | requirement | GENIUSBOT-CLIENT | LANDED | e2227928ace3 |
| GENIUSBOT-CLIENT-R007 Embedded terminal sandbox Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Embedded terminal sandbox.** The cockpit hosts an interactive terminal (`xterm.js` inside a `QWebEngineView`, bridged over `QWebChannel` to a native PTY/conpty backing process) and starts its backing shell lazily, only on first navigation to the terminal view. | Instantiation tests confirm the terminal widget and its bridge construct correctly, and a view-switch test confirms the shell starts exactly once on first navigation to that view. | requirement | GENIUSBOT-CLIENT | LANDED | f979d1e342d9 |
| GENIUSBOT-CLIENT-R008 Lazy, on-demand cockpit panel loading Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Lazy, on-demand cockpit panel loading.** Every secondary cockpit view (graph explorer, telemetry, workflow builder, security policy, infrastructure, finance, service dashboard, fleet supervisor, usage/cost, extraction, temporal graph, ask-data, metrics, federated search, voice) is imported and instantiated only on first navigation to that view, shares one background worker, and the sidebar highlights exactly the active view. | A characterization test walks every view index, asserts each panel loads exactly once, the placeholder widget is replaced, and only the active sidebar button is styled active. | requirement | GENIUSBOT-CLIENT | LANDED | 5e6e561f4dff |
| GENIUSBOT-CLIENT-R009 Honest voice-dictation states Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Honest voice-dictation states.** The voice dictation panel distinguishes no capture device present, a recorder/permission failure, the backend route being unavailable, and a genuine transcription error, and renders each state distinctly rather than collapsing them into one generic message. | Unit tests cover each state (no device, each mapped recorder error, unavailable route, generic failure) and assert a distinct rendered message per case. | requirement | GENIUSBOT-CLIENT | LANDED | 57eda603efd1 |
| GENIUSBOT-CLIENT-R010.1 Background tray residency Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Background tray residency.** A system-tray daemon keeps the cockpit resident with show/terminal/health-check/exit actions, and closing the main window minimizes it to the tray instead of exiting the process while the tray remains active. | Tray action and close-event tests assert each tray action triggers its bound window behavior and that closing the window with an active tray icon hides rather than exits. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R010 Console stream lifetime and retained behavior (rollup) Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Console stream lifetime and retained behavior (rollup).** R010.1 retains the original obligation. R010.2 owns the bounded lifecycle repair. | Both children meet their own acceptance. The new lifecycle tests do not close the generic obligation. | requirement | GENIUSBOT-CLIENT | SPECIFIED | e2227928ace3 |
| GENIUSBOT-CLIENT-R010.2 Console stream lifetime Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Console stream lifetime.** A real close or QObject destruction restores the previous standard streams. Nested wrappers forward without using a destroyed signal object. Console cursor movement uses the supported Qt enum. Slot failures remain reportable without recursive signal emission. | tests/test_output_wrapper_lifecycle.py covers destruction, nested wrappers, close/reopen, later writes and visible slot failure. | requirement | GENIUSBOT-CLIENT | VERIFIED | b7a0bdfc5931 tests/test_output_wrapper_lifecycle.py:12 tests/test_output_wrapper_lifecycle.py:34 tests/test_output_wrapper_lifecycle.py:50 |
| GENIUSBOT-CLIENT-R011 Dynamic specialist discovery and schema-driven execution deck Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Dynamic specialist discovery and schema-driven execution deck.** On startup the cockpit asynchronously discovers available specialist agents from the Knowledge Graph via the gateway and renders one dynamically schema-driven control card per specialist, mapping its declared skills or capabilities to input fields, and executes each specialist off-thread through the shared backend seam. | Unit tests cover the discovery-to-deck population path and the control card's skill-list, comma-separated-capability, list-capability and no-capability fallback field generation. | requirement | GENIUSBOT-CLIENT | LANDED | c21deec29cfb |
| GENIUSBOT-CLIENT-R012.1 Typed packaging manifest model and validator Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Typed packaging manifest model and validator.** A typed `PackagingManifest`/`PackagingTarget` model and `build_manifest` refuse an incomplete manifest: a missing required target (`console_entry_point`, `onefile_executable`, `windows_installer`, `linux_desktop_entry`), a target missing its build tool or output path, or a target whose version does not match the source tree's declared version. No build tool is invoked. | Unit tests cover a complete manifest and each refusal case (missing target, missing field, version mismatch, duplicate target name, empty source version). | requirement | GENIUSBOT-CLIENT | LANDED | a443c69a2a0d |
| GENIUSBOT-CLIENT-R012.2 Cross-platform packaging and distribution Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Cross-platform packaging and distribution.** The desktop client is distributed as an installable Python package exposing a `geniusbot` console entry point, a single-file bundled executable, a Windows installer, and a Linux desktop-entry/package definition, each built from the same versioned source tree and described by a `.1`-validated manifest. | A packaging build (PyInstaller onefile, Inno Setup compile, and the Linux desktop-entry/control file lint) completes against a tagged revision and the resulting entry point launches the cockpit window. | requirement | GENIUSBOT-CLIENT | LANDED | 951f65308c5b |
| GENIUSBOT-CLIENT-R012 Typed packaging manifest model and validator (rollup of 1, 2) Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Typed packaging manifest model and validator (rollup of 1, 2).** Rollup requirement: delivered by its child rows; LANDED only once every child is. | Every child row is LANDED. | requirement | GENIUSBOT-CLIENT | LANDED | 66a636e8fbb6 951f65308c5b a443c69a2a0d tests/test_packaging_display_identity.py:11 |
| GENIUSBOT-CLIENT-R013 Generated design-token colors Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Generated design-token colors.** `geniusbot/qt/colors.py` is generated from a tracked token source; a tracked generator script and source file exist and regenerating produces no diff. Touches `geniusbot/qt/colors.py`. | Test `tests/test_design_tokens.py::test_colors_match_generated_output`; negative: A hand-edited color constant fails the test. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R014 Finance cockpit panel contract Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Finance cockpit panel contract.** `FinanceCockpitPanel` in `geniusbot/qt/finance_cockpit.py` reaches Arbora only through the gateway facade and renders an unavailable state when the route fails. Touches that file. | Test `tests/test_finance_cockpit.py::test_panel_unavailable_state`; negative: A raised gateway error never escapes the panel. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R015 Packaged `geniusbot-development` skill Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Packaged `geniusbot-development` skill.** A skill at `geniusbot/skills/geniusbot-development/SKILL.md` carries the rapid-delivery contract, commands, and gates, in the shape of `agent-webui-development`. Touches that file and `pyproject.toml` package data. | Test `tests/test_development_skill.py::test_skill_packaged_and_valid`; negative: A skill without front matter fails the test. | requirement | GENIUSBOT-CLIENT | VERIFIED | 34e20c635c6d tests/test_development_skill.py:11 |
| GENIUSBOT-CLIENT-R016.1 Spec and docs hooks in pre-commit Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Spec and docs hooks in pre-commit.** `.pre-commit-config.yaml` adds the `pipelines` hooks `public-surface`, `ste-staged`, `ste-staleness-staged`, `spec-standard` and `check-public-specs`, with `[tool.pipelines_hooks.public_surface]` and `[tool.pipelines_hooks.ste]` in `pyproject.toml`. Touches both files. | Test `tests/test_precommit_hooks.py::test_required_pipelines_hook_ids_present`; negative: Removing one hook id fails the test. | requirement | GENIUSBOT-CLIENT | VERIFIED | faadc48753ef tests/test_precommit_hooks.py:12 |
| GENIUSBOT-CLIENT-R016 Documentation and shared guardrails (rollup) Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Documentation and shared guardrails (rollup).** R016.1 retains docs-hook coverage. R016.2 owns canonical checker migration. R016.3 owns locked headless CI setup. | All children retain their own acceptance. | requirement | GENIUSBOT-CLIENT | VERIFIED | 34e20c635c6d 50f2a33dab77 977b6a8cb9ff faadc48753ef tests/test_ci_setup.py:11 tests/test_precommit_hooks.py:12 tests/test_precommit_hooks.py:22 |
| GENIUSBOT-CLIENT-R016.2 Canonical shared guardrails Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Canonical shared guardrails.** Keep all six removed-script checks with their published owners and immutable pins. Scan geniusbot without adapter exemptions. Forbid AU, EG, Arbora internals and other UI packages; allow arbora.client. Keep dependency-file triggers for lockfile version mirrors. | The shared-guardrail test verifies owners, all six IDs, arguments and boundary policy. Execute the full hooks for actual enforcement. | requirement | GENIUSBOT-CLIENT | VERIFIED | 50f2a33dab77 faadc48753ef tests/test_precommit_hooks.py:22 |
| GENIUSBOT-CLIENT-R017 Docs layout parity Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Docs layout parity.** `docs/` gains `architecture.md`, `apps.md`, `design-system.md`, `deployment.md`, `features.md`, `start.md`, `status.md` and `agents.md`, listed in `mkdocs.yml` nav. Touches `docs/` and `mkdocs.yml`. | Test `tests/test_docs_layout.py::test_nav_lists_every_page`; negative: A page missing from nav fails the test. | requirement | GENIUSBOT-CLIENT | VERIFIED | 34e20c635c6d tests/test_docs_layout.py:18 |
| GENIUSBOT-CLIENT-R018 AGENTS.md section parity Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**AGENTS.md section parity.** `AGENTS.md` gains the sections "What this repository owns", "Commands", "Quality gates", "Development rules", "Documentation" and "Branching & isolation" in webui order. Touches `AGENTS.md`. | Test `tests/test_agents_md_sections.py::test_required_headings_present`; negative: A missing heading fails the test. | requirement | GENIUSBOT-CLIENT | VERIFIED | 34e20c635c6d tests/test_agents_md_sections.py:16 |
| GENIUSBOT-CLIENT-R019 Run harness surface is read-only and honest Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Run harness surface is read-only and honest.** The geniusbot client must show a run's current plan, context use against budget, applied harness configuration, cost and termination reason. The client reads only arbora operations. | Children GENIUSBOT-CLIENT-R019.1 to GENIUSBOT-CLIENT-R019.6. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.1 Run operation wiring Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop 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 show unavailable without direct engine calls. | Evidence: planned `tests/test_run_view.py::test_run_read_uses_arbora_operations`. A selected run must render through the served operation and existing client. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.2 Applied configuration Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop 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 show 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_view.py::test_harness_config_shown`. A committed configuration must retain its reference and values through the client. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.3 Context and cost Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop 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 show unavailable; zero-solved abstention must not render zero cost. | Evidence: planned `tests/test_run_view.py::test_context_and_cost_shown`. Measured zero must render as zero; aggregate cost must retain its solved-task label. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.4 Read-only current plan Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop 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 show 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_view.py::test_plan_read_only`. A fresh matching snapshot must preserve item order, revision and AU statuses. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.5 Distinct terminal reasons Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop 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 show unavailable; overflow and stuck must not collapse to generic failure. | Evidence: planned `tests/test_run_view.py::test_termination_reasons_distinct`. Each of final_answer, context_overflow, stuck, step_budget and error must have its own label. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.6 Served surface proof Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop 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_view.py::test_run_surface_end_to_end`. A served fixture must render summary, configuration, context, cost and an available plan. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020 The client must satisfy each source-quality child obligation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe client must satisfy each source-quality child obligation. | Every child requires its own measured acceptance evidence. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.1 The desktop test adapter dependency must satisfy the supported test matrix. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop test adapter dependency must satisfy the supported test matrix. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_1` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.2 The desktop UI dependency must satisfy the supported platform matrix. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop UI dependency must satisfy the supported platform matrix. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_2` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.3 The desktop dependency contract must use the supported served-client boundary. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop dependency contract must use the supported served-client boundary. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_3` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.4 The Windows dependency marker must resolve on supported platforms. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe Windows dependency marker must resolve on supported platforms. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_4` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.5 The formatter dependency must satisfy the supported source-check configuration. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe formatter dependency must satisfy the supported source-check configuration. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_5` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.6 The main-window initialization must meet the shared function-size checks. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe main-window initialization must meet the shared function-size checks. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_6` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.7 The desktop entry module must meet the shared complexity checks. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop entry module must meet the shared complexity checks. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_7` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.8 Desktop tests must cover positive, negative and failure behavior. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceDesktop tests must cover positive, negative and failure behavior. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_8` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.9 Documentation examples must match the tested desktop behavior. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceDocumentation examples must match the tested desktop behavior. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_9` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.10 The README must cover each supported desktop entry point. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe README must cover each supported desktop entry point. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_10` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.11 The contributor guide must describe the desktop source structure. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe contributor guide must describe the desktop source structure. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_11` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.12 Documentation file references must resolve to tracked targets. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceDocumentation file references must resolve to tracked targets. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_12` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.13 Desktop modules must meet the shared module-size checks. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceDesktop modules must meet the shared module-size checks. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_13` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.14 The desktop must separate presentation from its served client adapter. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must separate presentation from its served client adapter. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_14` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.15 The desktop must trace each declared concept to its owning implementation. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must trace each declared concept to its owning implementation. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_15` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.16 The desktop must resolve each orphaned concept reference. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must resolve each orphaned concept reference. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_16` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.17 Desktop tests must bind their owning contract identifiers. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceDesktop tests must bind their owning contract identifiers. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_17` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.18 Significant desktop functions must identify their owning contracts. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceSignificant desktop functions must identify their owning contracts. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_18` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.19 The desktop source must retain a clean configured lint result. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop source must retain a clean configured lint result. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_19` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.20 The desktop source must pass the configured type checks. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop source must pass the configured type checks. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_20` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.21 The repository must validate its pinned formatter hook version. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe repository must validate its pinned formatter hook version. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_21` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.22 The changelog must follow its declared parseable format. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe changelog must follow its declared parseable format. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_22` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.23 The changelog must describe each shipped desktop change. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe changelog must describe each shipped desktop change. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_23` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.24 The changelog validation environment must supply its required parser. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe changelog validation environment must supply its required parser. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_24` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.25 Desktop tests must parameterize repeated input cases with observable assertions. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceDesktop tests must parameterize repeated input cases with observable assertions. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_25` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.26 The documentation must cover every supported desktop environment variable. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe documentation must cover every supported desktop environment variable. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_26` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.27 The documentation must explain terminal and bundled-runtime environment inputs. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe documentation must explain terminal and bundled-runtime environment inputs. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_27` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.28 The environment example must document desktop platform inputs without credentials. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe environment example must document desktop platform inputs without credentials. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_28` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.29 The desktop analysis command must use supported served interfaces without importing removed graph internals. Touches `geniusbot/`, tests or the named repository documentation Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop analysis command must use supported served interfaces without importing removed graph internals. Touches `geniusbot/`, tests or the named repository documentation. | Planned `tests/test_source_quality.py::test_source_quality_29` must prove the criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.30 The desktop must score at least 80 in test coverage. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must score at least 80 in test coverage. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_30` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.31 The desktop must score at least 80 in architecture & design patterns. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must score at least 80 in architecture & design patterns. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_31` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.32 The desktop must score at least 80 in concept traceability. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must score at least 80 in concept traceability. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_32` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.33 The desktop must score at least 80 in test execution. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must score at least 80 in test execution. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_33` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.34 The desktop must score at least 80 in changelog audit. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must score at least 80 in changelog audit. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_34` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.35 The desktop must score at least 80 in environment variables. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must score at least 80 in environment variables. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_35` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.36 The desktop must score at least 80 in analyze_xdg_kg. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must score at least 80 in analyze_xdg_kg. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_36` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.37 The desktop must achieve an overall source-quality grade of at least 3.0. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must achieve an overall source-quality grade of at least 3.0. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_37` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.38 The desktop must achieve grade B or higher in all 17 source-quality domains. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must achieve grade B or higher in all 17 source-quality domains. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_38` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.39 The desktop must resolve all 29 actionable source findings. Touches the desktop source and quality checks Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceThe desktop must resolve all 29 actionable source findings. Touches the desktop source and quality checks. | Planned `tests/test_source_quality.py::test_source_quality_39` must measure this criterion and reject a counterexample. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.40 Source-quality repairs must preserve the installed command path through `geniusbot/geniusbot.py:686` Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceSource-quality repairs must preserve the installed command path through `geniusbot/geniusbot.py:686`. | Planned `tests/test_source_quality.py::test_source_quality_entry_wiring` must prove the real entry path. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R020.41 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 — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification sourceA 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. | Planned `tests/test_source_quality.py::test_source_quality_served_entry` must prove the real entry path. | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R016.3 Locked headless CI test environment Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop Arbora operation clientCanonical requirement and verification source**Locked headless CI test environment.** Main and pull-request CI install the declared test extra from the frozen lock and Qt runtime libraries before running the full suite. Offscreen rendering and a supported no-device audio backend do not replace live desktop or audio qualification. | The workflow setup regression executes the actual setup command against recording executables. It verifies the test extra, frozen resolution, required libraries and headless environment, without removing tests. | requirement | GENIUSBOT-CLIENT | VERIFIED | 977b6a8cb9ff tests/test_ci_setup.py:11 |