@staix/agent-hub 0.19.0 → 0.21.0
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 +70 -3
- package/README.md +2 -2
- package/docs/agent-notes/README.md +11 -0
- package/docs/agent-notes/adapters.md +10 -5
- package/docs/agent-notes/benchmarks.md +27 -0
- package/docs/agent-notes/budget.md +2 -1
- package/docs/agent-notes/bus.md +3 -3
- package/docs/agent-notes/daemon.md +20 -7
- package/docs/agent-notes/local-worker.md +5 -0
- package/docs/agent-notes/models.md +2 -0
- package/docs/agent-notes/tasks.md +20 -10
- package/docs/agent-notes/tests.md +13 -5
- package/docs/bench.md +1 -1
- package/docs/data-policy.md +2 -0
- package/docs/dogfood.md +41 -5
- package/docs/events.md +2 -1
- package/docs/memory.md +9 -3
- package/docs/operations.md +598 -63
- package/docs/profiles.md +13 -1
- package/docs/quickstart.md +18 -9
- package/docs/research.md +7 -4
- package/docs/sdlc.md +66 -10
- package/docs/security.md +397 -35
- package/docs/smoke.md +127 -0
- package/docs/specs/2026-09-19-agent-hub-design.md +1149 -19
- package/docs/verification/2026-10-27-0.19.0.md +5 -5
- package/docs/verification/2026-10-27-0.20.0.md +75 -0
- package/docs/verification/2026-10-28-claude-2.1.311-2.1.312-bash-permission.json +635 -0
- package/docs/verification/2026-10-28-claude-2.1.311-2.1.312-permission-transport.json +403 -0
- package/docs/verification/2026-10-28-claude-implementer-permission-triage.md +123 -0
- package/docs/verification/2026-10-28-jcode-0.99.1-usage.md +41 -0
- package/docs/verification/2026-10-28-realpath-name-audit.md +222 -0
- package/docs/verification/2026-10-28-routing-f0bb8ad0.md +1000 -0
- package/docs/verification/2026-10-29-0.21.0.md +61 -0
- package/docs/verification/2026-10-29-model-effort-capabilities.md +123 -0
- package/docs/verification/2026-10-29-modelrouting-b152ddb9.md +953 -0
- package/docs/verification/claude-implementer-permission-triage.ts +160 -0
- package/docs/verification/claude-permission-transport-native.py +71 -14
- package/docs/verification/profiles/YYYY-MM-DD-research.md +1 -1
- package/docs/verified.json +26 -18
- package/package.json +2 -2
- package/plugins/agent-hub/.claude-plugin/plugin.json +1 -1
- package/plugins/agent-hub/server.js +1116 -284
- package/src/adapters/acp.ts +87 -3
- package/src/adapters/channel-peer.ts +11 -5
- package/src/adapters/claude-channel.ts +13 -6
- package/src/adapters/claude-implementer.ts +61 -7
- package/src/adapters/codex-appserver.ts +88 -5
- package/src/adapters/conformance/enrollment.ts +4 -4
- package/src/adapters/conformance/factories.ts +2 -1
- package/src/adapters/conformance/fakes/jcode-agent.ts +6 -2
- package/src/adapters/conformance/kit.ts +10 -6
- package/src/adapters/definitions/builtin-metadata.ts +3 -114
- package/src/adapters/definitions/native-config-defaults.ts +1 -1
- package/src/adapters/definitions/native-config-policy.ts +3 -2
- package/src/adapters/definitions/native-context.ts +12 -0
- package/src/adapters/external-metadata.ts +48 -0
- package/src/adapters/external-modules.ts +63 -3
- package/src/adapters/jcode.ts +6 -2
- package/src/adapters/local-worker.ts +42 -25
- package/src/adapters/native-proof-ports.ts +10 -0
- package/src/adapters/pi.ts +7 -0
- package/src/adapters/registry-types.ts +4 -0
- package/src/adapters/reviewer-print.ts +1 -0
- package/src/broker/protocol.ts +203 -0
- package/src/broker/server.ts +314 -0
- package/src/broker/store.ts +548 -0
- package/src/cli/bench.ts +3 -2
- package/src/cli/broker.ts +58 -0
- package/src/cli/conductor-recovery.ts +142 -0
- package/src/cli/configured-acp-entry.ts +26 -6
- package/src/cli/console-state.ts +59 -17
- package/src/cli/console.ts +17 -2
- package/src/cli/facts-hook.ts +3 -1
- package/src/cli/help.ts +28 -16
- package/src/cli/identity.ts +23 -10
- package/src/cli/init.ts +34 -7
- package/src/cli/intake-output.ts +33 -0
- package/src/cli/main.ts +314 -71
- package/src/cli/output.ts +41 -1
- package/src/cli/recovery-package.ts +18 -1
- package/src/cli/role-holders.ts +35 -0
- package/src/cli/room.ts +304 -0
- package/src/cli/say-input.ts +16 -0
- package/src/cli/schedule-output.ts +49 -0
- package/src/cli/sdlc-output.ts +44 -6
- package/src/cli/smoke-pty-bridge.ts +33 -0
- package/src/cli/smoke-pty.ts +145 -0
- package/src/cli/smoke-run.ts +139 -0
- package/src/cli/smoke-target.ts +130 -0
- package/src/cli/source-output.ts +29 -0
- package/src/cli/task-output.ts +3 -2
- package/src/cli/upgrade-runtime.ts +98 -16
- package/src/cli/upgrade.ts +66 -7
- package/src/hub/ask.ts +76 -12
- package/src/hub/board.ts +132 -22
- package/src/hub/bus.ts +399 -56
- package/src/hub/child-process.ts +2 -0
- package/src/hub/ci-watch.ts +162 -0
- package/src/hub/claude-failure-stage.ts +85 -0
- package/src/hub/claude-launch-proof.ts +67 -2
- package/src/hub/claude-shell-wrapper.ts +11 -5
- package/src/hub/conductor.ts +17 -4
- package/src/hub/config-apply.ts +32 -5
- package/src/hub/config-reload.ts +7 -5
- package/src/hub/config-trust.ts +8 -1
- package/src/hub/context-window.ts +33 -3
- package/src/hub/control-client.ts +14 -2
- package/src/hub/corpus-config.ts +34 -0
- package/src/hub/corpus-evidence.ts +184 -0
- package/src/hub/corpus.ts +373 -0
- package/src/hub/cost-governance.ts +26 -0
- package/src/hub/daemon.ts +1228 -242
- package/src/hub/deliverable-files.ts +8 -2
- package/src/hub/delivery-journal.ts +123 -17
- package/src/hub/dogfood-profile.ts +32 -5
- package/src/hub/dogfood-read.ts +6 -2
- package/src/hub/envelope.ts +11 -0
- package/src/hub/eval-gate.ts +131 -0
- package/src/hub/events.ts +1 -1
- package/src/hub/external-instance.ts +69 -0
- package/src/hub/facts.ts +15 -5
- package/src/hub/folder-trigger.ts +223 -0
- package/src/hub/hub-tools.ts +2 -1
- package/src/hub/inference.ts +20 -5
- package/src/hub/instance-config.ts +69 -3
- package/src/hub/instance-execution.ts +6 -2
- package/src/hub/instances.ts +32 -4
- package/src/hub/intake.ts +125 -0
- package/src/hub/learning.ts +85 -0
- package/src/hub/lifecycle.ts +7 -3
- package/src/hub/limits.ts +12 -5
- package/src/hub/native-permission-request.ts +77 -0
- package/src/hub/operational-authority.ts +63 -5
- package/src/hub/operational-settings.ts +76 -0
- package/src/hub/operational-view.ts +1 -1
- package/src/hub/packs.ts +132 -0
- package/src/hub/path-policy.ts +7 -0
- package/src/hub/peer-doing.ts +130 -0
- package/src/hub/peers.ts +46 -0
- package/src/hub/queue-backpressure.ts +58 -0
- package/src/hub/read-tools.ts +2 -0
- package/src/hub/recovery-authority.ts +151 -0
- package/src/hub/recovery-policy.ts +220 -0
- package/src/hub/research.ts +24 -14
- package/src/hub/restart.ts +7 -0
- package/src/hub/routing.ts +54 -11
- package/src/hub/schedules.ts +266 -0
- package/src/hub/sdlc-merge.ts +38 -14
- package/src/hub/sdlc-metrics.ts +32 -10
- package/src/hub/sdlc-queue.ts +7 -1
- package/src/hub/sdlc-release.ts +1 -1
- package/src/hub/sdlc.ts +37 -7
- package/src/hub/security-baseline.ts +38 -0
- package/src/hub/settings.ts +7 -1
- package/src/hub/shipped-packs.ts +8 -0
- package/src/hub/snapshots.ts +72 -6
- package/src/hub/source-read.ts +160 -0
- package/src/hub/sources.ts +311 -0
- package/src/hub/task-shell-default.ts +3 -2
- package/src/hub/tasks.ts +1047 -115
- package/src/hub/workflow.ts +1 -1
- package/src/local/deny.ts +21 -0
- package/src/local/doc-read.ts +69 -0
- package/src/local/proxy.ts +4 -13
- package/src/local/sandbox.ts +3 -1
- package/src/local/tools.ts +37 -3
- package/src/local/web-fetch-config.ts +43 -0
- package/src/local/web-fetch.ts +183 -0
- package/src/memory/brief.ts +85 -13
- package/src/memory/capture.ts +1 -1
- package/src/rooms/application.ts +114 -0
- package/src/rooms/boundary.ts +103 -0
- package/src/rooms/commands.ts +294 -0
- package/src/rooms/crypto.ts +371 -0
- package/src/rooms/link.ts +584 -0
- package/src/rooms/policy.ts +82 -0
- package/src/rooms/remote-peer.ts +80 -0
- package/src/rooms/service.ts +426 -0
- package/src/rooms/status.ts +146 -0
- package/src/rooms/store.ts +1210 -0
- package/src/rooms/wire.ts +465 -0
- package/src/ui/index.html +91 -4
- package/templates/packs/example.pack.json +13 -0
|
@@ -12,7 +12,7 @@ What changed (see `CHANGELOG.md` for the full list):
|
|
|
12
12
|
- Agent CLI drift: a daily public-source watch and a planner notice for unverified installed versions (#849, #855); a native version gate for Pi (#843: #847); new verified versions for agy, Jcode, kimi-review, headless Qwen and claude-implementer (#850, #851, #856, #858, #859).
|
|
13
13
|
- Planner work-ready notices (#785: #842) and the lockfile-keyed dependency volume for the remote runner (#793: #846).
|
|
14
14
|
- Sandbox protection for submodule git dirs and `config.worktree` (#862, #866), the Qwen background-task notice fix (#861), conductor error preservation (#812: #839).
|
|
15
|
-
- CI: the suite watchdog stops on lost progress (
|
|
15
|
+
- CI: the suite watchdog stops on lost progress (task 516: #870) and CI admission retries a transient GitHub 5xx or 429 (#872: #873).
|
|
16
16
|
|
|
17
17
|
## Reviews
|
|
18
18
|
|
|
@@ -31,7 +31,7 @@ Every PR below merged after its hub review, with bot review threads answered and
|
|
|
31
31
|
| #850 (#843) | cbbe23bd | 2 |
|
|
32
32
|
| #851 (#843) | 0431abff | 1 |
|
|
33
33
|
| #853 (#852) | 4f52cbd4 | 4 |
|
|
34
|
-
| #854 (
|
|
34
|
+
| #854 (task 515) | 661eb9a1 | 2 |
|
|
35
35
|
| #855 | 58525a1b | 5 |
|
|
36
36
|
| #856 (#843) | 21fb4a56 | 2 |
|
|
37
37
|
| #857 (#845) | 1ad9b7c7 | 2 |
|
|
@@ -42,11 +42,11 @@ Every PR below merged after its hub review, with bot review threads answered and
|
|
|
42
42
|
| #862 | 3cfefa05 | 4 |
|
|
43
43
|
| #866 (#865) | e02aa141 | 4 |
|
|
44
44
|
| #868 (#867) | 125e82f1 | 2 |
|
|
45
|
-
| #870 (
|
|
45
|
+
| #870 (task 516) | 8ea5d00b | 4 |
|
|
46
46
|
| #871 | ae22bb1b | 2 |
|
|
47
47
|
| #873 (#872) | 08590801 | 5 |
|
|
48
48
|
|
|
49
|
-
Two merges were bound to a hub approval at an earlier head of the same change: #870 (hub task
|
|
49
|
+
Two merges were bound to a hub approval at an earlier head of the same change: #870 (hub task 516 approved at f8ee3e52, merged at d5e16a3c, a rebase onto main with only CHANGELOG context differing) and #873 (hub task 525 approved at a159cc37, merged at 44344f23 after `gh pr update-branch` merged main into it). Each merge was pinned with `--match-head-commit` to the head whose CI was green. #857's first macOS leg and three #873 macOS runs were killed by the pre-#870 1440 s total budget or hit the `test/path-policy.test.ts` hardlink flake below; none of those failures was in the changed code.
|
|
50
50
|
|
|
51
51
|
## Document review
|
|
52
52
|
|
|
@@ -64,7 +64,7 @@ Fourteen documents were stale against the 0.18.0 stamps (af22ee0d). Each was rec
|
|
|
64
64
|
| `docs/agent-notes/tests.md` | corrected | Scope gains `scripts/progress-tee.sh` (#870); the CI admission retry bound for a 429 or 5xx (#873); Pi fakes must answer `--version` (#847); daemon tests with a GitHub origin and a headless implementer pass `shellDefaultBranchProbe` (#857). History moved to the notes README. |
|
|
65
65
|
| `docs/agent-notes/tasks.md` | corrected | Scope gains `review-scope.ts`, `sdlc-merge.ts`, `sdlc-mirror.ts`; the planner work-ready notice rule (#842); `Tasks.bindShellBranch` as a board writer (#857). Review-scope history moved to the notes README. |
|
|
66
66
|
| `docs/agent-notes/daemon.md` | corrected | Conductor operational refusals (#839); scope gains `agent-drift.ts` and `cli/agents.ts` (#855); validation of instance `model` and `review_scope` (#848, #853). |
|
|
67
|
-
| `docs/agent-notes/README.md` | corrected | Background for the 0.19.0 rules (#852 classifier history, #843 fixtures,
|
|
67
|
+
| `docs/agent-notes/README.md` | corrected | Background for the 0.19.0 rules (#852 classifier history, #843 fixtures, task 516 watchdog). |
|
|
68
68
|
| `docs/agent-notes/benchmarks.md` | no change | The benchmark driver builds `PiPeer` directly, so the #847 preflight does not apply; #862/#866 are covered by the existing `profile()` change rule. |
|
|
69
69
|
| `docs/agent-notes/budget.md` | no change | No budget path changed; the headless implementer still uses `budget.account: "claude"`. |
|
|
70
70
|
| `docs/agent-notes/bus.md` | no change | No `bus.ts` change; the new notices use the existing publish and withdraw paths. |
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# 0.20.0 release verification
|
|
2
|
+
|
|
3
|
+
This record covers release preparation and source review. It claims no installation, no running-hub upgrade to 0.20.0 and no live TUI launch.
|
|
4
|
+
|
|
5
|
+
## Candidate
|
|
6
|
+
|
|
7
|
+
Version 0.20.0, prepared from main 8403b84d plus the agent-mem pin commit b72a4c24 (14 commits since v0.19.0, 3 of them `feat`; bump rule: minor). The release commits carry the `@staix/agent-mem` 0.11.0 pin, the version, the CHANGELOG section, the bundle (plugin 0.20.0, built with the pinned Bun 1.4.2 after a frozen install), the document corrections and the documentation stamps. `scripts/release-prepare.ts` (#893) wrote the version files and this report's skeleton.
|
|
8
|
+
|
|
9
|
+
What changed (see `CHANGELOG.md` for the full list):
|
|
10
|
+
- A bounded CI watcher per exact PR head with one `ci_completed` notice to the owner and the reviewer, and a held premature review re-offered on green (#785: #886).
|
|
11
|
+
- Opt-in, machine-local `tasks.auto_pull`: a freed planner slot pulls the top backlog card explicitly reserved for that peer (#785: #889).
|
|
12
|
+
- Release preparation as an agent task and a guarded one-shot tag that needs the person's consent (#787: #893).
|
|
13
|
+
- The local-worker and Pi sandbox adds only new loose objects to the shared git object store (#864: #881).
|
|
14
|
+
- Peer ports replace native type checks in the daemon (#625 slices 2b to 2e: #882, #887, #890, #891); behavior unchanged.
|
|
15
|
+
- `@staix/agent-mem` 0.11.0; the mawk progress filter (#883: #884); the quiet branch binding (#880: #885); the default-branch probe isolation (#863: #875); hang-watch test margins (#877); the accepted external module-instance contract (#754: #892, spec only).
|
|
16
|
+
|
|
17
|
+
## Reviews
|
|
18
|
+
|
|
19
|
+
Every PR below merged with exact-head CI green (ubuntu, macOS and seeded guards), no unresolved review thread and no pending change request; the conductor read each before merging. (#880 and #883 in the commit subjects are issues, fixed by #885 and #884.)
|
|
20
|
+
|
|
21
|
+
| PR | Task | Merge | Review |
|
|
22
|
+
| --- | --- | --- | --- |
|
|
23
|
+
| #875 (#863) | | 8122373b | merged earlier on 2026-10-27, exact-head CI green |
|
|
24
|
+
| #877 | | 8a48175a | merged earlier on 2026-10-27, exact-head CI green |
|
|
25
|
+
| #881 (#864) | 522 | d089ebaa | the person approved PR #881 at 0f70acb1 (codex read-only review addressed); the board approval was recorded by the person afterwards |
|
|
26
|
+
| #882 (#625 2b) | 348 | 8b2579e5 | claude, approved at the merged head |
|
|
27
|
+
| #884 (#883) | | 0afa6bdd | the person approved; codex read-only review (OCR delegation), no findings |
|
|
28
|
+
| #885 (#880) | | db50fddd | the person approved; codex read-only review (OCR delegation), no findings; backlog card 528 closed as superseded by it |
|
|
29
|
+
| #886 (#785 P1b) | 458 | 0682dd4c | claude approved at the board-bound 5b525c2e; the PR head a2d1f73d added only a real-daemon test and a host-only seam, reviewed, and the merge is pinned to it |
|
|
30
|
+
| #887 (#625 2c) | 349 | 201cc80a | claude, approved at the merged head |
|
|
31
|
+
| #889 (#785 P1c) | 459 | c2a8b121 | claude, after two change requests (admission recheck before the board write; seed rot on an anchored line), approved at the merged head |
|
|
32
|
+
| #890 (#625 2e) | 350 | fdc3f469 | claude, approved at the merged head |
|
|
33
|
+
| #891 (#625 2d) | 351 | 7a599197 | claude, approved at the merged head |
|
|
34
|
+
| #892 (#754 contract) | 287 | 9205ce15 | claude approved at the board-bound f181f51e; the PR head 6970d9a3 only clarified reviewer independence, reviewed, and the merge is pinned to it; the person decided O1 to O4 on #754 |
|
|
35
|
+
| #893 (#787 P3b) | 463 | 8403b84d | claude, after one change request (the CLI test reached the real origin), approved at the merged head |
|
|
36
|
+
|
|
37
|
+
## Native acceptance receipts
|
|
38
|
+
|
|
39
|
+
Receipts added under `docs/verification/` since v0.19.0: none.
|
|
40
|
+
|
|
41
|
+
This list is read from the repository, never written by hand. Native acceptance and the person's release consent are separate records: consent is `ahub sdlc authorize-release 0.20.0`, person only, and is not recorded in this file. The tag run refuses without it.
|
|
42
|
+
|
|
43
|
+
## Document review
|
|
44
|
+
|
|
45
|
+
Thirteen documents were stale against the 0.19.0 stamps (bc8a7f25). Each was read against the commits under its `docs/verified.json` paths and restamped at a9e2970d with `bun scripts/release-prepare.ts restamp ... --reviewed`.
|
|
46
|
+
|
|
47
|
+
| Document | Result | What changed |
|
|
48
|
+
| --- | --- | --- |
|
|
49
|
+
| `README.md` | corrected | release report link to 0.20.0; Status line written by release-prepare |
|
|
50
|
+
| `docs/quickstart.md` | corrected | install pin `v0.20.0`; new "Upgrading to 0.20.0" section (amem 0.11.0 for every shared home, CI watcher, `tasks.auto_pull`, object-store sandbox, quiet branch binding) |
|
|
51
|
+
| `docs/operations.md` | corrected | version and protocol-16 range to 0.20.0; `tasks.auto_pull` machine-local wording and settings row; CI watcher scope (not private, no restore after restart, 12-character head, console line for a person, no re-offer after a failure) |
|
|
52
|
+
| `docs/security.md` | corrected | `tasks.auto_pull` in the machine-local list and the ordinary dashboard-session rules |
|
|
53
|
+
| `docs/agent-notes/adapters.md` | corrected | new rule for the delivery, lifecycle and session ports (#625 2b-2c) |
|
|
54
|
+
| `docs/agent-notes/daemon.md` | corrected | dispatch through ports, predicates only at ratchet rows; claude-launch-proof.ts counted by the ratchet; `peer_stop` admission by `hubOwned` and `form` |
|
|
55
|
+
| `docs/agent-notes/bus.md` | corrected | delivery-only retry refusal keyed on `PeerAdapter.deliveryOnly` |
|
|
56
|
+
| `docs/agent-notes/tasks.md` | corrected | quiet branch-binding rule (#880); `ci-watch.ts` in scope; a background clause removed |
|
|
57
|
+
| `docs/agent-notes/tests.md` | corrected | release-script tests run against a scratch root (#893); the release scripts in scope |
|
|
58
|
+
| `docs/agent-notes/README.md`, `benchmarks.md`, `budget.md`, `local-worker.md` | accurate | checked against #881, #882, #886, #887, #889, #890 and #891 |
|
|
59
|
+
|
|
60
|
+
Also corrected, outside the stamped set: the `@staix/agent-mem` pin text in `docs/memory.md`; `AGENTS.md` area lists (`src/hub/ci-watch.ts` and the release scripts); `docs/verified.json` source paths for adapters, tasks and tests; the CHANGELOG `tasks.auto_pull` wording. `ahub help` matches `src/cli/main.ts` and `src/cli/launch.ts`: `src/cli/` and the adapter definitions are unchanged since v0.19.0, and no changed file adds a command or flag. Note for the next CooperBench collection: #881 changed `profile()` in `src/local/sandbox.ts`, a study condition (`docs/agent-notes/benchmarks.md`).
|
|
61
|
+
|
|
62
|
+
## Checks
|
|
63
|
+
|
|
64
|
+
- `node scripts/check-docs.mjs --require-fresh`: `docs: OK (0 stale documents)`.
|
|
65
|
+
- `bun x tsc --noEmit`: clean. `bun scripts/build.mjs --check`: fresh. `node scripts/check-package.mjs`: `package: OK (575 files, @staix/agent-hub@0.20.0)`.
|
|
66
|
+
- Full `scripts/check.sh` on Linux (remote_dev verify, mawk container): see the release PR.
|
|
67
|
+
- The release PR's exact-head CI run: see the release PR.
|
|
68
|
+
|
|
69
|
+
## Known gaps, not blocking
|
|
70
|
+
|
|
71
|
+
- No running hub was upgraded to 0.20.0 and no live TUI was launched; the installed hub on this machine is still 0.18.0.
|
|
72
|
+
- No new native acceptance receipt was recorded for this release.
|
|
73
|
+
- The global `amem` CLI on this machine is not yet 0.11.0; upgrade it with the hub (every amem sharing a memory home must be 0.11.0 or later).
|
|
74
|
+
- `test/memory-code-head-684.test.ts` (#367 cached HEAD proof) still flakes under local load (#519, assigned); CI is the gate.
|
|
75
|
+
- External module-kind instances (#754 implementation, PR #894) are not in this release.
|