@pellux/goodvibes-agent 1.0.31 → 1.0.34

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 (74) hide show
  1. package/CHANGELOG.md +59 -2
  2. package/README.md +72 -58
  3. package/dist/package/main.js +7572 -2430
  4. package/docs/README.md +25 -21
  5. package/docs/channels-remote-and-api.md +6 -2
  6. package/docs/connected-host.md +27 -6
  7. package/docs/getting-started.md +87 -66
  8. package/docs/knowledge-artifacts-and-multimodal.md +16 -4
  9. package/docs/project-planning.md +2 -2
  10. package/docs/providers-and-routing.md +3 -2
  11. package/docs/release-and-publishing.md +15 -11
  12. package/docs/tools-and-commands.md +150 -128
  13. package/docs/voice-and-live-tts.md +1 -1
  14. package/package.json +8 -3
  15. package/release/live-verification/live-verification.json +148 -0
  16. package/release/live-verification/live-verification.md +187 -0
  17. package/release/performance-snapshot.json +57 -0
  18. package/release/release-notes.md +19 -0
  19. package/release/release-readiness.json +581 -0
  20. package/src/agent/harness-control.ts +42 -3
  21. package/src/cli/agent-knowledge-command.ts +5 -5
  22. package/src/cli/agent-knowledge-format.ts +11 -0
  23. package/src/cli/agent-knowledge-runtime.ts +92 -13
  24. package/src/cli/bundle-command.ts +5 -4
  25. package/src/cli/entrypoint.ts +5 -2
  26. package/src/cli/external-runtime.ts +2 -15
  27. package/src/cli/management.ts +4 -3
  28. package/src/input/commands/guidance-runtime.ts +1 -1
  29. package/src/input/commands/knowledge.ts +2 -2
  30. package/src/runtime/bootstrap.ts +10 -18
  31. package/src/runtime/connected-host-auth.ts +16 -0
  32. package/src/tools/agent-analysis-registry-policy.ts +2 -9
  33. package/src/tools/agent-channel-send-tool.ts +3 -9
  34. package/src/tools/agent-context-policy.ts +1 -5
  35. package/src/tools/agent-find-policy.ts +1 -4
  36. package/src/tools/agent-harness-channel-metadata.ts +177 -0
  37. package/src/tools/agent-harness-cli-metadata.ts +4 -1
  38. package/src/tools/agent-harness-command-catalog.ts +10 -3
  39. package/src/tools/agent-harness-connected-host-status.ts +9 -3
  40. package/src/tools/agent-harness-delegation-posture.ts +216 -0
  41. package/src/tools/agent-harness-keybinding-metadata.ts +57 -22
  42. package/src/tools/agent-harness-mcp-metadata.ts +248 -0
  43. package/src/tools/agent-harness-media-posture.ts +282 -0
  44. package/src/tools/agent-harness-metadata.ts +44 -9
  45. package/src/tools/agent-harness-model-routing.ts +501 -0
  46. package/src/tools/agent-harness-model-tool-catalog.ts +7 -2
  47. package/src/tools/agent-harness-notification-metadata.ts +217 -0
  48. package/src/tools/agent-harness-operator-methods.ts +285 -0
  49. package/src/tools/agent-harness-pairing-posture.ts +265 -0
  50. package/src/tools/agent-harness-panel-metadata.ts +26 -12
  51. package/src/tools/agent-harness-provider-account-metadata.ts +205 -0
  52. package/src/tools/agent-harness-release-evidence.ts +364 -0
  53. package/src/tools/agent-harness-release-readiness.ts +298 -0
  54. package/src/tools/agent-harness-security-posture.ts +648 -0
  55. package/src/tools/agent-harness-service-posture.ts +207 -0
  56. package/src/tools/agent-harness-session-metadata.ts +284 -0
  57. package/src/tools/agent-harness-setup-posture.ts +295 -0
  58. package/src/tools/agent-harness-tool-schema.ts +104 -27
  59. package/src/tools/agent-harness-tool.ts +251 -235
  60. package/src/tools/agent-harness-ui-surface-metadata.ts +20 -12
  61. package/src/tools/agent-harness-workspace-actions.ts +260 -0
  62. package/src/tools/agent-knowledge-ingest-tool.ts +4 -10
  63. package/src/tools/agent-knowledge-tool.ts +120 -25
  64. package/src/tools/agent-local-registry-tool.ts +3 -7
  65. package/src/tools/agent-media-generate-tool.ts +2 -8
  66. package/src/tools/agent-notify-tool.ts +3 -8
  67. package/src/tools/agent-operator-action-tool.ts +4 -10
  68. package/src/tools/agent-operator-briefing-tool.ts +1 -6
  69. package/src/tools/agent-read-policy.ts +1 -4
  70. package/src/tools/agent-reminder-schedule-tool.ts +4 -9
  71. package/src/tools/agent-tool-policy-guard.ts +15 -51
  72. package/src/tools/agent-web-search-policy.ts +1 -4
  73. package/src/tools/agent-work-plan-tool.ts +1 -6
  74. package/src/version.ts +2 -2
@@ -0,0 +1,148 @@
1
+ {
2
+ "generatedAt": "2026-06-04T05:40:48.465Z",
3
+ "homeDir": "[goodvibes-home]",
4
+ "binaryPath": "[agent-binary]",
5
+ "connectedHostBaseUrl": "http://127.0.0.1:37210",
6
+ "strict": true,
7
+ "checks": [
8
+ {
9
+ "id": "verification-ledger",
10
+ "title": "Verification inventory ledger",
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."
14
+ },
15
+ {
16
+ "id": "compiled-cli-present",
17
+ "title": "Compiled GoodVibes Agent CLI binary",
18
+ "status": "pass",
19
+ "summary": "Found [agent-binary]."
20
+ },
21
+ {
22
+ "id": "cli-version",
23
+ "title": "Agent CLI version command",
24
+ "status": "pass",
25
+ "summary": "Agent CLI version returned successfully.",
26
+ "detail": "goodvibes-agent 1.0.33"
27
+ },
28
+ {
29
+ "id": "cli-status-json",
30
+ "title": "Agent CLI status JSON command",
31
+ "status": "pass",
32
+ "summary": "Agent CLI status returned parseable JSON.",
33
+ "detail": "Status JSON command completed; provider/model identifiers omitted from release artifact."
34
+ },
35
+ {
36
+ "id": "cli-compat-json",
37
+ "title": "Agent CLI compatibility JSON command",
38
+ "status": "pass",
39
+ "summary": "Agent CLI compatibility returned parseable JSON.",
40
+ "detail": "{\n \"ok\": true,\n \"packageVersion\": \"1.0.33\",\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}"
41
+ },
42
+ {
43
+ "id": "cli-agent-knowledge-status",
44
+ "title": "Agent Knowledge CLI status command",
45
+ "status": "pass",
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}"
48
+ },
49
+ {
50
+ "id": "cli-providers",
51
+ "title": "Agent CLI providers command",
52
+ "status": "pass",
53
+ "summary": "Provider inventory rendered successfully.",
54
+ "detail": "Provider inventory command completed; provider names and credential posture omitted from release artifact."
55
+ },
56
+ {
57
+ "id": "cli-doctor",
58
+ "title": "CLI doctor command",
59
+ "status": "pass",
60
+ "summary": "Doctor completed without findings.",
61
+ "detail": "Doctor command completed without findings; provider/model identifiers and credential posture omitted from release artifact."
62
+ },
63
+ {
64
+ "id": "connected-host-status",
65
+ "title": "Authenticated connected-host /status",
66
+ "status": "pass",
67
+ "summary": "/status returned 200, version 0.33.36.",
68
+ "detail": "{\"status\":\"running\",\"version\":\"0.33.36\"}"
69
+ },
70
+ {
71
+ "id": "connected-host-health",
72
+ "title": "Authenticated connected-host /api/health",
73
+ "status": "pass",
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\":[]}}}"
76
+ },
77
+ {
78
+ "id": "openai-compatible-models",
79
+ "title": "OpenAI-compatible /v1/models route",
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."
83
+ },
84
+ {
85
+ "id": "agent-knowledge-status",
86
+ "title": "Agent Knowledge isolated /status",
87
+ "status": "pass",
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.\"}"
90
+ },
91
+ {
92
+ "id": "agent-knowledge-ask-isolated",
93
+ "title": "Agent Knowledge isolated ask",
94
+ "status": "pass",
95
+ "summary": "Agent Knowledge ask stayed on the isolated Agent route.",
96
+ "detail": "{\"ok\":true,\"spaceId\":\"goodvibes-agent:default\",\"query\":\"What is GoodVibes Agent?\",\"answer\":{\"text\":\"No knowledge matched \\\"What is GoodVibes Agent?\\\".\",\"mode\":\"concise\",\"confidence\":0,\"sources\":[],\"linkedObjects\":[],\"facts\":[],\"gaps\":[],\"synthesized\":false},\"results\":[]}"
97
+ },
98
+ {
99
+ "id": "agent-knowledge-search-isolated",
100
+ "title": "Agent Knowledge isolated search",
101
+ "status": "pass",
102
+ "summary": "Agent Knowledge search stayed on the isolated Agent route.",
103
+ "detail": "{\"results\":[]}"
104
+ },
105
+ {
106
+ "id": "agent-knowledge-sources-isolated",
107
+ "title": "Agent Knowledge isolated sources list",
108
+ "status": "pass",
109
+ "summary": "Agent Knowledge isolated sources list stayed on the isolated Agent route.",
110
+ "detail": "{\"sources\":[]}"
111
+ },
112
+ {
113
+ "id": "agent-knowledge-nodes-isolated",
114
+ "title": "Agent Knowledge isolated nodes list",
115
+ "status": "pass",
116
+ "summary": "Agent Knowledge isolated nodes list stayed on the isolated Agent route.",
117
+ "detail": "{\"nodes\":[]}"
118
+ },
119
+ {
120
+ "id": "agent-knowledge-issues-isolated",
121
+ "title": "Agent Knowledge isolated issues list",
122
+ "status": "pass",
123
+ "summary": "Agent Knowledge isolated issues list stayed on the isolated Agent route.",
124
+ "detail": "{\"issues\":[]}"
125
+ },
126
+ {
127
+ "id": "agent-knowledge-map-isolated",
128
+ "title": "Agent Knowledge isolated map",
129
+ "status": "pass",
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]"
132
+ },
133
+ {
134
+ "id": "agent-knowledge-connectors-isolated",
135
+ "title": "Agent Knowledge isolated connectors list",
136
+ "status": "pass",
137
+ "summary": "Agent Knowledge isolated connectors list stayed on the isolated Agent route.",
138
+ "detail": "{\"connectors\":[{\"id\":\"bookmark\",\"displayName\":\"Bookmarks Import\",\"version\":\"1\",\"description\":\"Parse bookmark exports or bookmark-like JSON into bookmark seeds.\",\"sourceType\":\"bookmark\",\"capabilities\":[\"bookmark-export\",\"netscape-html\",\"bookmark-json\"],\"inputSchema\":{\"type\":\"string\",\"description\":\"Bookmark export content such as Netscape bookmark HTML or bookmark-like JSON.\"},\"examples\":[\"<!DOCTYPE NETSCAPE-Bookmark-file-1>...\"],\"metadata\":{\"accepts\":[\"inline-content\",\"file-content\"],\"preferredContentType\":\"text/html\",\"transportHints\":[\"content\",\"path\"]},\"setup\":{\"version\":\"1\",\"summary\":\"Imports bookmark export files or bookmark-like JSON payloads.\",\"steps\":[\"Export bookmarks from a browser as Netscape-style HTML or supply bookmark-like JSON.\",\"Send the content directly or provide a file path to the ingest endpoint.\"],\"fields\":[{\"key\":\"content\",\"label\":\"Bookmark Content\",\"... [truncated]"
139
+ }
140
+ ],
141
+ "counts": {
142
+ "pass": 19,
143
+ "warn": 0,
144
+ "fail": 0,
145
+ "skip": 0
146
+ },
147
+ "ok": true
148
+ }
@@ -0,0 +1,187 @@
1
+ # GoodVibes Agent Live Verification
2
+
3
+ Generated: 2026-06-04T05:40:48.465Z
4
+ Home: `[goodvibes-home]`
5
+ Binary: `[agent-binary]`
6
+ Connected host: `http://127.0.0.1:37210`
7
+
8
+ | Status | Count |
9
+ |---|---:|
10
+ | pass | 19 |
11
+ | warn | 0 |
12
+ | fail | 0 |
13
+ | skip | 0 |
14
+
15
+ | Check | Status | Summary |
16
+ |---|---|---|
17
+ | Verification inventory ledger | pass | 100% local verification signal across 613 inventory items. |
18
+ | Compiled GoodVibes Agent CLI binary | pass | Found [agent-binary]. |
19
+ | Agent CLI version command | pass | Agent CLI version returned successfully. |
20
+ | Agent CLI status JSON command | pass | Agent CLI status returned parseable JSON. |
21
+ | Agent CLI compatibility JSON command | pass | Agent CLI compatibility returned parseable JSON. |
22
+ | Agent Knowledge CLI status command | pass | Agent Knowledge status returned parseable JSON. |
23
+ | Agent CLI providers command | pass | Provider inventory rendered successfully. |
24
+ | CLI doctor command | pass | Doctor completed without findings. |
25
+ | Authenticated connected-host /status | pass | /status returned 200, version 0.33.36. |
26
+ | Authenticated connected-host /api/health | pass | Health overall=healthy. |
27
+ | OpenAI-compatible /v1/models route | pass | /v1/models returned 2 model(s). |
28
+ | Agent Knowledge isolated /status | pass | Agent Knowledge status route returned parseable isolated JSON. |
29
+ | Agent Knowledge isolated ask | pass | Agent Knowledge ask stayed on the isolated Agent route. |
30
+ | Agent Knowledge isolated search | pass | Agent Knowledge search stayed on the isolated Agent route. |
31
+ | Agent Knowledge isolated sources list | pass | Agent Knowledge isolated sources list stayed on the isolated Agent route. |
32
+ | Agent Knowledge isolated nodes list | pass | Agent Knowledge isolated nodes list stayed on the isolated Agent route. |
33
+ | Agent Knowledge isolated issues list | pass | Agent Knowledge isolated issues list stayed on the isolated Agent route. |
34
+ | Agent Knowledge isolated map | pass | Agent Knowledge isolated map stayed on the isolated Agent route. |
35
+ | Agent Knowledge isolated connectors list | pass | Agent Knowledge isolated connectors list stayed on the isolated Agent route. |
36
+
37
+ ## Details
38
+
39
+ ### Verification inventory ledger
40
+
41
+ ```text
42
+ 84.5% local behavior verified; 95 item(s) require external outcomes.
43
+ ```
44
+
45
+ ### Agent CLI version command
46
+
47
+ ```text
48
+ goodvibes-agent 1.0.33
49
+ ```
50
+
51
+ ### Agent CLI status JSON command
52
+
53
+ ```text
54
+ Status JSON command completed; provider/model identifiers omitted from release artifact.
55
+ ```
56
+
57
+ ### Agent CLI compatibility JSON command
58
+
59
+ ```text
60
+ {
61
+ "ok": true,
62
+ "packageVersion": "1.0.33",
63
+ "sdkPin": "0.33.36",
64
+ "connectedHost": {
65
+ "baseUrl": "http://127.0.0.1:37210",
66
+ "status": 200,
67
+ "version": "0.33.36",
68
+ "reachable": true,
69
+ "compatible": true
70
+ },
71
+ "auth": {
72
+ "tokenPresent": true,
73
+ "tokenPath": "env:GOODVIBES_CONNECTED_HOST_TOKEN"
74
+ },
75
+ "agentKnowledge": {
76
+ "route": "/api/goodvibes-agent/knowledge/status",
77
+ "ready": true,
78
+ "kind": "ok"
79
+ }
80
+ }
81
+ ```
82
+
83
+ ### Agent Knowledge CLI status command
84
+
85
+ ```text
86
+ {
87
+ "ok": true,
88
+ "kind": "agentKnowledge.status",
89
+ "route": "/api/goodvibes-agent/knowledge/status",
90
+ "data": {
91
+ "ready": true,
92
+ "storagePath": "[home]/.goodvibes/goodvibes/knowledge-agent.sqlite",
93
+ "sourceCount": 0,
94
+ "nodeCount": 0,
95
+ "edgeCount": 0,
96
+ "issueCount": 0,
97
+ "extractionCount": 0,
98
+ "jobRunCount": 0,
99
+ "refinementTaskCount": 0,
100
+ "usageCount": 0,
101
+ "candidateCount": 0,
102
+ "reportCount": 0,
103
+ "scheduleCount": 3,
104
+ "note": "Structured knowledge uses SQL-backed sources, nodes, edges, issues, extractions, and job runs. Markdown is an optional projection, not the source of truth."
105
+ }
106
+ }
107
+ ```
108
+
109
+ ### Agent CLI providers command
110
+
111
+ ```text
112
+ Provider inventory command completed; provider names and credential posture omitted from release artifact.
113
+ ```
114
+
115
+ ### CLI doctor command
116
+
117
+ ```text
118
+ Doctor command completed without findings; provider/model identifiers and credential posture omitted from release artifact.
119
+ ```
120
+
121
+ ### Authenticated connected-host /status
122
+
123
+ ```text
124
+ {"status":"running","version":"0.33.36"}
125
+ ```
126
+
127
+ ### Authenticated connected-host /api/health
128
+
129
+ ```text
130
+ {"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":[]}}}
131
+ ```
132
+
133
+ ### OpenAI-compatible /v1/models route
134
+
135
+ ```text
136
+ /v1/models returned 2 model(s); model identifiers omitted from release artifact.
137
+ ```
138
+
139
+ ### Agent Knowledge isolated /status
140
+
141
+ ```text
142
+ {"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."}
143
+ ```
144
+
145
+ ### Agent Knowledge isolated ask
146
+
147
+ ```text
148
+ {"ok":true,"spaceId":"goodvibes-agent:default","query":"What is GoodVibes Agent?","answer":{"text":"No knowledge matched \"What is GoodVibes Agent?\".","mode":"concise","confidence":0,"sources":[],"linkedObjects":[],"facts":[],"gaps":[],"synthesized":false},"results":[]}
149
+ ```
150
+
151
+ ### Agent Knowledge isolated search
152
+
153
+ ```text
154
+ {"results":[]}
155
+ ```
156
+
157
+ ### Agent Knowledge isolated sources list
158
+
159
+ ```text
160
+ {"sources":[]}
161
+ ```
162
+
163
+ ### Agent Knowledge isolated nodes list
164
+
165
+ ```text
166
+ {"nodes":[]}
167
+ ```
168
+
169
+ ### Agent Knowledge isolated issues list
170
+
171
+ ```text
172
+ {"issues":[]}
173
+ ```
174
+
175
+ ### Agent Knowledge isolated map
176
+
177
+ ```text
178
+ {"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]
179
+ ```
180
+
181
+ ### Agent Knowledge isolated connectors list
182
+
183
+ ```text
184
+ {"connectors":[{"id":"bookmark","displayName":"Bookmarks Import","version":"1","description":"Parse bookmark exports or bookmark-like JSON into bookmark seeds.","sourceType":"bookmark","capabilities":["bookmark-export","netscape-html","bookmark-json"],"inputSchema":{"type":"string","description":"Bookmark export content such as Netscape bookmark HTML or bookmark-like JSON."},"examples":["<!DOCTYPE NETSCAPE-Bookmark-file-1>..."],"metadata":{"accepts":["inline-content","file-content"],"preferredContentType":"text/html","transportHints":["content","path"]},"setup":{"version":"1","summary":"Imports bookmark export files or bookmark-like JSON payloads.","steps":["Export bookmarks from a browser as Netscape-style HTML or supply bookmark-like JSON.","Send the content directly or provide a file path to the ingest endpoint."],"fields":[{"key":"content","label":"Bookmark Content","... [truncated]
185
+ ```
186
+
187
+ Result: PASS
@@ -0,0 +1,57 @@
1
+ {
2
+ "surfacePerf": {
3
+ "revision": 24,
4
+ "lastUpdatedAt": 1780491600000,
5
+ "source": "release-ci-fixture",
6
+ "totalRenderCycles": 24,
7
+ "avgRenderMs": 9.8,
8
+ "maxRenderMs": 15.8,
9
+ "overBudgetCount": 0,
10
+ "budgetStatus": "ok",
11
+ "targetBudgetMs": 16,
12
+ "recentCycles": [
13
+ { "cycleId": 1, "requestedAt": 1780491600000, "completedAt": 1780491600007, "durationMs": 7.2, "overBudget": false },
14
+ { "cycleId": 2, "requestedAt": 1780491600020, "completedAt": 1780491600029, "durationMs": 8.8, "overBudget": false },
15
+ { "cycleId": 3, "requestedAt": 1780491600040, "completedAt": 1780491600049, "durationMs": 9.1, "overBudget": false },
16
+ { "cycleId": 4, "requestedAt": 1780491600060, "completedAt": 1780491600069, "durationMs": 8.6, "overBudget": false },
17
+ { "cycleId": 5, "requestedAt": 1780491600080, "completedAt": 1780491600090, "durationMs": 9.9, "overBudget": false },
18
+ { "cycleId": 6, "requestedAt": 1780491600100, "completedAt": 1780491600111, "durationMs": 10.7, "overBudget": false },
19
+ { "cycleId": 7, "requestedAt": 1780491600120, "completedAt": 1780491600130, "durationMs": 10.1, "overBudget": false },
20
+ { "cycleId": 8, "requestedAt": 1780491600140, "completedAt": 1780491600149, "durationMs": 9.4, "overBudget": false },
21
+ { "cycleId": 9, "requestedAt": 1780491600160, "completedAt": 1780491600172, "durationMs": 11.6, "overBudget": false },
22
+ { "cycleId": 10, "requestedAt": 1780491600180, "completedAt": 1780491600190, "durationMs": 10.2, "overBudget": false },
23
+ { "cycleId": 11, "requestedAt": 1780491600200, "completedAt": 1780491600213, "durationMs": 12.5, "overBudget": false },
24
+ { "cycleId": 12, "requestedAt": 1780491600220, "completedAt": 1780491600230, "durationMs": 9.7, "overBudget": false },
25
+ { "cycleId": 13, "requestedAt": 1780491600240, "completedAt": 1780491600254, "durationMs": 13.8, "overBudget": false },
26
+ { "cycleId": 14, "requestedAt": 1780491600260, "completedAt": 1780491600271, "durationMs": 10.9, "overBudget": false },
27
+ { "cycleId": 15, "requestedAt": 1780491600280, "completedAt": 1780491600292, "durationMs": 11.5, "overBudget": false },
28
+ { "cycleId": 16, "requestedAt": 1780491600300, "completedAt": 1780491600310, "durationMs": 9.8, "overBudget": false },
29
+ { "cycleId": 17, "requestedAt": 1780491600320, "completedAt": 1780491600335, "durationMs": 14.6, "overBudget": false },
30
+ { "cycleId": 18, "requestedAt": 1780491600340, "completedAt": 1780491600352, "durationMs": 11.9, "overBudget": false },
31
+ { "cycleId": 19, "requestedAt": 1780491600360, "completedAt": 1780491600375, "durationMs": 15.2, "overBudget": false },
32
+ { "cycleId": 20, "requestedAt": 1780491600380, "completedAt": 1780491600396, "durationMs": 15.8, "overBudget": false }
33
+ ],
34
+ "maxCycleBuffer": 60,
35
+ "avgInputLatencyMs": 12,
36
+ "maxInputLatencyMs": 24,
37
+ "recentInputLatency": [
38
+ { "keyEventAt": 1780491600400, "respondedAt": 1780491600410, "latencyMs": 10 },
39
+ { "keyEventAt": 1780491600420, "respondedAt": 1780491600433, "latencyMs": 13 },
40
+ { "keyEventAt": 1780491600440, "respondedAt": 1780491600456, "latencyMs": 16 },
41
+ { "keyEventAt": 1780491600460, "respondedAt": 1780491600484, "latencyMs": 24 }
42
+ ],
43
+ "heapUsedBytes": 0,
44
+ "rssBytes": 0
45
+ },
46
+ "extraMetrics": {
47
+ "event.queue.depth": 12,
48
+ "tool.executor.overhead.p95": 2.1,
49
+ "compaction.latency.p95": 84,
50
+ "slo.turn_start.p95": 780,
51
+ "slo.cancel.p95": 96,
52
+ "slo.reconnect_recovery.p95": 1230,
53
+ "slo.permission_decision.p95": 19,
54
+ "slo.integration.delivery_success_rate": 95,
55
+ "slo.integration.dlq_depth": 0
56
+ }
57
+ }
@@ -0,0 +1,19 @@
1
+ - Promoted GoodVibes Agent to the stable 1.0.x operator product surface: the fullscreen Agent workspace is the primary TUI, with setup, provider/model routing, status, compatibility, and doctor flows shaped around personal operator use instead of copied host lifecycle controls.
2
+ - Completed the Agent-local behavior system for day-one operation: local memory and notes, personas, skills, skill bundles, routines, starter profiles, discovery/import flows, review/stale/delete controls, and secret-looking content rejection all stay under Agent ownership.
3
+ - Completed isolated Agent Knowledge coverage across CLI, slash commands, workspace panels, connector/source/node/issue views, URL/file/browser/connector ingest, semantic ask/search, and connected-host `/api/goodvibes-agent/knowledge/*` routes without fallback to default or non-Agent knowledge surfaces.
4
+ - Completed connected-host operator integration without taking host lifecycle ownership: compatibility/status checks, authenticated health and model routes, channel readiness, provider-account posture, approvals, automation snapshots, schedules, work plans, media/voice readiness, pairing, and explicit public-route diagnostics are all visible from Agent.
5
+ - Completed explicit side-effect boundaries for personal operation: channel sends, notifications, routine schedule promotion, reminders, subscription/auth actions, memory bundle imports/exports, support bundles, MCP configuration, profile changes, and build delegation require explicit confirmation where they mutate state or call external routes.
6
+ - Completed package and release hardening for the release gate: Bun-only install/run instructions, package-facing text verification, package runtime bundling, packed global install smoke, blocked lifecycle command smoke, source/package boundary checks, architecture checks, recorded performance snapshot checks, verification ledger, strict live verification artifacts, and release-quality readiness inventory dimensions are now part of the validated release path.
7
+ - Completed the compact model-visible harness pass: `agent_harness` summary and plural catalogs now default to compact rows, with full schemas, policy blocks, route metadata, editor fields, release artifact detail, redacted log tail, and parameter detail behind `includeParameters:true` or singular inspect modes.
8
+ - Completed direct model access to user-facing harness operations: workspace actions, slash commands, settings, panels, UI surfaces, keybindings, tool catalogs, channel/notification posture, provider/account posture, MCP posture, setup, model routing, pairing, delegation, security/support bundles, media, sessions, operator methods, release evidence, and connected-host diagnostics are all exposed through Agent tools or harness modes.
9
+ - Completed connected-host daemon aliases for the model: `daemon` maps to connected-host posture and `daemon_status` maps to live connected-host status while lifecycle control stays outside Agent.
10
+ - Completed settings parity for the model-facing harness: settings discovery is compact by default, `get_setting` and `includeParameters:true` expose full descriptors, and `set_setting`/`reset_setting` use the same config/secret managers with confirmation and external-host setting locks.
11
+ - Completed the tool-description verbosity sweep: first-class Agent tools and wrapped built-in tool definitions now register concise descriptions, while detailed safety rules remain enforced in policy wrappers, confirmation errors, and detailed harness inspection.
12
+ - Completed copyable model route hint cleanup: confirmed harness examples now include the required `confirm:true` and `explicitUserRequest` fields so route hints match the actual execution contract.
13
+ - Completed resilient shortcut/keybinding discovery: `agent_harness` returns fixed shortcuts and default-fallback keybinding descriptors when the live keybinding manager is absent, while keybinding execution and mutation still fail closed until the runtime manager is available.
14
+ - Completed the model-visible operator method catalog: `agent_harness` can now list and inspect allowlisted public operator and Agent Knowledge methods with their owning first-class model tools, confirmation policy, and boundaries, without exposing arbitrary route invocation.
15
+ - Expanded first-class Agent Knowledge reads: `agent_knowledge` now covers status, ask, search, source/node/issue lists, item lookup, map summary, connector list/detail, and connector doctor while staying inside `/api/goodvibes-agent/knowledge/*`.
16
+ - Added fail-closed Agent Knowledge response-scope validation: CLI, model tools, and live verification reject successful-looking payloads that expose default scope metadata or known non-Agent payload markers.
17
+ - Expanded release-route enforcement for Agent Knowledge: architecture/package policy now guards the full route catalog, and live verification definitions include source, node, issue, map, and connector read routes in addition to status, ask, and search.
18
+ - Pinned the release line to `@pellux/goodvibes-sdk@0.33.36` so the packaged connected-host runtime includes Agent Knowledge alias scope normalization and telephony channel surface support.
19
+ - Renamed active release evidence artifacts to current-release paths under `release/`, including release notes, readiness inventory, performance snapshot, and live-verification reports, so current release metadata no longer depends on stale historical filenames.