@pellux/goodvibes-agent 1.0.33 → 1.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +35 -4
  2. package/README.md +73 -59
  3. package/dist/package/{ast-grep-napi.linux-x64-gnu-mkk8xwww.node → ast-grep-napi.linux-x64-gnu-swtppvy9.node} +0 -0
  4. package/dist/package/{ast-grep-napi.linux-x64-musl-ryqtgdv6.node → ast-grep-napi.linux-x64-musl-ttfcdtap.node} +0 -0
  5. package/dist/package/main.js +49347 -50698
  6. package/docs/README.md +25 -21
  7. package/docs/channels-remote-and-api.md +2 -2
  8. package/docs/connected-host.md +3 -3
  9. package/docs/getting-started.md +89 -85
  10. package/docs/providers-and-routing.md +3 -3
  11. package/docs/release-and-publishing.md +3 -3
  12. package/docs/tools-and-commands.md +152 -138
  13. package/docs/voice-and-live-tts.md +1 -1
  14. package/package.json +1 -1
  15. package/release/live-verification/live-verification.json +13 -13
  16. package/release/live-verification/live-verification.md +17 -17
  17. package/release/release-notes.md +6 -15
  18. package/release/release-readiness.json +35 -35
  19. package/src/agent/harness-control.ts +42 -3
  20. package/src/runtime/bootstrap-core.ts +2 -0
  21. package/src/runtime/bootstrap.ts +12 -18
  22. package/src/tools/agent-analysis-registry-policy.ts +2 -9
  23. package/src/tools/agent-channel-send-tool.ts +1 -5
  24. package/src/tools/agent-context-policy.ts +1 -5
  25. package/src/tools/agent-find-policy.ts +1 -4
  26. package/src/tools/agent-harness-channel-metadata.ts +23 -23
  27. package/src/tools/agent-harness-cli-metadata.ts +4 -1
  28. package/src/tools/agent-harness-command-catalog.ts +10 -3
  29. package/src/tools/agent-harness-connected-host-status.ts +8 -2
  30. package/src/tools/agent-harness-delegation-posture.ts +5 -5
  31. package/src/tools/agent-harness-mcp-metadata.ts +30 -28
  32. package/src/tools/agent-harness-media-posture.ts +10 -10
  33. package/src/tools/agent-harness-metadata.ts +65 -35
  34. package/src/tools/agent-harness-mode-catalog.ts +205 -0
  35. package/src/tools/agent-harness-model-routing.ts +14 -14
  36. package/src/tools/agent-harness-model-tool-catalog.ts +7 -2
  37. package/src/tools/agent-harness-notification-metadata.ts +17 -17
  38. package/src/tools/agent-harness-operator-methods.ts +2 -2
  39. package/src/tools/agent-harness-pairing-posture.ts +7 -7
  40. package/src/tools/agent-harness-panel-metadata.ts +26 -12
  41. package/src/tools/agent-harness-provider-account-metadata.ts +33 -31
  42. package/src/tools/agent-harness-security-posture.ts +9 -7
  43. package/src/tools/agent-harness-service-posture.ts +22 -16
  44. package/src/tools/agent-harness-session-metadata.ts +9 -7
  45. package/src/tools/agent-harness-setup-posture.ts +7 -7
  46. package/src/tools/agent-harness-tool-schema.ts +2 -1
  47. package/src/tools/agent-harness-tool.ts +91 -38
  48. package/src/tools/agent-harness-ui-surface-metadata.ts +40 -28
  49. package/src/tools/agent-harness-workspace-actions.ts +29 -1
  50. package/src/tools/agent-knowledge-ingest-tool.ts +1 -5
  51. package/src/tools/agent-knowledge-tool.ts +1 -5
  52. package/src/tools/agent-local-registry-tool.ts +1 -4
  53. package/src/tools/agent-media-generate-tool.ts +1 -5
  54. package/src/tools/agent-notify-tool.ts +1 -5
  55. package/src/tools/agent-operator-action-tool.ts +1 -5
  56. package/src/tools/agent-operator-briefing-tool.ts +1 -5
  57. package/src/tools/agent-read-policy.ts +1 -4
  58. package/src/tools/agent-reminder-schedule-tool.ts +1 -5
  59. package/src/tools/agent-tool-policy-guard.ts +7 -34
  60. package/src/tools/agent-web-search-policy.ts +1 -4
  61. package/src/tools/agent-work-plan-tool.ts +1 -5
  62. package/src/tools/tool-definition-compaction.ts +49 -0
  63. package/src/version.ts +1 -1
@@ -1,93 +1,178 @@
1
1
  # Tools and Commands
2
2
 
3
- GoodVibes Agent is an operator assistant TUI. Its command set is centered on main-conversation assistant work, isolated Agent Knowledge, local memory/notes/routines/skills/personas, approvals, automation visibility, and explicit delegation to GoodVibes TUI for build work.
3
+ GoodVibes Agent is a TUI-first operator assistant. The workspace is the primary user surface; slash commands are power-user routes inside the TUI; CLI subcommands are scriptable mirrors.
4
4
 
5
- ## Product Boundaries
5
+ ## Boundaries
6
6
 
7
7
  - Normal chat stays in the main Agent conversation.
8
8
  - Agent Knowledge uses only `/api/goodvibes-agent/knowledge/*`.
9
- - Agent never falls back to default knowledge or arbitrary non-Agent knowledge spaces.
10
- - Local memory, notes, routines, skills, and personas remain Agent-local unless an explicit Agent workflow promotes reviewed material into another Agent-owned surface.
11
- - Runtime hosting is external. Agent connects to it and reports health; it does not start, stop, restart, or install it.
12
- - Delegated review is not a default reasoning path. It is requested only when the user explicitly asks for build, implementation, fix, or review work.
13
- - Code-building work is delegated to GoodVibes TUI through public shared-session/task contracts.
9
+ - Agent does not query default knowledge or other product knowledge spaces.
10
+ - Connected-host lifecycle is external. Agent reports and uses public routes, but does not start, stop, restart, install, expose, or mutate the host listener.
11
+ - Code-building work is explicit delegation to GoodVibes TUI. Delegated review is never the default reasoning path.
12
+ - External delivery, notifications, reminders, media generation, setting writes, keybinding writes, UI routing, slash-command execution, workspace-action execution, local destructive changes, and connected-host operator actions require explicit user request and confirmation.
14
13
 
15
- ## TUI-First Operator Surface
14
+ ## User-Facing Surfaces
16
15
 
17
- The Agent workspace is the product surface. Slash commands are power-user routes inside the TUI, and package CLI subcommands are scriptable mirrors. New user-facing features should appear in the workspace first.
16
+ High-signal TUI routes:
18
17
 
19
- High-signal Agent TUI paths:
20
-
21
- - `/help` for registry-driven command discovery.
22
- - `/health` and `/auth` for runtime/auth/SDK diagnostics inside the TUI.
23
- - `/model` and `/provider` for provider/model selection and visibility.
24
- - `/agent` for the fullscreen operator workspace: setup, provider/model, Agent Knowledge, memory, notes, personas, skills, routines, channels, MCP/tools, secrets, voice/media, work state, automation, and build delegation.
25
- - Agent Workspace -> Research for read-only web research, URL inspection, source triage, and explicit source-to-Agent-Knowledge handoff.
26
- - Agent Workspace -> Notes for local source-triage notes, temporary decisions, and operator handoff. Notes do not write memory or Agent Knowledge by themselves; reviewed notes can prefill memory, skills, routines, personas, or an isolated Agent Knowledge URL ingest.
27
- - `/knowledge` for isolated Agent Knowledge ask, search, status, source/node/issue inspection, connector inspection, and confirmed ingest/reindex actions.
28
- - `/memory`, `/routines`, `/skills`, and `/personas` for Agent-local context and reusable operator behavior.
29
- - `/plan` for Agent-owned workspace planning state in the main conversation.
30
- - `/workplan` for durable task status over public work-plan routes.
31
- - `/approval` for pending approval visibility and explicit approval actions.
32
- - `/schedule` for schedule visibility plus narrow explicit-user-action flows.
33
- - `/channels` for channel readiness and one-message confirmed channel delivery.
34
- - `/media` for media provider readiness and confirmed image/video artifact generation.
35
- - `/delegate` for explicit build/fix/review handoff to GoodVibes TUI.
36
- - `/mcp`, `/config`, `/settings`, and setup workspaces for Agent-local configuration.
37
-
38
- The installed `goodvibes-agent` command launches the TUI by default. Subcommands such as `status`, `compat`, `knowledge ...`, `ask <question>`, and `search <query>` are secondary scriptable equivalents for diagnostics and automation over the same Agent workspace features.
39
-
40
- Host-management and coding-first commands that would imply connected-host lifecycle ownership, separate Agent job creation, execution-isolation ownership, worktree control, or implicit delegated review must remain blocked, read-only, or delegation-only unless they are intentionally adapted to Agent policy.
41
-
42
- ## Model-Visible Harness Surface
18
+ | Surface | Purpose |
19
+ | --- | --- |
20
+ | `/agent` | Open the fullscreen operator workspace. |
21
+ | `/help` and `/commands` | Discover registered slash commands. |
22
+ | `/health`, `/compat`, `/auth` | Inspect runtime, SDK, host, and auth posture. |
23
+ | `/model`, `/provider`, `/effort` | Inspect or change provider/model/reasoning routes. |
24
+ | `/knowledge` | Use isolated Agent Knowledge. |
25
+ | `/memory`, `/notes`, `/personas`, `/skills`, `/routines` | Manage Agent-local behavior libraries. |
26
+ | `/plan`, `/workplan` | Planning and durable visible work tracking. |
27
+ | `/approval`, `/automation`, `/schedule` | Read posture and run exact confirmed operator actions. |
28
+ | `/channels`, `/notify`, `/qrcode` | Pair companions, inspect channel readiness, and send confirmed messages. |
29
+ | `/media`, `/voice`, `/tts` | Inspect media/voice readiness, generate media, and run spoken turns. |
30
+ | `/mcp`, `/secrets`, `/settings`, `/config` | Inspect or update Agent-local configuration. |
31
+ | `/delegate` | Hand explicit build/fix/review work to GoodVibes TUI. |
32
+
33
+ ## Model Tools
34
+
35
+ | Tool | Use |
36
+ | --- | --- |
37
+ | `agent_harness` | Discover and operate user-facing harness surfaces. |
38
+ | `agent_knowledge` | Read isolated Agent Knowledge: status, ask/search, lists, item, map, connectors. |
39
+ | `agent_knowledge_ingest` | Confirmed ingest into isolated Agent Knowledge. |
40
+ | `agent_local_registry` | Inspect or update Agent-local memory, notes, personas, skills, bundles, and routines. |
41
+ | `agent_work_plan` | Keep the visible Agent-local work plan current. |
42
+ | `agent_operator_briefing` | Read connected work, approvals, automation, schedules, and capacity posture. |
43
+ | `agent_operator_action` | Run exact confirmed approval/automation/schedule actions. |
44
+ | `agent_channel_send` | Send one confirmed channel message. |
45
+ | `agent_notify` | Send one confirmed notification through configured webhook targets. |
46
+ | `agent_reminder_schedule` | Create one confirmed connected reminder/schedule. |
47
+ | `agent_media_generate` | Generate one confirmed image/video artifact. |
43
48
 
44
- The main Agent model has an Agent-owned harness bridge rather than generic SDK settings/context control. Use these model tools as the supported model-access layer:
49
+ ## `agent_harness`
45
50
 
46
- - `agent_harness`: inspect workspace categories/actions and inspect or run one workspace action by action id, command, or lookup text, inspect built-in panels and one panel by id or lookup text, inspect modal/overlay/picker UI surfaces and named operator surfaces by id or lookup text, inspect top-level CLI mirrors and one mirror by command string, command token, or lookup text, inspect fixed shortcuts and configurable keybindings, inspect/change/run one keybinding by action id or lookup text where a shell-safe model route exists, inspect slash commands and one slash command by typed command or lookup text with policy metadata, run concrete slash-command mirrors with confirmation, inspect channel readiness or one channel by id or lookup text, inspect redacted notification targets or one target by id or lookup text, inspect provider account posture or one provider by id or lookup text, inspect MCP server posture or one server by id or lookup text, inspect setup/onboarding posture or one setup item by id or lookup text, inspect provider/model routing or one route/model by id or lookup text, inspect companion pairing posture or one pairing route by id or lookup text, inspect explicit build-delegation posture or one delegation route by id or lookup text, inspect security posture or one finding by id or lookup text, inspect support/auth/trust/subscription/voice bundle routes or one redacted bundle file by path, inspect voice/media readiness or one provider by id or lookup text, inspect session/bookmark posture or one saved session by id or lookup text, inspect compact model tools or one model tool schema, inspect release evidence artifacts, inspect the release-readiness inventory or one readiness item, inspect public operator methods or one operator method, inspect service posture or one service endpoint, inspect or change Agent settings by exact key or lookup text, inspect connected-host capability boundaries or one connected-host capability, and inspect live connected-host readiness.
47
- - `agent_local_registry`: inspect and maintain Agent-local memory, notes, personas, skills, skill bundles, and routines. Deleting local records requires `confirm:true` and `explicitUserRequest`.
48
- - `agent_knowledge` and `agent_knowledge_ingest`: inspect status, ask/search, list sources/nodes/issues, inspect items, inspect the map and connectors, and ingest into the isolated Agent Knowledge segment.
49
- - `agent_operator_briefing` and `agent_operator_action`: inspect connected work/approval/automation posture, or run exact confirmed approval/automation actions.
50
- - `agent_work_plan`: keep the visible Agent-local work plan current from the conversation.
51
- - `agent_channel_send`, `agent_notify`, `agent_reminder_schedule`, and `agent_media_generate`: perform confirmed external delivery, notification, reminder, or media actions when the user explicitly asks.
51
+ Use `agent_harness mode:"summary"` first. Use `mode:"modes"` to search every harness mode by task, family, effect type, id, alias, or parameter name. Use `mode:"mode"` to inspect one mode contract. Summary and plural catalog modes are compact by default. They return counts, ids, labels, state, and short route hints. Use `includeParameters:true` or a singular inspect mode when the model needs full schemas, policy detail, editor fields, redacted log tail, release artifact data, route hints, or tool parameters.
52
52
 
53
- `agent_harness` discovery modes are read-only. `summary` reports the model access map; `workspace` and `workspace_categories` list the Agent workspace category catalog with action counts; `panels` lists the built-in panel catalog, and `panel` resolves one panel by `panelId`, `target`, or `query` with current open/focused state plus its matching Agent workspace route; `ui_surfaces` lists modal, overlay, picker, and workspace entrypoints, and `ui_surface` resolves one by `surfaceId`, `target`, or `query` with shell-opener availability and preferred model routes; `cli_commands` lists top-level package CLI mirror metadata, and `cli_command` resolves one mirror by `cliCommand`, `command`, `commandName`, `target`, or `query`, returning parser output for concrete invocations, blocked command tokens, lookup metadata, and preferred in-process model or current-conversation routes; `shortcuts` returns fixed runtime/editor shortcuts plus configurable keybindings; `keybindings` lists the live resolved keybinding table, and `keybinding`, `run_keybinding`, `set_keybinding`, and `reset_keybinding` resolve one action by `actionId`, `target`, `key`, or `query` with default bindings, custom state, config path, lookup metadata, and model-operation route metadata; `commands` lists slash-command descriptions; `command` returns one slash-command detail by `command`, `commandName`, `target`, or `query`, including parsed arguments plus concrete built-in effect/confirmation/preferred-tool/boundary policy metadata for every registered command root, and refuses ambiguous command lookup with candidate commands; `run_command` executes one confirmed slash command using the same `command`, `commandName`, `target`, or `query` resolver and refuses ambiguous command lookup before any handler runs; `channels` returns read-only channel readiness with setup state, delivery posture, risk labels, safe config-key names, preferred model routes, and optional target-shape hints through `includeParameters:true`; `channel` returns one channel by `channelId`, `target`, or `query` and refuses ambiguous channel lookup with candidates; `notifications` returns read-only redacted notification target refs with target counts, URL validity, protocol/host posture, fingerprints, and optional management-route hints through `includeParameters:true`; `notification_target` returns one redacted notification target by `notificationTargetId`, `target`, or `query` and refuses ambiguous lookup with candidates; `provider_accounts` returns read-only provider auth route posture with freshness, subscription windows, model counts, issues, recommended actions, and optional login/logout route hints through `includeParameters:true`; `provider_account` returns one provider account by `providerId`, `target`, or `query` and refuses ambiguous lookup with candidates; `mcp_servers` returns read-only server posture with connection, trust mode, role, schema freshness, quarantine posture, safe path/host counts, and optional per-server tool inventory through `includeParameters:true`; `mcp_server` returns one server by `mcpServerId`, `target`, or `query` and refuses ambiguous lookup with candidates; MCP add/remove/reload/trust/role/quarantine mutations stay confirmed workspace or slash-command flows; `security_posture` returns redacted token, policy, MCP, plugin, incident, auth, and bundle-route posture with optional finding detail through `includeParameters:true`; `security_finding` returns one current finding by `findingId`, `target`, or `query` and refuses ambiguous lookup with candidates; `support_bundles` returns support/auth/trust/subscription/voice bundle routes and optional route parameter hints through `includeParameters:true`; `support_bundle` inspects one existing bundle JSON by `bundlePath`, `target`, or `query` and returns only structure, counts, timestamps, and redaction metadata; bundle export/import remains confirmed workspace or slash-command flow; `media_posture` returns read-only voice/media provider readiness, TTS setup, browser-tool posture, artifact availability, safe secret-key names, and optional model routes through `includeParameters:true`; `media_provider` returns one voice or media provider by `mediaProviderId`, `target`, or `query` and refuses ambiguous lookup with candidates; media generation, voice enable/disable, and TTS setting changes remain confirmed first-class tool, settings, workspace, or slash-command flows; `workspace_actions` lists Agent workspace actions and can inline editor field schemas with `includeParameters:true`; `workspace_action` and `run_workspace_action` resolve one action by `actionId`, `command`, `target`, or `query`, using the same user-facing action-search fields; inspection returns lookup metadata plus editor schema and `modelExecution` route metadata for every editor action, and execution refuses ambiguous requests with candidate actions before any effect; `tools` lists model tool definitions and can inline JSON schemas with `includeParameters:true`; `tool` returns one model tool schema by `toolName`, `target`, or `query` and refuses ambiguous schema lookup with candidate tools; `release_evidence` returns the packaged release evidence bundle with summary/search over release notes, performance snapshot, readiness inventory, and live-verification artifacts, with optional artifact source/data through `includeParameters:true`; `release_evidence_artifact` returns one release evidence artifact by `artifactId`, `target`, or `query` and refuses ambiguous artifact lookup with candidates; `release_readiness` returns the packaged release-readiness inventory with summary totals, search filtering, source aliases, required quality dimensions, and optional quality detail through `includeParameters:true`; `release_readiness_item` returns one readiness item by `itemId`, `target`, or `query` and refuses ambiguous item lookup with candidates; `operator_methods` returns the read-only public operator and Agent Knowledge method catalog with preferred first-class model tools and optional parameter hints through `includeParameters:true`; `operator_method` returns one method by `methodId`, `target`, or `query` and refuses ambiguous method lookup with candidates; `service_posture` returns connected service endpoint binding, network-facing posture, issue, and redacted-log diagnostics, with optional reachability probes and redacted log tail through `includeParameters:true`; `service_endpoint` returns one endpoint by `endpointId`, `target`, or `query` and refuses ambiguous endpoint lookup with candidates; `settings` returns setting descriptors plus setting policy and accepts `category`, `prefix`, `query`, `includeHidden:true`, and `limit` filters; `get_setting`, `set_setting`, and `reset_setting` resolve one setting by `key`, `target`, or `query`, return lookup metadata on success, and refuse ambiguous matches with candidate settings; `connected_host` returns the connected-host route families, allowed capabilities, blocked capabilities, and first-class tool availability; `connected_host_capability` returns one allowed or blocked connected-host capability by `capabilityId`, `target`, or `query` with related route families and boundary text and refuses ambiguous capability lookup with candidates; and `connected_host_status` performs a live read-only check of the connected-host status and Agent Knowledge status routes and reports endpoint bindings, token posture, SDK compatibility, route readiness, and findings without printing token values.
53
+ Discovery modes:
54
54
 
55
- `setup_posture` returns the same onboarding snapshot and derived capability flags used by the wizard: setup marker posture, provider route, provider-account counts, subscription counts, local behavior discovery, channel/media/setup signals, auth/session counts, and collection issues, with optional route hints through `includeParameters:true`; `setup_item` returns one setup item by `setupItemId`, `target`, or `query` and refuses ambiguous lookup with candidates. Setup apply, provider auth, starter profile creation, local behavior import/create, channel delivery, and setting writes stay visible workspace, settings, slash-command, or first-class tool flows.
55
+ | Mode | What It Lists |
56
+ | --- | --- |
57
+ | `modes` | Searchable catalog of every `agent_harness` mode and its task fit. |
58
+ | `workspace`, `workspace_categories`, `workspace_actions` | Workspace categories and actions. |
59
+ | `commands`, `cli_commands` | Slash commands and top-level package CLI mirrors. |
60
+ | `panels`, `ui_surfaces` | Built-in panels and visible modal/overlay/picker/workspace surfaces. |
61
+ | `shortcuts`, `keybindings` | Fixed shortcuts and configurable keybindings. |
62
+ | `settings` | Compact Agent setting rows with category, prefix, query, hidden, and limit filters. |
63
+ | `tools` | First-class model tool definitions; schema details require `includeParameters:true` or `tool`. |
64
+ | `channels`, `notifications` | Channel readiness and redacted notification targets. |
65
+ | `provider_accounts`, `model_routing` | Provider auth and provider/model route posture. |
66
+ | `mcp_servers`, `setup_posture`, `pairing_posture`, `delegation_posture` | MCP, setup, pairing, and build-delegation posture. |
67
+ | `security_posture`, `support_bundles`, `media_posture`, `sessions` | Security, bundle route, voice/media, and session/bookmark posture. |
68
+ | `operator_methods` | Public operator and Agent Knowledge method catalog. |
69
+ | `service_posture`, `connected_host`, `daemon` | Endpoint, connected-host, and daemon alias posture. |
70
+ | `release_evidence`, `release_readiness` | Packaged release evidence and release-quality inventory. |
71
+
72
+ Single-item inspect modes:
73
+
74
+ | Mode | Lookup Fields |
75
+ | --- | --- |
76
+ | `mode` | `target` or `query` |
77
+ | `workspace_action` | `actionId`, `command`, `target`, `query` |
78
+ | `command`, `cli_command` | `command`, `commandName`, `cliCommand`, `target`, `query` |
79
+ | `panel`, `ui_surface`, `keybinding`, `tool` | Exact id/name or `target`/`query` |
80
+ | `channel`, `notification_target`, `provider_account`, `mcp_server` | Exact id or `target`/`query` |
81
+ | `setup_item`, `model_route`, `pairing_route`, `delegation_route` | Exact id/model key or `target`/`query` |
82
+ | `security_finding`, `support_bundle`, `media_provider`, `session` | Exact id/path or `target`/`query` |
83
+ | `get_setting`, `service_endpoint`, `operator_method` | Exact key/id or `target`/`query` |
84
+ | `connected_host_capability` | `capabilityId`, `target`, `query` |
85
+ | `connected_host_status`, `daemon_status` | Live read-only status, no lookup required |
86
+ | `release_evidence_artifact`, `release_readiness_item` | `artifactId`/`itemId`, `target`, `query` |
87
+
88
+ Effect modes:
89
+
90
+ | Mode | Effect |
91
+ | --- | --- |
92
+ | `run_workspace_action` | Executes one resolved workspace action through the same editor/command/local bridge as the TUI. |
93
+ | `run_command` | Executes one resolved slash command through the shared command registry. |
94
+ | `open_panel`, `open_ui_surface` | Routes visible shell navigation. |
95
+ | `run_keybinding` | Runs supported shell-safe keybinding actions only. |
96
+ | `set_keybinding`, `reset_keybinding` | Writes the same Agent `keybindings.json` file exposed to the user. |
97
+ | `set_setting`, `reset_setting` | Writes Agent settings through the config/secret managers. |
56
98
 
57
- `model_routing` returns read-only provider/model routing posture: current chat provider/model/reasoning effort, selectable models, provider ids, pinned models, context windows, reasoning support, safe route setting keys, and optional mutation-route hints through `includeParameters:true`; `model_route` returns one route or model by `modelRouteId`, `target`, or `query` and refuses ambiguous lookup with candidates. Model/provider selection, model catalog refresh, pin/unpin, custom provider edits, and route setting changes stay visible picker, settings, workspace, or slash-command flows.
99
+ Every effect mode requires `confirm:true` and `explicitUserRequest`. Ambiguous lookups return candidates before any effect runs.
58
100
 
59
- `pairing_posture` returns companion pairing readiness, control-plane endpoint binding, pairing surface id, token presence and fingerprint, and pairing route catalog without returning raw tokens or QR payloads, with optional connected-host/channel route hints through `includeParameters:true`; `pairing_route` returns one route by `pairingRouteId`, `target`, or `query` and refuses ambiguous lookup with candidates. QR display, manual token display, companion connection, channel delivery, task, approval, provider/model, and attachment actions stay visible user flows.
101
+ Registered model tool definitions are compact by default. Tool descriptions are capped or replaced with short Agent-specific summaries, and nested JSON-schema descriptions are stripped from the default registered catalog. Use `agent_harness mode:"tools"` with `includeParameters:true`, `mode:"tool"`, or a specific harness mode when detailed contracts are needed.
60
102
 
61
- `delegation_posture` returns explicit build-delegation route posture, runtime availability, delegated-review policy, main-conversation ownership, and blocked local coding ownership with optional route hints through `includeParameters:true`; `delegation_route` returns one route by `delegationRouteId`, `target`, or `query` and refuses ambiguous lookup with candidates. Delegated work submission remains a visible confirmed workspace or slash-command flow and must preserve the full original user ask.
103
+ ## Workspace Action Execution
62
104
 
63
- `sessions` returns current session posture, saved session metadata/search matches, bookmark counts, saved bookmark file counts, and optional saved-session file paths/search snippets through `includeParameters:true`; `session` returns one saved session by `sessionId`, `target`, or `query` and refuses ambiguous lookup with candidates. Save, resume, rename, fork, export, delete, and bookmark writes stay visible workspace or slash-command flows.
105
+ `workspace_action` inspection returns editor schemas and `modelExecution` detail. `workspace_actions` can include the same detail with `includeParameters:true`.
64
106
 
65
- `open_ui_surface` is a confirmation-gated visible navigation mode for the same shell surfaces the user can open: Agent workspace, settings, MCP workspace, model/provider/reasoning-effort pickers, TTS provider/voice pickers, session/profile pickers, the panel-picker compatibility route, security/knowledge/subscription operator surfaces, conversation search, prompt-history search, slash-command mode, command browser, file picker, block actions, bookmarks, context inspector, runtime activity monitor, live process output, help, shortcuts, and onboarding. It does not perform hidden operations; use first-class model tools, settings modes, workspace actions, or confirmed slash-command mirrors for actual state changes. Ambiguous UI surface lookup text is refused with candidate surfaces instead of routed.
107
+ Execution routes:
66
108
 
67
- `cli_command` is a read-only inspection mode. Concrete CLI strings are parsed with redacted config overrides; descriptive lookup text searches the same `cli_commands` catalog and returns one match or candidate mirrors when broad. Supported top-level CLI mirrors report `preferredModelTool`, including current-conversation handling for non-interactive run mirrors that must not create hidden nested turns.
109
+ - Local memory, notes, personas, skills, routines, and bundles dispatch through `agent_local_registry`.
110
+ - Confirmed Agent Knowledge URL/file/bookmark/browser-history/connector ingest dispatches through `agent_knowledge_ingest`.
111
+ - Command-backed editors dispatch through `run_command`.
112
+ - Learned-behavior and profile creation use the Agent-local or slash-command bridge.
113
+ - Web research/fetch forms return a main-conversation prompt instead of starting hidden nested work.
114
+ - Selection-based actions accept `recordId` so the model can use the same selected-record flows as the TUI.
68
115
 
69
- `run_keybinding`, `set_keybinding`, and `reset_keybinding` are confirmation-gated control modes. `run_keybinding` executes only keybinding actions with a faithful current-shell route, such as cancel generation, clear screen, open/focus/dismiss visible panel workspace routes, open conversation or prompt-history search, paste through the existing clipboard handler, or open the visible block-action surface. Prompt-editor-only controls, terminal text selection, category cycling, and reserved shortcuts stay visible in descriptors but return unsupported/direct-interaction metadata instead of pretending a hidden model operation exists. `set_keybinding` and `reset_keybinding` write the same Agent `keybindings.json` file exposed by `/keybindings`, reload the runtime keybinding manager, and leave fixed runtime/editor shortcuts read-only. Ambiguous keybinding lookup text is refused with candidate actions instead of guessed.
116
+ ## Settings And Keybindings
70
117
 
71
- `open_panel` is a confirmation-gated UI routing mode. It hands a visible panel/workspace route to the current Agent shell bridge and does not mutate connected-host lifecycle, listener posture, or external accounts. Ambiguous panel lookup text is refused with candidate panels instead of routed.
118
+ Settings discovery accepts `category`, `prefix`, `query`, `includeHidden:true`, and `limit`. It is compact by default; use `includeParameters:true` or `get_setting` for full descriptions/defaults. Single setting reads/writes resolve by `key`, `target`, or `query`; ambiguous matches are refused. Secret-backed setting writes store raw values through the secret manager and return redacted output. Connected-host lifecycle/listener settings are read-only in Agent.
72
119
 
73
- CLI mirror modes are catalog and parser inspection only. When the user asks the model to operate from inside the main conversation, use the returned first-class model tool, workspace action, setting mode, or confirmed slash-command mirror instead of launching a hidden nested `goodvibes-agent` process.
120
+ Keybinding discovery returns fixed shortcuts plus the live resolved binding table. `run_keybinding` only executes actions with faithful current-shell routes. Prompt-editor-only shortcuts, terminal text selection, category cycling, and reserved shortcuts stay direct user interaction.
74
121
 
75
- Setting writes, setting resets, supported keybinding actions, keybinding writes/resets, UI surface routing, slash-command invocation, workspace-action invocation, local record deletion, channel sends, notifications, reminders, media generation, and connected-host operator mutations require explicit user request and confirmation. Secret-backed settings are stored through the secret manager, and connected-host lifecycle/listener settings remain read-only in Agent.
122
+ ## Connected Host And Daemon
76
123
 
77
- Selection-based local workspace actions use the same bridge. `agent_harness` reports the required model tool for each local action; for actions that depend on the TUI selection, call `run_workspace_action` with the selected local `recordId` plus an `actionId`, `command`, `target`, or `query` that resolves to one action. Direct local create editors for memory, notes, personas, skills, and routines can execute from submitted `fields` through `run_workspace_action`; the harness validates required fields, requires `confirm:true` and `explicitUserRequest`, and dispatches through `agent_local_registry`. Command-backed editor forms report their shared slash-command dispatch route, direct learned-behavior/profile forms report their local or command bridge, and web research/fetch forms report that execution returns a main-conversation prompt instead of starting hidden nested work. Note promotion actions can prefill and create memory, personas, skills, routines, or isolated Agent Knowledge URL ingests through the matching first-class model tool. Profile creation schemas include the current runtime starter-template inventory, and routine schedule schemas prefill the selected routine when `recordId` or a `routineId` field matches a local routine.
124
+ The connected host is external. Agent can inspect it through:
78
125
 
79
- Use first-class Agent tools before falling back to slash-command mirrors. Slash-command execution is for scriptable mirror coverage, not for bypassing Agent product boundaries.
126
+ - `service_posture` and `service_endpoint` for endpoint binding, network-facing posture, issues, optional probes, and redacted log tail.
127
+ - `connected_host` and `daemon` for compact connected-host posture; use `includeParameters:true` for route families, allowed capabilities, blocked lifecycle/non-Agent surfaces, and first-class tool availability.
128
+ - `connected_host_capability` for one allowed or blocked capability.
129
+ - `connected_host_status` and `daemon_status` for live read-only readiness checks.
130
+ - `operator_methods` and `operator_method` for the public method catalog.
80
131
 
81
- The main composer supports inline context references. Type `@path/to/file`, `@path/to/folder`, or `@https://example.test/page` in a normal prompt to add bounded context for that turn. `!@path/to/file` remains the raw file-injection form. These references do not ingest anything into Agent Knowledge unless the user explicitly runs a Knowledge ingest action.
132
+ None of those modes expose host start, stop, restart, install, expose-listener, account creation, arbitrary route mutation, default knowledge access, hidden background Agent jobs, or implicit delegated review.
82
133
 
83
- The Research workspace submits web research and URL inspection forms to the normal main conversation. These requests are read-only by default, may use connected web tools when the user asks, and do not ingest sources. Use confirmed Agent Knowledge ingest actions only after a source should become durable Agent-owned knowledge.
134
+ ## Agent Knowledge
84
135
 
85
- Local memory capture/add commands are explicit Agent-local actions. Deletes, imports/exports, record linking, review-state changes, and promotion across memory scopes require `--yes`.
136
+ Use the Knowledge workspace first. Scriptable mirrors:
137
+
138
+ ```sh
139
+ goodvibes-agent ask "<query>"
140
+ goodvibes-agent search "<query>"
141
+ goodvibes-agent knowledge list --kind sources
142
+ goodvibes-agent knowledge get <id>
143
+ goodvibes-agent knowledge map
144
+ goodvibes-agent knowledge connectors
145
+ goodvibes-agent knowledge connector <connector-id>
146
+ goodvibes-agent knowledge connector-doctor <connector-id>
147
+ goodvibes-agent knowledge ingest-url <url> --yes
148
+ goodvibes-agent knowledge import-urls <path> --yes
149
+ goodvibes-agent knowledge import-bookmarks <path> --yes
150
+ goodvibes-agent knowledge reindex --yes
151
+ ```
152
+
153
+ Agent rejects route-selection flags that would target another knowledge space, including `--space`, `--knowledge-space`, `--knowledge-space-id`, and `--include-all-spaces`. Contaminated connected-host responses return `scope_contamination`.
154
+
155
+ ## Approvals, Automation, And Schedules
156
+
157
+ Read views are safe by default. Mutations require exact target ids and confirmation:
158
+
159
+ ```text
160
+ /approval approve <approval-id> [--note <text>] [--remember|--no-remember] --yes
161
+ /approval deny <approval-id> [--note <text>] [--remember|--no-remember] --yes
162
+ /approval cancel <approval-id> [--note <text>] [--remember|--no-remember] --yes
163
+ /automation job run <job-id> --yes
164
+ /automation job pause <job-id> --yes
165
+ /automation job resume <job-id> --yes
166
+ /automation run cancel <run-id> --yes
167
+ /automation run retry <run-id> --yes
168
+ /automation schedule run <schedule-id> --yes
169
+ /schedule run <schedule-id> --yes
170
+ ```
171
+
172
+ Routine promotion is an explicit scheduling bridge. Local routines stay local until a user confirms promotion. Delivery targets are opt-in with explicit channel/route/webhook/link flags.
86
173
 
87
174
  ## Slash Command Catalog
88
175
 
89
- Every registered slash-command root in the Agent TUI is listed here. Aliases resolve through the same command registry but are intentionally secondary to the canonical roots.
90
-
91
176
  | Command | Purpose |
92
177
  | --- | --- |
93
178
  | `/accounts` | Review provider auth routes, subscription windows, and billing-path safety. |
@@ -116,7 +201,7 @@ Every registered slash-command root in the Agent TUI is listed here. Aliases res
116
201
  | `/help` | Show available commands and keyboard shortcuts. |
117
202
  | `/image` | Attach an image file to the next message. |
118
203
  | `/keybindings` | List keyboard bindings and the config file path. |
119
- | `/knowledge` | Use isolated Agent Knowledge status, ask/search, source/node/issue lists, item lookup, map, connectors, ingest, reindex, and review queue. |
204
+ | `/knowledge` | Use isolated Agent Knowledge. |
120
205
  | `/load` | Load a saved Agent session. |
121
206
  | `/mcp` | Manage MCP servers, trust posture, and tool inventory. |
122
207
  | `/media` | Inspect media providers or generate media through configured providers. |
@@ -141,7 +226,7 @@ Every registered slash-command root in the Agent TUI is listed here. Aliases res
141
226
  | `/routines` | Manage Agent-local routines and explicit routine schedule promotion. |
142
227
  | `/save` | Save the current session. |
143
228
  | `/schedule` | Inspect schedules, create confirmed reminders, and promote routines to connected schedules. |
144
- | `/secrets` | Manage hierarchy-aware secrets, external secret refs, and secure/plaintext storage policy. |
229
+ | `/secrets` | Manage secrets, external secret refs, and storage policy. |
145
230
  | `/security` | Inspect security posture, attack paths, and review state. |
146
231
  | `/session` | Inspect session continuity and cross-session graph state. |
147
232
  | `/sessions` | List saved sessions. |
@@ -156,85 +241,14 @@ Every registered slash-command root in the Agent TUI is listed here. Aliases res
156
241
  | `/tts` | Submit a normal prompt and play the assistant response through live TTS. |
157
242
  | `/undo` | Undo the last conversation turn. |
158
243
  | `/unpin` | Unpin a model from the favorites list. |
159
- | `/voice` | Review voice posture and package portable voice interaction metadata. |
244
+ | `/voice` | Review voice posture and portable voice metadata. |
160
245
  | `/welcome` | Open or print the Agent setup guide. |
161
246
  | `/workplan` | Track a persistent workspace-scoped work plan. |
162
247
 
163
- ## Agent Knowledge
164
-
165
- `/knowledge ask <query>` asks the isolated Agent Knowledge environment for a source-backed answer through `/api/goodvibes-agent/knowledge/ask`.
166
-
167
- `/knowledge search <query>` searches the same isolated Agent environment through `/api/goodvibes-agent/knowledge/search`.
168
-
169
- `/knowledge ingest-url <url> --yes` ingests into Agent Knowledge through `/api/goodvibes-agent/knowledge/ingest/url`. Knowledge ingestion, imports, issue review, reindex, and consolidation are Agent-owned mutations and require `--yes`.
170
-
171
- The Knowledge workspace exposes status, source/node/issue libraries, item lookup, map review, connector list/detail/doctor, ask, search, and confirmed ingest forms. Scriptable equivalents such as `goodvibes-agent knowledge list --kind sources|nodes|issues`, `goodvibes-agent knowledge get <id>`, `goodvibes-agent knowledge map`, `goodvibes-agent knowledge connectors`, `goodvibes-agent knowledge connector <connectorId>`, and `goodvibes-agent knowledge connector-doctor <connectorId>` are read-only CLI inspection paths over the same isolated Agent route family.
172
-
173
- Workspace ingest forms are the primary user workflow. Scriptable equivalents such as `goodvibes-agent knowledge import-urls <path> --yes`, `goodvibes-agent knowledge import-bookmarks <path> --yes`, and `goodvibes-agent knowledge reindex --yes` are confirmed Agent Knowledge maintenance paths. They call only `/api/goodvibes-agent/knowledge/*`.
174
-
175
- The Agent command layer rejects flags that would route knowledge work into another space, including `--space`, `--knowledge-space`, `--knowledge-space-id`, and `--include-all-spaces`. If Agent Knowledge is unavailable, the command fails closed instead of querying a default store.
176
-
177
- Successful Agent Knowledge responses are also checked for scope contamination. If a connected host returns default-scope metadata or known non-Agent payload markers, the CLI and `agent_knowledge` model tool return a `scope_contamination` error instead of formatting the payload as Agent Knowledge.
178
-
179
- ## Media Artifacts
180
-
181
- Agent Workspace -> Voice & Media is the primary media path. Use `Generate media` for a confirmed form that calls configured media providers and stores outputs as GoodVibes artifacts.
182
-
183
- `/media providers` lists media provider readiness. `/media generate [--provider <id>] [--model <id>] [--mime <mime>] <prompt> --yes` is the power-user mirror for confirmed image/video generation. Media generation output returns artifact ids and metadata; it does not print inline base64 and does not write to default knowledge or non-Agent knowledge segments.
184
-
185
- ## Planning
186
-
187
- `/plan` inspects or seeds Agent workspace planning state. The planning loop belongs to the main Agent conversation: the Agent asks focused questions, records decisions and gaps, and keeps execution separate until the user gives an explicit action.
188
-
189
- The SDK planning service may expose a namespace such as `project:<projectId>` because that is the stable contract shape. In Agent UI and docs this is treated as a planning namespace, not as permission to query default knowledge or another product knowledge segment.
190
-
191
- Use `/workplan` when the work already has concrete tasks and needs durable status tracking rather than another planning interview.
192
-
193
- ## Delegation
194
-
195
- `/delegate` is for explicit build, fix, review, or implementation work. It sends a single delegated request to GoodVibes TUI/shared-session routes with the original user ask and execution intent. Agent does not create coding-role Agent jobs and does not run delegated review by default.
196
-
197
- Use `/delegate --review` only when the user explicitly asks for review or when the delegated build/fix/review request explicitly calls for review.
198
-
199
- ## Approvals And Automation
200
-
201
- Approvals and automation are safe by default:
202
-
203
- - list/status views are read-only;
204
- - mutating routes require exact commands and explicit confirmation such as `--yes`;
205
- - no chat turn silently runs approval, schedule, or automation mutations;
206
- - unavailable routes return structured errors rather than fallback behavior.
207
-
208
- Workspace forms are the primary path for approval and automation actions:
209
-
210
- - Agent Workspace -> Work & Approvals -> Approve request / Deny request / Cancel request
211
- - Agent Workspace -> Automation -> Run job now / Pause job / Resume job
212
- - Agent Workspace -> Automation -> Cancel run / Retry run / Run schedule now
213
-
214
- Power-user slash mirrors are exact and confirmation-gated:
215
-
216
- - `/approval approve <approval-id> [--note <text>] [--remember|--no-remember] --yes`
217
- - `/approval deny <approval-id> [--note <text>] [--remember|--no-remember] --yes`
218
- - `/approval cancel <approval-id> [--note <text>] [--remember|--no-remember] --yes`
219
- - `/automation job run <job-id> --yes`
220
- - `/automation job pause <job-id> --yes`
221
- - `/automation job resume <job-id> --yes`
222
- - `/automation run cancel <run-id> --yes`
223
- - `/automation run retry <run-id> --yes`
224
- - `/automation schedule run <schedule-id> --yes`
225
- - `/schedule run <schedule-id> --yes`
226
-
227
- Routine promotion is an explicit scheduling bridge: local routines stay local during normal use, and promotion creates a schedule only after a user runs the exact command with `--yes`. The generated scheduled prompt keeps Agent Knowledge isolated and forbids default knowledge or non-Agent knowledge fallback. Delivery is opt-in with explicit flags such as `--delivery-channel`, `--delivery-route`, `--delivery-webhook`, or `--delivery-link`; no delivery target is inferred from chat.
228
-
229
- ## Channels
230
-
231
- Agent Workspace -> Channels is the primary channel path. It shows readiness, setup, account, policy, and status views without rendering secret values. `Send channel message` opens a confirmed form for one delivery target.
232
-
233
- `/channels send --channel <surface[:route[:label]]> --message <text> --yes` sends one explicit message through configured delivery strategies. `--route`, `--webhook`, and `--link` are alternate one-target forms. Channel sends do not create routes, authorize accounts, manage connected-host hosting, use default knowledge, use non-Agent knowledge segments, create separate Agent jobs, or run delegated review.
234
-
235
248
  ## Related Docs
236
249
 
237
- - [Getting started](getting-started.md)
238
- - [Connected host](connected-host.md)
239
- - [Knowledge, artifacts, and multimodal](knowledge-artifacts-and-multimodal.md)
240
- - [Release and publishing](release-and-publishing.md)
250
+ - [Getting Started](getting-started.md)
251
+ - [Connected Host](connected-host.md)
252
+ - [Knowledge, Artifacts, and Multimodal](knowledge-artifacts-and-multimodal.md)
253
+ - [Channels, Remote Access, and API](channels-remote-and-api.md)
254
+ - [Release And Publishing](release-and-publishing.md)
@@ -20,7 +20,7 @@ GoodVibes Agent supports spoken turns as an Agent TUI feature. Text output remai
20
20
 
21
21
  `/config tts` opens the fullscreen configuration workspace for streaming provider, voice, and spoken-turn model routing.
22
22
 
23
- The model can inspect the same settings through `agent_harness` settings modes, open the visible TTS provider or voice picker through `open_ui_surface`, and change Agent-owned TTS settings with explicit confirmation. Connected-host listener or lifecycle settings remain outside Agent ownership.
23
+ The model can inspect the same settings through `agent_harness mode:"settings"` or `mode:"get_setting"`, open the visible TTS provider or voice picker through `mode:"open_ui_surface"`, and change Agent-owned TTS settings with explicit confirmation. `mode:"media_posture"` is compact by default; use `includeParameters:true` or `mode:"media_provider"` for full provider readiness, generation route hints, picker routes, and media policy detail. Connected-host listener or lifecycle settings remain outside Agent ownership.
24
24
 
25
25
  ## Playback Requirements
26
26
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pellux/goodvibes-agent",
3
- "version": "1.0.33",
3
+ "version": "1.0.35",
4
4
  "private": false,
5
5
  "description": "GoodVibes personal operator assistant TUI with a proactive Agent product brain, isolated Agent Knowledge, local profiles, routines, skills, personas, and explicit build delegation.",
6
6
  "type": "module",
@@ -1,16 +1,16 @@
1
1
  {
2
- "generatedAt": "2026-06-04T05:40:48.465Z",
2
+ "generatedAt": "2026-06-04T11:02:12.690Z",
3
3
  "homeDir": "[goodvibes-home]",
4
4
  "binaryPath": "[agent-binary]",
5
- "connectedHostBaseUrl": "http://127.0.0.1:37210",
5
+ "connectedHostBaseUrl": "http://127.0.0.1:3421",
6
6
  "strict": true,
7
7
  "checks": [
8
8
  {
9
9
  "id": "verification-ledger",
10
10
  "title": "Verification inventory ledger",
11
11
  "status": "pass",
12
- "summary": "100% local verification signal across 613 inventory items.",
13
- "detail": "84.5% local behavior verified; 95 item(s) require external outcomes."
12
+ "summary": "100% local verification signal across 761 inventory items.",
13
+ "detail": "87.4% local behavior verified; 96 item(s) require external outcomes."
14
14
  },
15
15
  {
16
16
  "id": "compiled-cli-present",
@@ -23,7 +23,7 @@
23
23
  "title": "Agent CLI version command",
24
24
  "status": "pass",
25
25
  "summary": "Agent CLI version returned successfully.",
26
- "detail": "goodvibes-agent 1.0.32"
26
+ "detail": "goodvibes-agent 1.0.35"
27
27
  },
28
28
  {
29
29
  "id": "cli-status-json",
@@ -37,14 +37,14 @@
37
37
  "title": "Agent CLI compatibility JSON command",
38
38
  "status": "pass",
39
39
  "summary": "Agent CLI compatibility returned parseable JSON.",
40
- "detail": "{\n \"ok\": true,\n \"packageVersion\": \"1.0.32\",\n \"sdkPin\": \"0.33.36\",\n \"connectedHost\": {\n \"baseUrl\": \"http://127.0.0.1:37210\",\n \"status\": 200,\n \"version\": \"0.33.36\",\n \"reachable\": true,\n \"compatible\": true\n },\n \"auth\": {\n \"tokenPresent\": true,\n \"tokenPath\": \"env:GOODVIBES_CONNECTED_HOST_TOKEN\"\n },\n \"agentKnowledge\": {\n \"route\": \"/api/goodvibes-agent/knowledge/status\",\n \"ready\": true,\n \"kind\": \"ok\"\n }\n}"
40
+ "detail": "{\n \"ok\": true,\n \"packageVersion\": \"1.0.35\",\n \"sdkPin\": \"0.33.36\",\n \"connectedHost\": {\n \"baseUrl\": \"http://127.0.0.1:3421\",\n \"status\": 200,\n \"version\": \"0.33.36\",\n \"reachable\": true,\n \"compatible\": true\n },\n \"auth\": {\n \"tokenPresent\": true,\n \"tokenPath\": \"env:GOODVIBES_CONNECTED_HOST_TOKEN\"\n },\n \"agentKnowledge\": {\n \"route\": \"/api/goodvibes-agent/knowledge/status\",\n \"ready\": true,\n \"kind\": \"ok\"\n }\n}"
41
41
  },
42
42
  {
43
43
  "id": "cli-agent-knowledge-status",
44
44
  "title": "Agent Knowledge CLI status command",
45
45
  "status": "pass",
46
46
  "summary": "Agent Knowledge status returned parseable JSON.",
47
- "detail": "{\n \"ok\": true,\n \"kind\": \"agentKnowledge.status\",\n \"route\": \"/api/goodvibes-agent/knowledge/status\",\n \"data\": {\n \"ready\": true,\n \"storagePath\": \"[home]/.goodvibes/goodvibes/knowledge-agent.sqlite\",\n \"sourceCount\": 0,\n \"nodeCount\": 0,\n \"edgeCount\": 0,\n \"issueCount\": 0,\n \"extractionCount\": 0,\n \"jobRunCount\": 0,\n \"refinementTaskCount\": 0,\n \"usageCount\": 0,\n \"candidateCount\": 0,\n \"reportCount\": 0,\n \"scheduleCount\": 3,\n \"note\": \"Structured knowledge uses SQL-backed sources, nodes, edges, issues, extractions, and job runs. Markdown is an optional projection, not the source of truth.\"\n }\n}"
47
+ "detail": "{\n \"ok\": true,\n \"kind\": \"agentKnowledge.status\",\n \"route\": \"/api/goodvibes-agent/knowledge/status\",\n \"data\": {\n \"ready\": true,\n \"storagePath\": \"[goodvibes-home]/tui/knowledge-agent.sqlite\",\n \"sourceCount\": 0,\n \"nodeCount\": 12,\n \"edgeCount\": 0,\n \"issueCount\": 0,\n \"extractionCount\": 0,\n \"jobRunCount\": 35,\n \"refinementTaskCount\": 0,\n \"usageCount\": 0,\n \"candidateCount\": 0,\n \"reportCount\": 2,\n \"scheduleCount\": 3,\n \"note\": \"Structured knowledge uses SQL-backed sources, nodes, edges, issues, extractions, and job runs. Markdown is an optional projection, not the source of truth.\"\n }\n}"
48
48
  },
49
49
  {
50
50
  "id": "cli-providers",
@@ -72,21 +72,21 @@
72
72
  "title": "Authenticated connected-host /api/health",
73
73
  "status": "pass",
74
74
  "summary": "Health overall=healthy.",
75
- "detail": "{\"overall\":\"healthy\",\"degradedDomains\":[],\"providerProblems\":[],\"mcpProblems\":{\"degraded\":[],\"quarantined\":[]},\"integrationProblems\":[],\"network\":{\"controlPlane\":{\"surface\":\"controlPlane\",\"host\":\"127.0.0.1\",\"port\":3421,\"mode\":\"off\",\"scheme\":\"http\",\"trustProxy\":false,\"usingDefaultPaths\":false,\"ready\":true,\"errors\":[]},\"httpListener\":{\"surface\":\"httpListener\",\"host\":\"127.0.0.1\",\"port\":3422,\"mode\":\"off\",\"scheme\":\"http\",\"trustProxy\":false,\"usingDefaultPaths\":false,\"ready\":true,\"errors\":[]},\"outbound\":{\"mode\":\"bundled\",\"allowInsecureLocalhost\":false,\"customCaEntryCount\":0,\"effectiveCaStrategy\":\"bun-default\",\"errors\":[]}}}"
75
+ "detail": "{\"overall\":\"healthy\",\"degradedDomains\":[],\"providerProblems\":[],\"mcpProblems\":{\"degraded\":[],\"quarantined\":[]},\"integrationProblems\":[],\"network\":{\"controlPlane\":{\"surface\":\"controlPlane\",\"host\":\"0.0.0.0\",\"port\":3421,\"mode\":\"off\",\"scheme\":\"http\",\"trustProxy\":false,\"usingDefaultPaths\":false,\"ready\":true,\"errors\":[]},\"httpListener\":{\"surface\":\"httpListener\",\"host\":\"0.0.0.0\",\"port\":3422,\"mode\":\"off\",\"scheme\":\"http\",\"trustProxy\":false,\"usingDefaultPaths\":false,\"ready\":true,\"errors\":[]},\"outbound\":{\"mode\":\"bundled\",\"allowInsecureLocalhost\":false,\"customCaEntryCount\":0,\"effectiveCaStrategy\":\"bun-default\",\"errors\":[]}}}"
76
76
  },
77
77
  {
78
78
  "id": "openai-compatible-models",
79
79
  "title": "OpenAI-compatible /v1/models route",
80
80
  "status": "pass",
81
- "summary": "/v1/models returned 2 model(s).",
82
- "detail": "/v1/models returned 2 model(s); model identifiers omitted from release artifact."
81
+ "summary": "/v1/models returned 11 model(s).",
82
+ "detail": "/v1/models returned 11 model(s); model identifiers omitted from release artifact."
83
83
  },
84
84
  {
85
85
  "id": "agent-knowledge-status",
86
86
  "title": "Agent Knowledge isolated /status",
87
87
  "status": "pass",
88
88
  "summary": "Agent Knowledge status route returned parseable isolated JSON.",
89
- "detail": "{\"ready\":true,\"storagePath\":\"[home]/.goodvibes/goodvibes/knowledge-agent.sqlite\",\"sourceCount\":0,\"nodeCount\":0,\"edgeCount\":0,\"issueCount\":0,\"extractionCount\":0,\"jobRunCount\":0,\"refinementTaskCount\":0,\"usageCount\":0,\"candidateCount\":0,\"reportCount\":0,\"scheduleCount\":3,\"note\":\"Structured knowledge uses SQL-backed sources, nodes, edges, issues, extractions, and job runs. Markdown is an optional projection, not the source of truth.\"}"
89
+ "detail": "{\"ready\":true,\"storagePath\":\"[goodvibes-home]/tui/knowledge-agent.sqlite\",\"sourceCount\":0,\"nodeCount\":12,\"edgeCount\":0,\"issueCount\":0,\"extractionCount\":0,\"jobRunCount\":35,\"refinementTaskCount\":0,\"usageCount\":0,\"candidateCount\":0,\"reportCount\":2,\"scheduleCount\":3,\"note\":\"Structured knowledge uses SQL-backed sources, nodes, edges, issues, extractions, and job runs. Markdown is an optional projection, not the source of truth.\"}"
90
90
  },
91
91
  {
92
92
  "id": "agent-knowledge-ask-isolated",
@@ -114,7 +114,7 @@
114
114
  "title": "Agent Knowledge isolated nodes list",
115
115
  "status": "pass",
116
116
  "summary": "Agent Knowledge isolated nodes list stayed on the isolated Agent route.",
117
- "detail": "{\"nodes\":[]}"
117
+ "detail": "{\"nodes\":[{\"id\":\"node-38d4924f\",\"kind\":\"topic\",\"slug\":\"linked-to-26-graph-relation-s\",\"title\":\"linked to 26 graph relation(s)\",\"summary\":\"Topic tag linked to 26 graph relation(s).\",\"aliases\":[\"linked to 26 graph relation(s)\"],\"status\":\"active\",\"confidence\":70,\"metadata\":{\"tag\":\"linked to 26 graph relation(s)\",\"knowledgeSpaceId\":\"goodvibes-agent:default\",\"namespace\":\"goodvibes-agent:default\"},\"createdAt\":1780489632675,\"updatedAt\":1780489632928},{\"id\":\"node-4014fce2\",\"kind\":\"topic\",\"slug\":\"observed-via-2-usage-pattern-s\",\"title\":\"observed via 2 usage pattern(s)\",\"summary\":\"Topic tag observed via 2 usage pattern(s).\",\"aliases\":[\"observed via 2 usage pattern(s)\"],\"status\":\"active\",\"confidence\":70,\"metadata\":{\"tag\":\"observed via 2 usage pattern(s)\",\"knowledgeSpaceId\":\"goodvibes-agent:default\",\"namespace\":\"goodvibes-agent:default\"},\"createdAt\":1780489632666,\"updatedAt\":17804896... [truncated]"
118
118
  },
119
119
  {
120
120
  "id": "agent-knowledge-issues-isolated",
@@ -128,7 +128,7 @@
128
128
  "title": "Agent Knowledge isolated map",
129
129
  "status": "pass",
130
130
  "summary": "Agent Knowledge isolated map stayed on the isolated Agent route.",
131
- "detail": "{\"ok\":true,\"title\":\"Knowledge Map\",\"generatedAt\":1780551648464,\"width\":1280,\"height\":920,\"nodeCount\":0,\"edgeCount\":0,\"totalNodeCount\":0,\"totalEdgeCount\":0,\"facets\":{\"recordKinds\":[],\"nodeKinds\":[],\"sourceTypes\":[],\"sourceStatuses\":[],\"nodeStatuses\":[],\"issueCodes\":[],\"issueStatuses\":[],\"issueSeverities\":[],\"edgeRelations\":[],\"tags\":[]},\"nodes\":[],\"edges\":[],\"svg\":\"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"1280\\\" height=\\\"920\\\" viewBox=\\\"0 0 1280 920\\\" role=\\\"img\\\" aria-label=\\\"Knowledge Map\\\">\\n<defs>\\n <radialGradient id=\\\"knowledgeMapBg\\\" cx=\\\"50%\\\" cy=\\\"46%\\\" r=\\\"70%\\\">\\n <stop offset=\\\"0%\\\" stop-color=\\\"#f7f4ec\\\" />\\n <stop offset=\\\"60%\\\" stop-color=\\\"#e9eef0\\\" />\\n <stop offset=\\\"100%\\\" stop-color=\\\"#dde6df\\\" />\\n </radialGradient>\\n <filter id=\\\"softShadow\\\" x=\\\"-20%\\\" y=\\\"-20%\\\" width=\\\"140%\\\" height=\\\"140%\\\">\\n <feDropShadow dx=\\\"0\\\" dy=\\\"6\\... [truncated]"
131
+ "detail": "{\"ok\":true,\"title\":\"Knowledge Map\",\"generatedAt\":1780570932688,\"width\":1280,\"height\":920,\"nodeCount\":12,\"edgeCount\":0,\"totalNodeCount\":12,\"totalEdgeCount\":0,\"facets\":{\"recordKinds\":[{\"value\":\"node\",\"count\":12}],\"nodeKinds\":[{\"value\":\"topic\",\"count\":12}],\"sourceTypes\":[],\"sourceStatuses\":[],\"nodeStatuses\":[{\"value\":\"active\",\"count\":12}],\"issueCodes\":[],\"issueStatuses\":[],\"issueSeverities\":[],\"edgeRelations\":[],\"tags\":[]},\"nodes\":[{\"id\":\"node-d2a534ae\",\"recordKind\":\"node\",\"kind\":\"topic\",\"title\":\"linked to 19 graph relation(s)\",\"summary\":\"Topic tag linked to 19 graph relation(s).\",\"x\":720,\"y\":277,\"radius\":23,\"metadata\":{\"tag\":\"linked to 19 graph relation(s)\",\"knowledgeSpaceId\":\"goodvibes-agent:default\",\"namespace\":\"goodvibes-agent:default\"}},{\"id\":\"node-0cc2f686\",\"recordKind\":\"node\",\"kind\":\"topic\",\"title\":\"linked to 20 graph relation(s)\",\"summary\":\"Topic tag linked to 20 gra... [truncated]"
132
132
  },
133
133
  {
134
134
  "id": "agent-knowledge-connectors-isolated",