@staix/agent-hub 0.12.29 → 0.12.31
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 +39 -0
- package/README.md +92 -218
- package/docs/agent-notes/README.md +12 -0
- package/docs/agent-notes/adapters.md +3 -2
- package/docs/agent-notes/budget.md +1 -1
- package/docs/agent-notes/bus.md +7 -1
- package/docs/agent-notes/daemon.md +14 -1
- package/docs/agent-notes/local-worker.md +4 -2
- package/docs/agent-notes/tasks.md +14 -0
- package/docs/agent-notes/tests.md +6 -3
- package/docs/memory.md +70 -152
- package/docs/operations.md +317 -25
- package/docs/plans/2026-10-16-amem-failure-registry.md +101 -0
- package/docs/plans/2026-10-16-amem-p0-baseline.md +110 -0
- package/docs/plans/2026-10-16-amem-p2-read-tools.md +28 -0
- package/docs/plans/amem-cases.json +482 -0
- package/docs/quickstart.md +24 -2
- package/docs/security.md +42 -2
- package/docs/smoke.md +11 -0
- package/docs/specs/2026-09-19-agent-hub-design.md +142 -7
- package/docs/specs/2026-09-20-upgrade-recovery-design.md +84 -10
- package/docs/verification/2026-10-17-0.12.30.md +70 -0
- package/docs/verification/2026-10-17-0.12.31.md +71 -0
- package/docs/verification/2026-10-17-418-probes.md +21 -0
- package/docs/verified.json +13 -13
- package/package.json +5 -2
- package/plugins/agent-hub/.claude-plugin/plugin.json +1 -1
- package/plugins/agent-hub/server.js +129 -62
- package/src/adapters/claude-channel.ts +29 -11
- package/src/adapters/local-worker.ts +2 -2
- package/src/adapters/pi.ts +5 -0
- package/src/cli/attention.ts +5 -1
- package/src/cli/console-state.ts +145 -29
- package/src/cli/console.ts +40 -10
- package/src/cli/help.ts +3 -2
- package/src/cli/identity.ts +4 -3
- package/src/cli/jcode-mcp.ts +1 -1
- package/src/cli/main.js +2 -2
- package/src/cli/main.ts +43 -14
- package/src/cli/memory.ts +87 -187
- package/src/cli/output.ts +19 -2
- package/src/cli/recovery-package.ts +59 -10
- package/src/cli/upgrade-interactive.ts +2 -1
- package/src/cli/upgrade-restore-state.ts +133 -0
- package/src/cli/upgrade-runtime.ts +204 -63
- package/src/cli/upgrade.ts +57 -24
- package/src/hub/board.ts +83 -24
- package/src/hub/bus.ts +108 -38
- package/src/hub/check-runner.ts +514 -0
- package/src/hub/child-process.ts +1 -0
- package/src/hub/control-client.ts +5 -1
- package/src/hub/daemon.ts +529 -89
- package/src/hub/delivery-hints.ts +30 -0
- package/src/hub/delivery-journal.ts +185 -12
- package/src/hub/delivery-superseded.ts +52 -0
- package/src/hub/envelope.ts +31 -1
- package/src/hub/git.ts +2 -38
- package/src/hub/host-executable.ts +11 -0
- package/src/hub/hub-tools.ts +14 -2
- package/src/hub/manager.ts +1 -1
- package/src/hub/memory-candidates.ts +103 -0
- package/src/hub/memory-fail.ts +25 -0
- package/src/hub/memory-observations.ts +47 -0
- package/src/hub/memory-plan-guard.ts +33 -0
- package/src/hub/memory-policy.ts +42 -0
- package/src/hub/memory-profile-check.ts +170 -0
- package/src/hub/memory-profile.ts +192 -0
- package/src/hub/memory-staleness.ts +55 -0
- package/src/hub/path-policy.ts +8 -0
- package/src/hub/peer-catalog.ts +3 -0
- package/src/hub/project.ts +4 -37
- package/src/hub/read-tools.ts +127 -0
- package/src/hub/routing.ts +35 -16
- package/src/hub/settings.ts +2 -1
- package/src/hub/spec-read.ts +120 -0
- package/src/hub/supervision.ts +21 -6
- package/src/hub/task-sweep.ts +7 -6
- package/src/hub/tasks.ts +370 -71
- package/src/local/deny.ts +4 -17
- package/src/memory/brief.ts +8 -5
- package/src/memory/capture.ts +3 -1
- package/src/memory/recall.ts +50 -110
- package/src/pi/process-signature.ts +2 -42
- package/src/ui/index.html +12 -9
- package/src/ui/needs.ts +7 -5
- package/src/ui/office-model.ts +4 -1
- package/src/ui/task-board.ts +1 -1
- package/src/ui/task-progress.ts +6 -2
- package/templates/AGENTS.block.md +1 -1
- package/templates/profiles/general.json +1 -1
- package/templates/profiles/research.json +1 -1
- package/templates/profiles/writing.json +1 -1
- package/src/memory/import.ts +0 -90
- package/src/memory/store.ts +0 -805
- package/src/memory/sync.ts +0 -145
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# 0.12.30 release verification
|
|
2
|
+
|
|
3
|
+
This record covers release preparation and source review. Publication, installation, running-hub upgrade and real memory migration require their own operational receipts; none is claimed here.
|
|
4
|
+
|
|
5
|
+
## Candidate
|
|
6
|
+
|
|
7
|
+
Version 0.12.30, control protocol 16, from main `6363f4dbfb1a90900b291a397b892a978922f7b5`. The candidate includes every PR merged since `v0.12.29`: #413, #415, #417, #419, #420, #421, #422, #423, #425, #426, #427, #429 and #430. Every PR body was read against its final merged source; intermediate descriptions of copied memory helpers are superseded by the final single-source package imports.
|
|
8
|
+
|
|
9
|
+
- The portable core is the exact-pinned first-party `@staix/agent-mem` 0.3.0; hub privacy policy and caller authority stay in agent-hub. Shared v1 remains the default, with no automatic migration.
|
|
10
|
+
- Screened memory read tools, display-only recall filtering/deduplication, plan-fail advice, structured fail notes, decay review, file-level staleness and machine-local candidates/counters retain their evidence and privacy boundaries. Generation `amem review` remains refused.
|
|
11
|
+
- Profile binding fails closed for invalid or changed selectors while the bus/board remain available. Person profile-check distinguishes matching ready bindings, authenticated capable unbound/quiesced receipts and unknown/stale runtime evidence; registry scope is explicit.
|
|
12
|
+
- Before migrating a real home, upgrade every hub sharing it to 0.12.30, inventory each registry, obtain positive profile-check receipts, then quiesce consumers and close handles. A ready binding is compatible but still open; the operation-entry fence is not an atomic live-cutover guarantee.
|
|
13
|
+
- Console task and queue controls bind selections to ids/revisions, preserve person unassignment and use peer-specific receipt evidence. Recovery retains exact dependencies and waits for managed peer attachment without creating duplicate terminals.
|
|
14
|
+
- Version 0.13.0's promised removal of `local.bash_network: "direct"` has not happened; the existing ceiling and retirement plan remain unchanged.
|
|
15
|
+
|
|
16
|
+
## Document review
|
|
17
|
+
|
|
18
|
+
The initial freshness check reproduced all 13 stale documents below. Each was compared with the source changes under its manifest paths since the prior full-SHA stamp through the candidate source. Changed source was traced to the final symbols, not inferred from prose changes alone. No document review was deferred. The already-fresh models note is outside this stale set and keeps its existing stamp.
|
|
19
|
+
|
|
20
|
+
| Document | Prior source stamp | Review result | Checked claims and correction |
|
|
21
|
+
| --- | --- | --- | --- |
|
|
22
|
+
| `README.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | corrected | Current version and Bun requirement; first-party memory tools/candidate boundary, checked console controls and pre-migration upgrade/quiesce order. |
|
|
23
|
+
| `docs/agent-notes/README.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | unchanged | Exact-id console attention selection and navigation remain accurate after the console controls. |
|
|
24
|
+
| `docs/agent-notes/adapters.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | unchanged | Node-safe process identity re-exports, tool catalogs, capability/PII checks and capture exclusions already match the final source. |
|
|
25
|
+
| `docs/agent-notes/benchmarks.md` | `2d3b120ab177e4fd9e6f991d038c22ca4ccb6977` | unchanged | Only deny/process helper re-exports changed in the covered source delta; runner, sandbox and retained benchmark contracts remain accurate. |
|
|
26
|
+
| `docs/agent-notes/budget.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | unchanged | Budget semantics remain unchanged; reviewed shared bus/daemon wiring and retained quota/hold contracts. |
|
|
27
|
+
| `docs/agent-notes/bus.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | corrected | Recall preface merge/deduplication and delivery/counter observation boundaries. |
|
|
28
|
+
| `docs/agent-notes/daemon.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | corrected | Person-only diagnostics wording includes authenticated status and person CLI receipts; reduced shell-readable status stays distinct. |
|
|
29
|
+
| `docs/agent-notes/local-worker.md` | `6dcc7fe00c38f13613bcf53524fa3d1527a708e5` | unchanged | Single-source hardened git/deny re-exports and local-worker memory-tool capture exclusions already match the final source. |
|
|
30
|
+
| `docs/agent-notes/tasks.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | corrected | Revision-bound task/queue controls and the current peer's own acceptance since its latest ownership event. |
|
|
31
|
+
| `docs/agent-notes/tests.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | corrected | Test preload clears inherited AMEM_HOME as well as isolating AGENTHUB_HOME. |
|
|
32
|
+
| `docs/operations.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | corrected | Bun/current version, package/profile rollout, screened tools and candidates, recall, withdrawal evidence and preserved-runtime attachment behavior. |
|
|
33
|
+
| `docs/quickstart.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | corrected | Bun/current release example and person profile-check with upgrade/quiesce/migration order. |
|
|
34
|
+
| `docs/security.md` | `0463ea1f251cea17ec7f32a2861de8c554fe4062` | corrected | First-party platform helper and memory credentials boundary, screened read/correction tools, sidecar isolation and non-atomic profile transition. |
|
|
35
|
+
|
|
36
|
+
The unstamped memory integration guide also clarifies person CLI diagnostics and the all-hubs-0.12.30 migration prerequisite.
|
|
37
|
+
|
|
38
|
+
Reviewed source commit `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` contains the reviewed content, package version and generated plugin assets. A separate manifest follow-up stamps that full source SHA; the manifest need not stamp itself. The release PR must be merged with a merge commit so every stamp remains an ancestor. Before tagging, run `node scripts/check-docs.mjs --require-fresh` on the committed tree again. Source freshness is not a certification of native/live behavior.
|
|
39
|
+
|
|
40
|
+
## Recorded checks
|
|
41
|
+
|
|
42
|
+
The following existing PR receipts were read back from GitHub at their final heads. Every listed run reports successful Ubuntu, macOS and seeded-guard jobs; these are recorded prior gates, not a substitute for the release candidate's own CI.
|
|
43
|
+
|
|
44
|
+
| PR | Final head | CI run | Recorded result |
|
|
45
|
+
| --- | --- | --- | --- |
|
|
46
|
+
| [#413](https://github.com/STAIxBWLB/agent-hub/pull/413) | `fc25b2ba765196bc403c834d2c136e0b33481c1e` | [38814762057](https://github.com/STAIxBWLB/agent-hub/actions/runs/38814762057) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
47
|
+
| [#415](https://github.com/STAIxBWLB/agent-hub/pull/415) | `cc1d70e4984a7a9dc2aee2f1359e749cf31d1b8b` | [38825015199](https://github.com/STAIxBWLB/agent-hub/actions/runs/38825015199) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
48
|
+
| [#417](https://github.com/STAIxBWLB/agent-hub/pull/417) | `80d61f5b2fb483a8b33693cca2fcb9c7b9b6d57b` | [38848260715](https://github.com/STAIxBWLB/agent-hub/actions/runs/38848260715) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
49
|
+
| [#419](https://github.com/STAIxBWLB/agent-hub/pull/419) | `0a3a8cc253be65911224ddd7e5495d4caffba29c` | [38855570074](https://github.com/STAIxBWLB/agent-hub/actions/runs/38855570074) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
50
|
+
| [#420](https://github.com/STAIxBWLB/agent-hub/pull/420) | `649d368d73130bdffcb90109d8125b9135515a30` | [38855611042](https://github.com/STAIxBWLB/agent-hub/actions/runs/38855611042) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
51
|
+
| [#421](https://github.com/STAIxBWLB/agent-hub/pull/421) | `d43d3e1047e0aeca4bd074ee17e854ff3e204a13` | [38862981281](https://github.com/STAIxBWLB/agent-hub/actions/runs/38862981281) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
52
|
+
| [#422](https://github.com/STAIxBWLB/agent-hub/pull/422) | `8e5ddc7e6cec38d3b6f38d1a3e88d97a9cd15f79` | [38870904837](https://github.com/STAIxBWLB/agent-hub/actions/runs/38870904837) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
53
|
+
| [#423](https://github.com/STAIxBWLB/agent-hub/pull/423) | `e934357ce089e3a6fbff9d71de50dd494aebc4b2` | [38878006900](https://github.com/STAIxBWLB/agent-hub/actions/runs/38878006900) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
54
|
+
| [#425](https://github.com/STAIxBWLB/agent-hub/pull/425) | `c8ea0f2a64c4443d54e867122709d16c95197f04` | [38894400519](https://github.com/STAIxBWLB/agent-hub/actions/runs/38894400519) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
55
|
+
| [#426](https://github.com/STAIxBWLB/agent-hub/pull/426) | `cf293a202605c664a1f74ce8407731be557dfc7f` | [38901783257](https://github.com/STAIxBWLB/agent-hub/actions/runs/38901783257) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
56
|
+
| [#427](https://github.com/STAIxBWLB/agent-hub/pull/427) | `0a1b7bc984595b41ba36c15ba1ce88f5983abead` | [38923859188](https://github.com/STAIxBWLB/agent-hub/actions/runs/38923859188) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
57
|
+
| [#429](https://github.com/STAIxBWLB/agent-hub/pull/429) | `b0a8e130f6c95e2766a6485ba05f170ef0b8b58c` | [38931755760](https://github.com/STAIxBWLB/agent-hub/actions/runs/38931755760) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
58
|
+
| [#430](https://github.com/STAIxBWLB/agent-hub/pull/430) | `138aa9d175152b050a13cd4eafa6154aced56eb4` | [38936506477](https://github.com/STAIxBWLB/agent-hub/actions/runs/38936506477) | Ubuntu/macOS `check: OK`; seeded guards passed |
|
|
59
|
+
|
|
60
|
+
- Preparation: `bun install --frozen-lockfile` and `bun run build` completed under resource admission on the remote Linux runner. The generated plugin is 598 KB and its manifest is stamped 0.12.30; no dependency tree was copied to the Mac.
|
|
61
|
+
- Preparation checks: `bun x tsc --noEmit` and bundle freshness passed on the admitted remote runner; `node scripts/check-package.mjs` reported `package: OK (272 files, @staix/agent-hub@0.12.30)`.
|
|
62
|
+
- The final committed candidate requires its own `scripts/check.sh` or exact-head PR CI on Ubuntu/macOS, including seeded guards, before merge. Committed document freshness and stamp ancestry are checked independently; the tag workflow requires successful CI for the identical release tree before npm publication.
|
|
63
|
+
- The retained source/fixture tests for profile binding, package preservation and same-home cross-writes do not prove an installed native session upgrade or real migration.
|
|
64
|
+
|
|
65
|
+
## Not verified by this record
|
|
66
|
+
|
|
67
|
+
- Native/live legs in #273 and #1 remain open according to their own ledgers. This release preparation does not turn fixture, CLI or historical operational evidence into native success.
|
|
68
|
+
- #412 P5 live legs L03 (real claude-mem import), L04 (real model suggestions and person confirmation) and L05 (Memory/Long-term tasks visual checks) remain unrun.
|
|
69
|
+
- The person's real-home migration, real remote synchronization and post-migration profile/prune readbacks are not performed in this task. Inventory/quiesce/reopen and runtime capability receipts are prerequisites, not completed results.
|
|
70
|
+
- npm publication/provenance, global CLI and plugin installation, running-hub upgrade, recovery completion and native session continuity need separate readbacks after the release is authorized and executed.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# 0.12.31 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.31, control protocol 16 (`src/hub/control-client.ts`), from merged main `09bfd51b5c00b9e8e584693cef135cc2f21ad3a7`. The candidate includes all 14 PRs merged since `v0.12.30`: #435, #436, #440, #442, #443, #444, #448, #453, #454, #456, #458, #459, #460 and #461. Every body and final head was read back; intermediate PR evidence is historical where the final head differs. The exact first-party memory pin remains `@staix/agent-mem` 0.3.0.
|
|
8
|
+
|
|
9
|
+
- After upgrade, run `ahub jcode --mode headless` once per Jcode project before conductor or dashboard starts of Jcode to update the owned MCP entry. It requires a running daemon with Jcode on the roster and starts Jcode; it is a person operation, not a readiness check or an action performed during preparation.
|
|
10
|
+
- Cancellation requires a daemon advertising `task_cancel`; current clients and controlled downgrade paths refuse incompatible versions while cancelled rows exist. An older binary started by hand remains outside that guarantee. Cancelled work is closed history, never approval and never a released dependency.
|
|
11
|
+
- `seeded guards` is now required alongside both OS checks. The live branch-protection readback during preparation listed exactly `check (ubuntu-latest)`, `check (macos-latest)` and `seeded guards`; the latter succeeds only after all four shards.
|
|
12
|
+
- Local/Pi non-PII implement/test/bulk_edit owners need an enabled, available isolated runner; issue-backed owners need authenticated bounded spec access. PII and designated-reviewer exemptions remain. Source and CI evidence does not close installed managed-Pi #418 AC8.
|
|
13
|
+
- Planner designation, task stalls/offers, recipient retry and recovery changes retain their task/privacy/transport fences. #439 live settings reload is not included and remains frozen for this release.
|
|
14
|
+
|
|
15
|
+
## Document review
|
|
16
|
+
|
|
17
|
+
The initial `node scripts/check-docs.mjs --require-fresh` reproduced 13 stale documents. Each was compared against its covered source changes from `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` through main `09bfd51b`, then against the release metadata and generated assets. Current symbols and numeric limits were checked, not inferred from commit counts. No document review is deferred. The already-fresh models note retains its stamp.
|
|
18
|
+
|
|
19
|
+
| Document | Prior source stamp | Review result | Checked claims and correction |
|
|
20
|
+
| --- | --- | --- | --- |
|
|
21
|
+
| `README.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | Version/protocol, planner and closed cancellation, isolated owner admission, Jcode refresh and explicitly open live legs; routing, board, hub tools and Jcode entry checked. |
|
|
22
|
+
| `docs/agent-notes/README.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | unchanged | Console attention exact-row identity and human background remain accurate after the console navigation/event changes. |
|
|
23
|
+
| `docs/agent-notes/adapters.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | Pre-effect classification after durable receipt/output changes; task/session/privacy fences, actual-adapter retry authority and failed_safe fallback. |
|
|
24
|
+
| `docs/agent-notes/benchmarks.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | unchanged | Covered source commits have no net benchmark-runner/sandbox contract change; retained benchmark ceilings and teardown rules still match. |
|
|
25
|
+
| `docs/agent-notes/budget.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | Context PII association uses the shared closed-state predicate, excluding cancelled tasks while preserving a private turn fence. |
|
|
26
|
+
| `docs/agent-notes/bus.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | Exact positive offer-read evidence and cancellation revision-bound stop notices; existing presence-excluded retry and delivery-only refusal rules verified. |
|
|
27
|
+
| `docs/agent-notes/daemon.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | Immutable target-feature evidence, prepared commitSent bounded polling and tagged restore receipt origin/binding rules. |
|
|
28
|
+
| `docs/agent-notes/local-worker.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | unchanged | Retry tool filtering and bounded-tool capture exclusions match the existing central instructions; sandbox/path/permission contracts are unchanged. |
|
|
29
|
+
| `docs/agent-notes/tasks.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | Cancelled is closed but never approval, persisted pull-only offers, planner authority, ready-sweep admission and owner-only capability exemptions. |
|
|
30
|
+
| `docs/agent-notes/tests.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | Delivery-only fixture marker stripping, .bun-version, dual-OS/aggregate seeded release checks and separated publish/release credential authority. |
|
|
31
|
+
| `docs/operations.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | Presence-excluded retry, bounded Pi access and inactive/unknown receipt retention, durable offer attention, guarded ready sweep, cancellation and cached-feature/resume behavior; current 0.12.31 guide/header/upgrade examples and protocol range, existing planner and console keys verified. |
|
|
32
|
+
| `docs/quickstart.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | 0.12.31 example, one-time person-run Jcode refresh, opt-in check/spec requirements and planner/cancel commands; memory migration prerequisite remains 0.12.30 or later. |
|
|
33
|
+
| `docs/security.md` | `79a113dfc4395a0e00890ba8b8d2d90bb289ee9f` | corrected | Planner/cancel/version refusal, exact offer and retry evidence, marker names, explicit non-GitHub references, Unicode staging collision screen and active/unknown retention exceptions. |
|
|
34
|
+
|
|
35
|
+
Reviewed baseline source `fce7777f208f4885cf6524c4403fd5048cfe8f8b` contains the generated assets. A subsequent source review corrected the operations guide header, explicit upgrade targets and protocol-16 release range to 0.12.31, and clarified the unchanged minimum memory-profile migration prerequisite as 0.12.30 or later. The historical warning about the 0.12.30 CLI mislabelling waiting receipts is intentionally preserved. The original stamp follow-up advanced the 13 reviewed entries to corrected source `56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c`. A later wording pass clarifies that Jcode refresh requires an already-running daemon and precedes conductor or dashboard starts of Jcode, attributes required seeded guards to the repository setting after #458, and restores tag-on-main refusal and Dependabot actions coverage. The unstamped `docs/memory.md` also now says 0.12.30 or later. The README stamp names the reviewed wording commit `6637a383c3f46ae173b14268d29c8b0d306eac95`; the other 12 reviewed entries and the already-fresh models entry remain unchanged.
|
|
36
|
+
|
|
37
|
+
Source review is distinct from native/runtime verification. The release PR must use a merge commit so every source stamp remains an ancestor; before tagging, rerun committed freshness. A separate manifest commit follows the reviewed source and generated assets, without stamping itself.
|
|
38
|
+
|
|
39
|
+
## Recorded checks
|
|
40
|
+
|
|
41
|
+
GitHub readback verified each run below is completed successfully and its `headSha` exactly matches the PR's final head. Both OS check jobs and `seeded guards` succeeded for every row. Earlier runs used the sequential seeded job; rows with sharded CI also had all four shards and the aggregate green. These prior PR gates do not replace the release candidate's own exact-head CI.
|
|
42
|
+
|
|
43
|
+
| PR | Final head | CI run | Recorded result |
|
|
44
|
+
| --- | --- | --- | --- |
|
|
45
|
+
| [#435](https://github.com/STAIxBWLB/agent-hub/pull/435) | `c135f8827aa76d482fa7938edd80a63677c52718` | [38997048821](https://github.com/STAIxBWLB/agent-hub/actions/runs/38997048821) | Both OS checks and sequential seeded guards SUCCESS |
|
|
46
|
+
| [#436](https://github.com/STAIxBWLB/agent-hub/pull/436) | `d336b895eb556e6c674e8c4ae9dc7838fda581d4` | [38987274924](https://github.com/STAIxBWLB/agent-hub/actions/runs/38987274924) | Both OS checks and sequential seeded guards SUCCESS |
|
|
47
|
+
| [#440](https://github.com/STAIxBWLB/agent-hub/pull/440) | `df55c6b45bea7fd219d28d6f634410d5f5c3c36f` | [38993748843](https://github.com/STAIxBWLB/agent-hub/actions/runs/38993748843) | Both OS checks and sequential seeded guards SUCCESS |
|
|
48
|
+
| [#442](https://github.com/STAIxBWLB/agent-hub/pull/442) | `45420bed8b70e99d7d3865a66530c76a7bba9e6e` | [38987497318](https://github.com/STAIxBWLB/agent-hub/actions/runs/38987497318) | Both OS checks and sequential seeded guards SUCCESS |
|
|
49
|
+
| [#443](https://github.com/STAIxBWLB/agent-hub/pull/443) | `3094d3f2ffdb73a4086b6215e5807208557df245` | [39010001473](https://github.com/STAIxBWLB/agent-hub/actions/runs/39010001473) | Both OS checks; four seeded shards and aggregate SUCCESS |
|
|
50
|
+
| [#444](https://github.com/STAIxBWLB/agent-hub/pull/444) | `8eee1da65712109df3d25f361e209c207ce3c25f` | [38990131100](https://github.com/STAIxBWLB/agent-hub/actions/runs/38990131100) | Both OS checks and sequential seeded guards SUCCESS |
|
|
51
|
+
| [#448](https://github.com/STAIxBWLB/agent-hub/pull/448) | `37bf6b863eacdea273d5957ca67c9b871cee4ad9` | [39011678855](https://github.com/STAIxBWLB/agent-hub/actions/runs/39011678855) | Both OS checks; four seeded shards and aggregate SUCCESS |
|
|
52
|
+
| [#453](https://github.com/STAIxBWLB/agent-hub/pull/453) | `876824867a254bcfa99726b61999a46ed2bfd939` | [38997592343](https://github.com/STAIxBWLB/agent-hub/actions/runs/38997592343) | Both OS checks and sequential seeded guards SUCCESS |
|
|
53
|
+
| [#454](https://github.com/STAIxBWLB/agent-hub/pull/454) | `ee338b3459ab809d13dbdc3de22fc306d0a9bd15` | [39004948075](https://github.com/STAIxBWLB/agent-hub/actions/runs/39004948075) | Both OS checks; four seeded shards and aggregate SUCCESS |
|
|
54
|
+
| [#456](https://github.com/STAIxBWLB/agent-hub/pull/456) | `5541bcf1c01ef21008d4ab7fd60b7127ac8a808b` | [39004850799](https://github.com/STAIxBWLB/agent-hub/actions/runs/39004850799) | Both OS checks; four seeded shards and aggregate SUCCESS |
|
|
55
|
+
| [#458](https://github.com/STAIxBWLB/agent-hub/pull/458) | `9104e00b5b0b742656b24f2d40e731bf0a054748` | [39002544473](https://github.com/STAIxBWLB/agent-hub/actions/runs/39002544473) | Both OS checks; four seeded shards and aggregate SUCCESS |
|
|
56
|
+
| [#459](https://github.com/STAIxBWLB/agent-hub/pull/459) | `757c47e613d289dee9edac388276f87e0e72317a` | [39012529459](https://github.com/STAIxBWLB/agent-hub/actions/runs/39012529459) | Both OS checks; four seeded shards and aggregate SUCCESS |
|
|
57
|
+
| [#460](https://github.com/STAIxBWLB/agent-hub/pull/460) | `0625808d12eccfc21c15bb902b9901ae5b4f0db8` | [39016099853](https://github.com/STAIxBWLB/agent-hub/actions/runs/39016099853) | Both OS checks; four seeded shards and aggregate SUCCESS |
|
|
58
|
+
| [#461](https://github.com/STAIxBWLB/agent-hub/pull/461) | `4789b436aeb75d337141a14b800486b40fa93f82` | [39018722513](https://github.com/STAIxBWLB/agent-hub/actions/runs/39018722513) | Both OS checks; four seeded shards and aggregate SUCCESS |
|
|
59
|
+
|
|
60
|
+
- Hosted preparation [39020520475](https://github.com/STAIxBWLB/agent-hub/actions/runs/39020520475) ran `bun install --frozen-lockfile` and `bun run build` at metadata source `e59c5551c7e31fe93767185575f404f5ab64da9f`. Only actual generated plugin assets were copied back; no dependency tree was copied. Later edits are documentation only and do not change bundle inputs.
|
|
61
|
+
- Generated `server.js`: 618526 bytes, SHA-256 `1bc69dee0b1fbdf7b6f08904212fd2a869ac6401157076a26a6784f83f7540cf`. Plugin manifest: 379 bytes, SHA-256 `d7c1ba72407bae6c658ac0ddfc0a3f9b8e4ac9239931aafb9efdd41fd8ce5c74`, version 0.12.31.
|
|
62
|
+
- The final committed candidate requires `node scripts/check-docs.mjs --require-fresh --committed` and its own exact-head CI with both `scripts/check.sh` gates, all four seeded shards and aggregate before merge. The tag workflow independently checks main ancestry, fresh documentation and successful identical-tree CI.
|
|
63
|
+
|
|
64
|
+
## Not verified by this record
|
|
65
|
+
|
|
66
|
+
- Installed managed-Pi #418 AC8 / task #142 remains open. This preparation does not run managed tools against the person's active session, enable the container runner, install code or restart frozen-schema sessions.
|
|
67
|
+
- #438 AC7 remains open: no live task cancellation or sweep enablement was performed. Fixture/CI cancellation, attention and sweep tests are not native operational receipts.
|
|
68
|
+
- Native/live legs in #273 and #1 remain open according to their ledgers; no source-only or historical evidence is promoted to native success.
|
|
69
|
+
- Previously unrun #412 P5 legs L03 (real claude-mem import), L04 (real model suggestions/person confirmation) and L05 (visual Memory/Long-term checks) are not completed by this release.
|
|
70
|
+
- The person's package/plugin installation, running-hub upgrade/restart, recovery/session continuity, real-home migration and remote memory synchronization require separate authorized operational readbacks.
|
|
71
|
+
- npm publication/provenance and the GitHub Release are later workflow outcomes, not actions or results of release preparation.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# #418 isolated runner feasibility
|
|
2
|
+
|
|
3
|
+
- Observed: 2026-10-17 KST, Apple container CLI 1.5.0, Bun 1.4.2, Linux/arm64 VM.
|
|
4
|
+
- Exact source: `7d470afe86b0dc0d9ff4f80701731aa869c922e4`.
|
|
5
|
+
- Image: `oven/bun@sha256:9114c058aeae42162ee16dd5084b95fe9473970bb6bcb5b232ab1630f0546895`.
|
|
6
|
+
- Network: `agenthub-check`, verified configuration `mode: hostOnly`, verified internal gateway, no DNS.
|
|
7
|
+
- Source: Git blobs from the named commit; no source symlinks/gitlinks. Dependency lockfile equal to the source; regular dependency tree with internal relative links copied, no host mount.
|
|
8
|
+
- Admission: ran after the admitted #433 native gate completed. Earlier admission deferrals were honored; no memory worker or other session was stopped.
|
|
9
|
+
|
|
10
|
+
## Results
|
|
11
|
+
|
|
12
|
+
- `container create` succeeded; copying into its stopped VM failed explicitly with `container ... is not running`. The created container was removed. This alternative is not used.
|
|
13
|
+
- `container run --detach --rm` with the pinned image, internal network, no DNS, two CPUs, 4 GiB and bounded idle process succeeded.
|
|
14
|
+
- Source/dependency copy into the running VM succeeded.
|
|
15
|
+
- `container exec --workdir /work <name> bun test test/control-client.test.ts`: 12 pass, 0 fail, 36 assertions, exit 0. These unchanged repository tests bind their own loopback servers.
|
|
16
|
+
- Separate fixed isolation probe: VM loopback server returned `pong`; `/root/.config/gh` absent; HTTP connection attempts to both observed host gateways on the hub control port and Internet `1.1.1.1` failed within bounded waits; exit 0.
|
|
17
|
+
- Kill succeeded and `--rm` removed the VM. Subsequent container inventory contained no probe container. Unrelated containers were preserved.
|
|
18
|
+
|
|
19
|
+
## Limits
|
|
20
|
+
|
|
21
|
+
This proves the selected transfer and Linux runtime mechanism on this Mac. It does not certify a managed Pi calling the new tools, a deployed daemon, macOS Seatbelt behavior, another Mac, failing-check receipt handling or every lifecycle negative. Those require the implementation fixtures and issue #418 live rows. No fallback removal, daemon restart or security-policy change was performed.
|
package/docs/verified.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"documents": {
|
|
4
4
|
"README.md": {
|
|
5
|
-
"verifiedAgainst": "
|
|
5
|
+
"verifiedAgainst": "6637a383c3f46ae173b14268d29c8b0d306eac95",
|
|
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": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
15
15
|
"paths": [
|
|
16
16
|
"src/",
|
|
17
17
|
"templates/"
|
|
18
18
|
]
|
|
19
19
|
},
|
|
20
20
|
"docs/operations.md": {
|
|
21
|
-
"verifiedAgainst": "
|
|
21
|
+
"verifiedAgainst": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
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": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
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": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
47
47
|
"paths": [
|
|
48
48
|
"src/adapters/",
|
|
49
49
|
"src/pi/",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
]
|
|
63
63
|
},
|
|
64
64
|
"docs/agent-notes/benchmarks.md": {
|
|
65
|
-
"verifiedAgainst": "
|
|
65
|
+
"verifiedAgainst": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
66
66
|
"paths": [
|
|
67
67
|
"scripts/benchmarks/",
|
|
68
68
|
"test/benchmarks/",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
]
|
|
75
75
|
},
|
|
76
76
|
"docs/agent-notes/budget.md": {
|
|
77
|
-
"verifiedAgainst": "
|
|
77
|
+
"verifiedAgainst": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
78
78
|
"paths": [
|
|
79
79
|
"src/hub/budget.ts",
|
|
80
80
|
"src/cli/statusline-tee.ts",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
]
|
|
87
87
|
},
|
|
88
88
|
"docs/agent-notes/bus.md": {
|
|
89
|
-
"verifiedAgainst": "
|
|
89
|
+
"verifiedAgainst": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
90
90
|
"paths": [
|
|
91
91
|
"src/hub/bus.ts",
|
|
92
92
|
"src/hub/envelope.ts",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
]
|
|
99
99
|
},
|
|
100
100
|
"docs/agent-notes/daemon.md": {
|
|
101
|
-
"verifiedAgainst": "
|
|
101
|
+
"verifiedAgainst": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
102
102
|
"paths": [
|
|
103
103
|
"src/hub/daemon.ts",
|
|
104
104
|
"src/hub/control-client.ts",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
]
|
|
136
136
|
},
|
|
137
137
|
"docs/agent-notes/local-worker.md": {
|
|
138
|
-
"verifiedAgainst": "
|
|
138
|
+
"verifiedAgainst": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
139
139
|
"paths": [
|
|
140
140
|
"src/adapters/local-worker.ts",
|
|
141
141
|
"src/local/",
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
]
|
|
156
156
|
},
|
|
157
157
|
"docs/agent-notes/tasks.md": {
|
|
158
|
-
"verifiedAgainst": "
|
|
158
|
+
"verifiedAgainst": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
159
159
|
"paths": [
|
|
160
160
|
"src/hub/tasks.ts",
|
|
161
161
|
"src/hub/board.ts",
|
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
]
|
|
173
173
|
},
|
|
174
174
|
"docs/agent-notes/tests.md": {
|
|
175
|
-
"verifiedAgainst": "
|
|
175
|
+
"verifiedAgainst": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
176
176
|
"paths": [
|
|
177
177
|
"test/",
|
|
178
178
|
"scripts/check.sh",
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
]
|
|
192
192
|
},
|
|
193
193
|
"docs/agent-notes/README.md": {
|
|
194
|
-
"verifiedAgainst": "
|
|
194
|
+
"verifiedAgainst": "56ae16dfd69d3c72bcc1f4efdabbda1905f75b9c",
|
|
195
195
|
"paths": [
|
|
196
196
|
"src/cli/console-state.ts",
|
|
197
197
|
"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.31",
|
|
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",
|
|
@@ -14,7 +14,10 @@
|
|
|
14
14
|
"test": "bun test"
|
|
15
15
|
},
|
|
16
16
|
"engines": {
|
|
17
|
-
"bun": ">=1.
|
|
17
|
+
"bun": ">=1.4.2"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@staix/agent-mem": "0.3.0"
|
|
18
21
|
},
|
|
19
22
|
"devDependencies": {
|
|
20
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.31",
|
|
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",
|