- GENIUSBOT-CLIENT29
- Requirementsall slices in all specs29
- Requirements not donenot VERIFIED25
- Specs not donewhole specs only1
Each spec shows its requirement count. Panel J lists every record.
Requirements (29)
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 GraphOS operation client | 29 | 20/29 | 4 | SPECIFIED | .github/spec-dashboard.json implementation: file exists; coverage not verified geniusbot/geniusbot.py 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/qt/fleet_cockpit.py:27 implementation: file exists; coverage not verified geniusbot/qt/usage_cockpit.py:61 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 `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/geniusbot / 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/geniusbot / Unassigned
| Spec | Relationship | Target | Evidence |
|---|---|---|---|
| GENIUSBOT-CLIENT | No relationships declared; dependencies unknown | ||
Issues
0 open at capture.
Pull Requests
1 open at capture.
- #64 docs(spec): define desktop run observation contracts updated 2026-10-11T23:54:27Z
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 (30 rows)
| ID / source | Kind | Parent | State | Commit / test evidence |
|---|---|---|---|---|
| GENIUSBOT-CLIENT GENIUSBOT-CLIENT — Desktop GraphOS operation client | spec | None | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R001 One backend-adapter import seam Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS operation clientCanonical requirement and verification source**One backend-adapter import seam.** Every desktop panel and the main cockpit window route all Graph OS access through the shared gateway client facade and the single `BackendAdapter` seam; no other module imports the underlying engine package directly. | A source-tree scan test asserts only the gateway-client facade and the backend-adapter module import the engine package. | requirement | GENIUSBOT-CLIENT | LANDED | f979d1e342d9 |
| GENIUSBOT-CLIENT-R002.1 Typed registry-entry model and validator Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS 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 GraphOS operation clientCanonical requirement and verification source**Operation validated against the installed generated registry at the call site.** Before invoking a Graph OS 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 Graph OS 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 GraphOS 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 GraphOS 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 Off-thread, non-blocking dispatch Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS operation clientCanonical requirement and verification source**Off-thread, non-blocking dispatch.** Every Graph OS or backend network call runs on a background thread pool and reports back 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 and confirm the main window remains responsive during a dispatched task. | requirement | GENIUSBOT-CLIENT | LANDED | 6c100b813e85 e2227928ace3 |
| GENIUSBOT-CLIENT-R005 Fail-closed, typed errors Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS operation clientCanonical requirement and verification source**Fail-closed, typed errors.** 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-R006 No local approval authority Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS 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 Graph OS'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 GraphOS 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 GraphOS 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 GraphOS 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 Background tray residency Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS 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 | LANDED | e2227928ace3 |
| GENIUSBOT-CLIENT-R011 Dynamic specialist discovery and schema-driven execution deck Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS 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 GraphOS 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 GraphOS 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 GraphOS 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 | 951f65308c5b a443c69a2a0d |
| GENIUSBOT-CLIENT-R013 Generated design-token colors Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS 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 GraphOS operation clientCanonical requirement and verification source**Finance cockpit panel contract.** `FinanceCockpitPanel` in `geniusbot/qt/finance_cockpit.py` reaches Graph OS 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 GraphOS 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:8 |
| GENIUSBOT-CLIENT-R016 Spec and docs hooks in pre-commit Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS 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 | 34e20c635c6d tests/test_precommit_hooks.py:10 |
| GENIUSBOT-CLIENT-R017 Docs layout parity Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS 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:9 |
| GENIUSBOT-CLIENT-R018 AGENTS.md section parity Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS 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 GraphOS 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 graph-os 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 view exists Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS operation clientCanonical requirement and verification source**Run view exists.** geniusbot must add a run view of one `run_id`. The view reads `runs.get` and `runs.metrics` through `GatewayClient` (the `GRAPHOS-OPS` rows for run metrics). No run view exists today. An absent operation must read "not available" with no fabricated value. | `tests/test_run_view.py::test_run_view_loads_run` | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.2 Applied harness configuration is shown Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS operation clientCanonical requirement and verification source**Applied harness configuration is shown.** The run view must show the run's `harness_config`: `context_policy`, `plan_scaffold` and `action_space`. A missing field must read "not available". | `tests/x::test_harness_config_shown` | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.3 Context use is shown against the budget Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS operation clientCanonical requirement and verification source**Context use is shown against the budget.** The run view must show `peakContextTokens` against `contextBudgetTokens` and the cost `costUsd`. An absent field must read "not available", never zero. | `tests/x::test_context_and_cost_shown` | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.4 Current plan is shown read-only Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS operation clientCanonical requirement and verification source**Current plan is shown read-only.** The run view must render the current plan from the run's plan state. The view must offer no edit control. | `tests/x::test_plan_read_only` | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.5 Each termination reason has a distinct state Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS operation clientCanonical requirement and verification source**Each termination reason has a distinct state.** The run view must map each `terminationReason` (`final_answer`, `context_overflow`, `stuck`, `step_budget`, `error`) to its own label. `context_overflow` and `stuck` must not appear as a generic failure. | `tests/x::test_termination_reasons_distinct` | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |
| GENIUSBOT-CLIENT-R019.6 End-to-end proof on the hot path Definition — GENIUSBOT-CLIENT / GENIUSBOT-CLIENT — Desktop GraphOS operation clientCanonical requirement and verification source**End-to-end proof on the hot path.** The run view must render all five items from one gateway fixture through the production entry point. | `tests/x::test_run_surface_end_to_end` | requirement | GENIUSBOT-CLIENT | SPECIFIED | No recorded commit/test evidence |