@staix/agent-hub 0.12.36 → 0.12.38
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.
- package/CHANGELOG.md +22 -0
- package/README.md +18 -11
- package/docs/agent-notes/adapters.md +19 -6
- package/docs/agent-notes/budget.md +2 -1
- package/docs/agent-notes/bus.md +3 -2
- package/docs/agent-notes/daemon.md +9 -3
- package/docs/agent-notes/tasks.md +8 -4
- package/docs/agent-notes/tests.md +2 -2
- package/docs/memory.md +3 -1
- package/docs/operations.md +57 -10
- package/docs/quickstart.md +15 -7
- package/docs/sdlc.md +29 -3
- package/docs/security.md +10 -2
- package/docs/smoke.md +38 -2
- package/docs/specs/2026-09-19-agent-hub-design.md +58 -4
- package/docs/verification/2026-10-19-0.12.37.md +60 -0
- package/docs/verification/2026-10-19-agy-p1-t0.md +55 -0
- package/docs/verification/2026-10-19-bus-defer-reset.md +9 -0
- package/docs/verification/2026-10-19-jcode-0.98.1.md +30 -0
- package/docs/verification/2026-10-19-kimi-agy-reviewer-isolation.md +220 -0
- package/docs/verification/2026-10-19-reviewer-isolation.md +119 -0
- package/docs/verification/2026-10-20-0.12.38.md +56 -0
- package/docs/verified.json +27 -15
- package/package.json +2 -2
- package/plugins/agent-hub/.claude-plugin/plugin.json +1 -1
- package/plugins/agent-hub/server.js +5627 -3670
- package/src/adapters/acp.ts +3 -2
- package/src/adapters/agy/definition.ts +61 -0
- package/src/adapters/agy/entry.ts +76 -0
- package/src/adapters/agy/hooks.ts +81 -0
- package/src/adapters/claude-channel.ts +1 -0
- package/src/adapters/claude-print.ts +18 -156
- package/src/adapters/codex-review-isolation.ts +290 -0
- package/src/adapters/definitions/builtin-metadata.ts +9 -6
- package/src/adapters/definitions/native-cli-entry-claude.ts +3 -0
- package/src/adapters/definitions/native-cli-entry-codex.ts +5 -1
- package/src/adapters/definitions/native-cli-entry-jcode.ts +2 -0
- package/src/adapters/definitions/native-cli-entry-kimi.ts +12 -4
- package/src/adapters/definitions/native-cli-entry-local.ts +3 -0
- package/src/adapters/definitions/native-cli-entry-pi.ts +7 -1
- package/src/adapters/definitions/native-cli-entry-qwen.ts +3 -0
- package/src/adapters/definitions/native-cli-entry.ts +2 -0
- package/src/adapters/definitions/native-cli-retained.ts +15 -0
- package/src/adapters/definitions/native-factories.ts +17 -0
- package/src/adapters/definitions/native-policy-aux.ts +1 -1
- package/src/adapters/definitions/qwen.ts +1 -1
- package/src/adapters/definitions/reviewer-variants.ts +33 -0
- package/src/adapters/jcode.ts +20 -5
- package/src/adapters/kimi-review.ts +161 -0
- package/src/adapters/registry-types.ts +36 -4
- package/src/adapters/registry.ts +28 -7
- package/src/adapters/reviewer-mcp.ts +85 -0
- package/src/adapters/reviewer-print.ts +382 -0
- package/src/cli/agy-mcp.ts +370 -0
- package/src/cli/console-state.ts +6 -0
- package/src/cli/console.ts +2 -0
- package/src/cli/facts-hook.ts +15 -2
- package/src/cli/help.ts +2 -0
- package/src/cli/identity.ts +1 -1
- package/src/cli/init.ts +7 -0
- package/src/cli/launch.ts +3 -1
- package/src/cli/main.ts +20 -0
- package/src/cli/memory.ts +13 -12
- package/src/cli/output.ts +5 -0
- package/src/hub/board.ts +34 -6
- package/src/hub/bus.ts +17 -6
- package/src/hub/config-apply.ts +3 -2
- package/src/hub/control-client.ts +7 -1
- package/src/hub/daemon.ts +266 -46
- package/src/hub/envelope.ts +1 -1
- package/src/hub/host-executable.ts +1 -1
- package/src/hub/hub-tools.ts +5 -0
- package/src/hub/instances.ts +13 -3
- package/src/hub/memory-profile.ts +67 -11
- package/src/hub/native-hook-launch.ts +37 -0
- package/src/hub/peer-catalog.ts +2 -3
- package/src/hub/planning.ts +2 -0
- package/src/hub/release-admission.ts +64 -0
- package/src/hub/reviewer-pool-config.ts +11 -0
- package/src/hub/reviewer-pool.ts +76 -0
- package/src/hub/routing.ts +45 -3
- package/src/hub/sdlc-release.ts +113 -0
- package/src/hub/tasks.ts +261 -36
- package/src/ui/index.html +6 -1
- package/templates/AGENTS.block.md +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# 0.12.38 release verification
|
|
2
|
+
|
|
3
|
+
This record covers release preparation and source review. It does not claim publication, installation, a running-hub restart or native/live acceptance.
|
|
4
|
+
|
|
5
|
+
## Candidate
|
|
6
|
+
|
|
7
|
+
Version 0.12.38, control protocol 16 (unchanged), from merged main `c26b4495`. The person directed the release on 2026-10-20.
|
|
8
|
+
|
|
9
|
+
- #533 (PR #539, hub task #234): Kimi joins the fresh reviewer pool with `review_mode: "fresh"` and Kimi Code 2.2.0. It runs in a private `KIMI_CODE_HOME` with a clean working directory and exactly two task-bound hub tools. A replaced review can no longer be read or approved by the old child.
|
|
10
|
+
- #479 (PR #541, hub task #192): a released recovery hold clears the hub deferral mode after its flush, so later notices are not deferred by mistake.
|
|
11
|
+
- #542 D2/D3 (PR #544, hub task #243): guarded config changes waiting for a reload stay visible in status, the console and Settings, and a peer start warns `config retained: <keys>; run ahub settings reload`.
|
|
12
|
+
- #519 follow-up (PR #545, hub task #239): a fresh Codex review refused for an unusable credential root names its path class without the path or contents.
|
|
13
|
+
- #542 D1 (PR #546, hub task #242): a reply past the hop cap reports the hop cap, not "no other peers attached".
|
|
14
|
+
- #485 (PR #543, hub tasks #241 and #249): Antigravity (`agy`) as an optional, off-roster, pull-only implementer/verifier peer launched by the person, with typed native hooks bound to one daemon, launch, session and project.
|
|
15
|
+
- Still open (unchanged from 0.12.37): live native clients, installed managed-Pi #418 AC8 (#142), #438 AC7, the native console settings leg (#439 AC5), real upgrades with reattach (#463) and with a managed terminal and cancelled rows (#478), a live fresh Codex review with a real account, and a live split of a real memory home (#536).
|
|
16
|
+
- New open legs:
|
|
17
|
+
- The agy live TUI/account leg: attach, the plugin MCP tool inventory, a `hub_send` round trip, the launch slot released on terminal close, and native hook phases (#485, hub task #251, after the person's `ahub upgrade`).
|
|
18
|
+
- Kimi's interactive-TUI coexistence and usage checks (#533, `docs/smoke.md`).
|
|
19
|
+
- Deferred: agy native reads into Facts (#555), split from #249 as a feature gap.
|
|
20
|
+
|
|
21
|
+
## Reviews
|
|
22
|
+
|
|
23
|
+
| PR | Final head | Review | CI |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| #539 (#533) | 3ca48159 | planner review with connector threads answered | exact head, success |
|
|
26
|
+
| #541 (#479) | 54fed4c4 | planner review | exact head, success |
|
|
27
|
+
| #544 (#542 D2/D3) | 860a3b4c | planner review with connector threads answered | exact head, success |
|
|
28
|
+
| #545 (#519) | cb1de56f | planner review | exact head, success |
|
|
29
|
+
| #546 (#542 D1) | 48b1a44c | planner review | exact head, success |
|
|
30
|
+
| #543 (#485) | abbe87e0 | source step approved at 6c8c0c70 (#241); integration merge and four fix rounds reviewed by the planner (#249): six connector threads, five fixed red-first and one deferred to #555; affected tests 38 pass, 1 skip, 0 fail at abbe87e0 | exact head, success on Ubuntu and macOS with all four seeded shards; the local full check was deferred twice by host admission (Maru-owned dotfiles jobs), so CI on both platforms is the full gate |
|
|
31
|
+
|
|
32
|
+
## Document review
|
|
33
|
+
|
|
34
|
+
Eleven documents were stale against the 0.12.37 stamps (`9a4869c5`). Two fresh-context reviewers read them against the six PRs above. One took the person-facing documents and the other the agent notes, `AGENTS.md` and the stamp paths. Each applied its own edits after the planner spot-checked its claims against the code.
|
|
35
|
+
|
|
36
|
+
| Document | Result | Checked claims and correction |
|
|
37
|
+
| --- | --- | --- |
|
|
38
|
+
| `README.md` | corrected | Status 0.12.38 (protocol 16 unchanged); Antigravity listed as optional; the verification link; open legs add the agy live TUI leg (#251) and Kimi's TUI coexistence and usage checks (#533). |
|
|
39
|
+
| `docs/quickstart.md` | corrected | Install pin `v0.12.38`; "Upgrading to 0.12.38": restart Claude for the hop-cap reply (#546), agy via `ahub roster add agy` and `ahub agy` (#485), Kimi fresh reviewer with `review_mode: "fresh"` and Kimi Code 2.2.0 (#533), retained config (#542); the 0.12.37 notes kept for upgrades from 0.12.36 or earlier. |
|
|
40
|
+
| `docs/operations.md` | corrected | Fresh reviewer pool adds Kimi (declaration, start command, isolation paragraph, declared-kind modulo); the agy reviewer slot reason; a new "Optional Antigravity (agy) peer" section (launcher refusals, owned plugin files, pull-only, role ceiling, unmanaged native permissions). |
|
|
41
|
+
| `docs/security.md` | corrected | Credential-root refusal names only the path class (#545); the fresh Kimi reviewer is a native tool-authority boundary, not a sandbox (#533); agy's posture: unmanaged native tools, role ceiling, launcher-owned plugin files, socket-bound hook authority, 1 MiB hook input cap (#485). |
|
|
42
|
+
| `docs/agent-notes/adapters.md` | corrected | Scope adds `native-hook-launch.ts`, `peer-catalog.ts` and the `agy`/`kimi`/`jcode` MCP writers; `isSupportedPeer` for declared instances; the full test list for adding a peer and `builtinCliEntries`; TUI launchers include agy; the isolation receipt for `nativePolicy` backends, the `taskMcp` port, `admit` and `watchCurrent` (#533); agy launcher refusals (#543); the reviewer-pool rule moved to `tasks.md`. |
|
|
43
|
+
| `docs/agent-notes/bus.md` | corrected | Report a send from `Bus.publishResult` and print the hop-cap notice (#546); agy is pull-only; a successful recovery release clears `deferHub` after the flush (#541). |
|
|
44
|
+
| `docs/agent-notes/daemon.md` | corrected | Scope adds `native-hook-launch.ts`, `src/cli/output.ts`, `src/ui/index.html`; retained config and `cli.launchConfigKeys` (#544); launchers take the accepted start mode; facts-hook native mode and refusal of plain `facts` for a `factsHook` peer; the `native_hook_launch`/`native_facts` control protocol (#543). |
|
|
45
|
+
| `docs/agent-notes/tasks.md` | corrected | `routing.allowedRoles` role ceiling (#543); review authority bound to head and revision through `reviewBindingCurrent` (#533); the reviewer-pool declared-kind modulo rule. |
|
|
46
|
+
| `docs/agent-notes/tests.md` | corrected | Hang bounds per OS live in `check.yml`; Kimi reviewer fakes set `KIMI_CODE_HOME`; agy tests use a fake `agy` on PATH and a temporary `HOME`. |
|
|
47
|
+
| `docs/agent-notes/budget.md` | no change | The changed paths touch no quota, pause or handoff rule; agy has no budget block, and the Kimi reviewer variant keeps its base kind's account. |
|
|
48
|
+
| `docs/agent-notes/README.md` | no change | Stale only because `console-state.ts` gained the retained-config summary; its index still matches the notes. |
|
|
49
|
+
|
|
50
|
+
`AGENTS.md` lists the new adapter and daemon paths; `docs/verified.json` adds them to the `adapters.md` and `daemon.md` stamp paths.
|
|
51
|
+
|
|
52
|
+
## Checks
|
|
53
|
+
|
|
54
|
+
- Each merged PR's exact-head CI passed (table above). The release branch is main `c26b4495` plus the version, release notes and document corrections; the bundle is rebuilt with the pinned Bun 1.4.2 and is fresh; `tsc` is clean.
|
|
55
|
+
- The eleven stale stamps are restamped to the release commit `adf2d5fd` (reviewed against main `c26b4495`; the release commit adds only the version, notes and documents); `node scripts/check-docs.mjs` reports 0 stale documents. `--require-fresh` runs again on the merged main before the tag.
|
|
56
|
+
- Exact-head CI on the release PR.
|
package/docs/verified.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"documents": {
|
|
4
4
|
"README.md": {
|
|
5
|
-
"verifiedAgainst": "
|
|
5
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
6
6
|
"paths": [
|
|
7
7
|
"package.json",
|
|
8
8
|
"src/",
|
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
]
|
|
12
12
|
},
|
|
13
13
|
"docs/security.md": {
|
|
14
|
-
"verifiedAgainst": "
|
|
14
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
15
15
|
"paths": [
|
|
16
16
|
"src/",
|
|
17
17
|
"templates/"
|
|
18
18
|
]
|
|
19
19
|
},
|
|
20
20
|
"docs/operations.md": {
|
|
21
|
-
"verifiedAgainst": "
|
|
21
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
22
22
|
"paths": [
|
|
23
23
|
"package.json",
|
|
24
24
|
"src/",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
]
|
|
36
36
|
},
|
|
37
37
|
"docs/quickstart.md": {
|
|
38
|
-
"verifiedAgainst": "
|
|
38
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
39
39
|
"paths": [
|
|
40
40
|
"package.json",
|
|
41
41
|
"src/",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
45
|
"docs/agent-notes/adapters.md": {
|
|
46
|
-
"verifiedAgainst": "
|
|
46
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
47
47
|
"paths": [
|
|
48
48
|
"src/adapters/",
|
|
49
49
|
"src/pi/",
|
|
@@ -60,11 +60,16 @@
|
|
|
60
60
|
"src/hub/start-mode.ts",
|
|
61
61
|
"src/hub/terminal-open.ts",
|
|
62
62
|
"test/registry-guard.test.ts",
|
|
63
|
-
"test/registry-guard.baseline.json"
|
|
63
|
+
"test/registry-guard.baseline.json",
|
|
64
|
+
"src/hub/native-hook-launch.ts",
|
|
65
|
+
"src/hub/peer-catalog.ts",
|
|
66
|
+
"src/cli/agy-mcp.ts",
|
|
67
|
+
"src/cli/kimi-mcp.ts",
|
|
68
|
+
"src/cli/jcode-mcp.ts"
|
|
64
69
|
]
|
|
65
70
|
},
|
|
66
71
|
"docs/agent-notes/benchmarks.md": {
|
|
67
|
-
"verifiedAgainst": "
|
|
72
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
68
73
|
"paths": [
|
|
69
74
|
"scripts/benchmarks/",
|
|
70
75
|
"test/benchmarks/",
|
|
@@ -76,7 +81,7 @@
|
|
|
76
81
|
]
|
|
77
82
|
},
|
|
78
83
|
"docs/agent-notes/budget.md": {
|
|
79
|
-
"verifiedAgainst": "
|
|
84
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
80
85
|
"paths": [
|
|
81
86
|
"src/hub/budget.ts",
|
|
82
87
|
"src/cli/statusline-tee.ts",
|
|
@@ -93,7 +98,7 @@
|
|
|
93
98
|
]
|
|
94
99
|
},
|
|
95
100
|
"docs/agent-notes/bus.md": {
|
|
96
|
-
"verifiedAgainst": "
|
|
101
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
97
102
|
"paths": [
|
|
98
103
|
"src/hub/bus.ts",
|
|
99
104
|
"src/hub/envelope.ts",
|
|
@@ -107,7 +112,7 @@
|
|
|
107
112
|
]
|
|
108
113
|
},
|
|
109
114
|
"docs/agent-notes/daemon.md": {
|
|
110
|
-
"verifiedAgainst": "
|
|
115
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
111
116
|
"paths": [
|
|
112
117
|
"src/hub/daemon.ts",
|
|
113
118
|
"src/hub/control-client.ts",
|
|
@@ -154,7 +159,11 @@
|
|
|
154
159
|
"src/hub/instance-config.ts",
|
|
155
160
|
"src/hub/instance-execution.ts",
|
|
156
161
|
"src/hub/usage.ts",
|
|
157
|
-
"src/hub/claude-state.ts"
|
|
162
|
+
"src/hub/claude-state.ts",
|
|
163
|
+
"src/hub/memory-profile.ts",
|
|
164
|
+
"src/hub/native-hook-launch.ts",
|
|
165
|
+
"src/cli/output.ts",
|
|
166
|
+
"src/ui/index.html"
|
|
158
167
|
]
|
|
159
168
|
},
|
|
160
169
|
"docs/agent-notes/local-worker.md": {
|
|
@@ -179,7 +188,7 @@
|
|
|
179
188
|
]
|
|
180
189
|
},
|
|
181
190
|
"docs/agent-notes/tasks.md": {
|
|
182
|
-
"verifiedAgainst": "
|
|
191
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
183
192
|
"paths": [
|
|
184
193
|
"src/hub/tasks.ts",
|
|
185
194
|
"src/hub/board.ts",
|
|
@@ -196,11 +205,14 @@
|
|
|
196
205
|
"src/hub/settled-roles.ts",
|
|
197
206
|
"src/adapters/definitions/builtin-metadata.ts",
|
|
198
207
|
"src/hub/bus.ts",
|
|
199
|
-
"src/hub/review-brief.ts"
|
|
208
|
+
"src/hub/review-brief.ts",
|
|
209
|
+
"src/hub/reviewer-pool.ts",
|
|
210
|
+
"src/hub/reviewer-pool-config.ts",
|
|
211
|
+
"src/hub/release-admission.ts"
|
|
200
212
|
]
|
|
201
213
|
},
|
|
202
214
|
"docs/agent-notes/tests.md": {
|
|
203
|
-
"verifiedAgainst": "
|
|
215
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
204
216
|
"paths": [
|
|
205
217
|
"test/",
|
|
206
218
|
"scripts/check.sh",
|
|
@@ -219,7 +231,7 @@
|
|
|
219
231
|
]
|
|
220
232
|
},
|
|
221
233
|
"docs/agent-notes/README.md": {
|
|
222
|
-
"verifiedAgainst": "
|
|
234
|
+
"verifiedAgainst": "adf2d5fd2fc2e9f5ce5b5e9daf594269de227238",
|
|
223
235
|
"paths": [
|
|
224
236
|
"src/cli/console-state.ts",
|
|
225
237
|
"src/cli/attention.ts",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@staix/agent-hub",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.38",
|
|
4
4
|
"description": "Native multi-agent hub: Claude Code, Codex, Kimi Code, Pi and local inference as peers in one project",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"bun": ">=1.4.2"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@staix/agent-mem": "0.
|
|
20
|
+
"@staix/agent-mem": "0.4.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-hub",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.38",
|
|
4
4
|
"description": "Channel between Claude Code and the agent-hub daemon: peer messages from Codex, Kimi and the local worker arrive as channel events; hub_send replies.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Young Joon Lee",
|