@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
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# 0.21.0 release verification
|
|
2
|
+
|
|
3
|
+
This record covers release preparation and source review. It claims no installation, no running-hub upgrade to 0.21.0 and no live TUI launch.
|
|
4
|
+
|
|
5
|
+
## Candidate
|
|
6
|
+
|
|
7
|
+
Version 0.21.0, prepared first from main 3254c912 (57 commits since v0.20.0, 36 of them `feat`; bump rule: minor) and merged untagged as b35a05b1. It was then completed from main 26a8a835 with seven more PRs (see Second release pass), 68 non-merge commits since v0.20.0 in all. The release commits carry the version, the CHANGELOG section, the bundle and the documentation stamps.
|
|
8
|
+
|
|
9
|
+
## Reviews
|
|
10
|
+
|
|
11
|
+
Pull requests named by the commits since v0.20.0: #961, #960, #548, #954, #933, #955, #959, #957, #950, #948, #958, #956, #945, #951, #947, #952, #554, #953, #555, #949, #941, #944, #946, #801, #936, #798, #934, #942, #943, #940, #938, #939, #901, #937, #786, #928, #927, #515, #926, #923, #925, #924, #922, #919, #921, #920, #918, #914, #917, #916, #911, #913, #915, #902, #910, #909, #907, #908, #906, #904, #905, #903, #898, #894, #879, #897, #896.
|
|
12
|
+
|
|
13
|
+
Each of these merged with `gh pr merge --squash --match-head-commit <head>` after its hub review, with exact-head CI green and no unresolved review thread at that head. Approvals that were bound to an earlier head than the one merged:
|
|
14
|
+
- #954 (task 548): codex-review approved code-only at 1928e88e. The conductor reviewed the delta to 7ee6e5cb, which added the shard names in ci-gates, the git warm-up and the shard-variable unset, and merged on green exact-head CI.
|
|
15
|
+
- #959 (task 556): approved before a conflict-only rebase to ee2c146d. seeds.json was rebuilt from main's seeds plus the PR's own.
|
|
16
|
+
- #955 (task 557): the person approved the merge before the review-fix commit f8d3b5b0, which answered the two connector threads with tests. The hub approval was then recorded by the person.
|
|
17
|
+
- #960 (task 535): approved at a23caea2, the merged head. Shard 4 of its exact-head run was green on a rerun of the failed job, an unchanged PTY test (task 559).
|
|
18
|
+
- #961 (task 539): approved at 07de10c6, the merged head. Shard 1 was green on a rerun of the failed job, an unchanged code-facts deadline test (task 559).
|
|
19
|
+
This record does not re-read the review history of each PR merged before 2026-10-29; they were merged under the same rule.
|
|
20
|
+
|
|
21
|
+
## Native acceptance receipts
|
|
22
|
+
|
|
23
|
+
Receipts added under `docs/verification/` since v0.20.0: `docs/verification/2026-10-28-claude-2.1.311-2.1.312-bash-permission.json`, `docs/verification/2026-10-28-claude-2.1.311-2.1.312-permission-transport.json`, `docs/verification/2026-10-28-claude-implementer-permission-triage.md`, `docs/verification/2026-10-28-jcode-0.99.1-usage.md`, `docs/verification/2026-10-28-realpath-name-audit.md`, `docs/verification/2026-10-28-routing-f0bb8ad0.md`, `docs/verification/2026-10-29-model-effort-capabilities.md`, `docs/verification/claude-implementer-permission-triage.ts`.
|
|
24
|
+
|
|
25
|
+
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.21.0`, person only, and is not recorded in this file. The tag run refuses without it.
|
|
26
|
+
|
|
27
|
+
## Document review
|
|
28
|
+
|
|
29
|
+
`node scripts/check-docs.mjs --require-fresh` reported 15 stale documents. Each was reread against `git log <stamp>..HEAD -- <its source paths>`, corrected in aeeaeb04, and restamped at aeeaeb04 in 97b59d60:
|
|
30
|
+
- src/cli/help.ts (16 commits): the `sdlc merge` output flags, `task label --created` being the person's, and the start rule for external module instances.
|
|
31
|
+
- README.md (47): the release report link.
|
|
32
|
+
- docs/quickstart.md (47): the install pin, the historical 0.20.0 amem pin, and a new "Upgrading to 0.21.0" note.
|
|
33
|
+
- docs/operations.md (49): 20 corrections. Commands the conductor may now run (queue resolve, stop, roster add/remove, board import, task role), the queue backpressure settings row, the tier-3 structural keys, `ahub down`, the CI watcher's rerun behaviour, the console Rooms table, dirty submodules, and the external module instances.
|
|
34
|
+
- docs/security.md (45): the new machine-local fields (including `rooms`), typed-name judging, `doc_read`/`web_fetch`, source and corpus screening, the intake split, the rooms X1 to X5b status, the DOING line, the external module instances, and the read-only planner instances.
|
|
35
|
+
- docs/agent-notes (adapters 36, budget 28, bus 29, daemon 36, local-worker 9, models 2, tasks 40, tests 54, README 9, benchmarks 8): renamed or moved rules corrected (conductor operations, recovery target floors, schedule timers, pack resolution, remote recipients in the bus, context admission, the Codex planner sandbox, Claude failure stages, CLI print guards). Rationale moved into docs/agent-notes/README.md. benchmarks.md needed no change.
|
|
36
|
+
The CHANGELOG 0.21.0 section was completed with the merged PRs that had no entry: rooms #908/#910/#922/#941/#956/#959, #927, #951, #961, #905, #894, #950, #928, #903, #952, #942 and the test fixes. The #933 entry now names the agy launcher as well as Jcode.
|
|
37
|
+
|
|
38
|
+
## Second release pass
|
|
39
|
+
|
|
40
|
+
The person asked on 2026-10-30 to merge the open PRs before tagging, so the first release merge (b35a05b1, PR #965) was not tagged. These PRs merged after it, each after its hub review, with exact-head CI green and no unresolved review thread:
|
|
41
|
+
- #966 (task 440, #489 H1) and #967 (task 561, #963), both approved at their merged heads.
|
|
42
|
+
- #969 (task 562, #964), approved at its merged head.
|
|
43
|
+
- #968 (task 324, #637 part 2): codex-review approved code-only at 51d1c934; the conductor made a conflict-only rebase to f3483920 and merged on green CI.
|
|
44
|
+
- #962 (task 559): approved at 5b86e10d; two conflict-only rebases by the conductor to 82e05552.
|
|
45
|
+
- #971 (task 400): approved; a conflict-free rebase by the conductor to a22c914e.
|
|
46
|
+
- #970 (task 441, #489 H2): codex-review approved code-only at b91c8a09; the conductor made a conflict-free rebase to d3d0cfe9, plus a docs-only dogfood row at 5d2b841d that answered the connector thread.
|
|
47
|
+
Each conductor rebase was verified as content-identical for the PR's own files. CI flakes in this pass, each passing on a single rerun of the failed job: the release-tag, qwen-dual and peer-stop timing tests (task 563, PR #973, not in this release) and path-policy, smoke-pty and code-facts (fixed by #962). PRs whose heads predated a workflow change on main failed with "Module not found" until rebased (hub memory b659b689).
|
|
48
|
+
The CHANGELOG 0.21.0 section gained #966, #967, #969 and #971, and #970's entry moved in from Unreleased. The 11 documents stale after these merges were reread and restamped in this pass.
|
|
49
|
+
|
|
50
|
+
## Checks
|
|
51
|
+
|
|
52
|
+
First pass at 97b59d60: `node scripts/check-docs.mjs --require-fresh` printed `docs: OK (0 stale documents)`, `bun x tsc --noEmit` was clean, `bun scripts/build.mjs --check` exited 0 and `node scripts/check-package.mjs` printed `package: OK (635 files, @staix/agent-hub@0.21.0)`.
|
|
53
|
+
Second pass, after the restamp at e2ee0ad4 in a worktree with its own frozen install: `check-docs --require-fresh` printed `docs: OK (0 stale documents)`, tsc was clean, `build.mjs --check` exited 0 and `check-package` printed `package: OK (637 files, @staix/agent-hub@0.21.0)`. A build run before that worktree's own install resolved the main checkout's older dependency and looked stale; that was the known ancestor-import-path trap, not a bundle change. The release PR's exact-head CI is the full gate.
|
|
54
|
+
|
|
55
|
+
## Known gaps, not blocking
|
|
56
|
+
|
|
57
|
+
- The release adds no live receipt. Still open: #912 AC1 (a fresh Jcode peer calling hub_send in its first turn), #793 AC6 (task 468, pi's remote check; it needs the hub restarted with the remote runner), #418 AC8 (managed-Pi receipts), and native/account execution of #900 conductor recovery and #802 context admission.
|
|
58
|
+
- Three timing flakes on the sharded macOS leg (path-policy, smoke-pty, code-facts) each passed on a rerun of the failed job. The test fixes are task 559 (PR #962), and the macOS PTY bridge hang under load is task 560. Neither is in this release.
|
|
59
|
+
- docs/operations.md has no section yet for schedules and folder triggers, sources, intake, corpus.paths, doc_read/web_fetch or `ahub smoke run`. They are described in the spec, data-policy, memory.md and smoke.md.
|
|
60
|
+
- The full `scripts/check.sh` was not run locally; the release PR's CI runs it on both OSes.
|
|
61
|
+
- Not in this release (still open or after the cut): task 563 (PR #973, the round-2 timing fixes), task 323 (PR #972, `ahub learn`) and task 444 (#489 H3).
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Model and effort capability receipt (#266 AC1)
|
|
2
|
+
|
|
3
|
+
Date: 2026-10-29. Scope: configuration/control capability verification only,
|
|
4
|
+
under task 430. Source baseline: `88e38f3d`. No runtime policy is implemented.
|
|
5
|
+
The native binaries were Codex 0.165.0, Claude Code 2.1.312 and Kimi 2.3.2.
|
|
6
|
+
|
|
7
|
+
## Isolation and evidence boundary
|
|
8
|
+
|
|
9
|
+
Each native invocation received a separate empty HOME and separate
|
|
10
|
+
CLAUDE_CONFIG_DIR, CODEX_HOME, KIMI_CODE_HOME and XDG roots, plus a scratch cwd.
|
|
11
|
+
The child environment contained no real account credentials or inherited
|
|
12
|
+
provider/gateway overrides. macOS Seatbelt denied network access. No real
|
|
13
|
+
account/provider config was copied, no login/update/config-write command was
|
|
14
|
+
used, and runtime model/effort choices were confined to the isolated process.
|
|
15
|
+
One native worker ran at a time under the resource policy.
|
|
16
|
+
|
|
17
|
+
This receipt retains counts, versions and fixed outcomes only. No input/output
|
|
18
|
+
text, credential, endpoint, native session/launch id or usage data is included.
|
|
19
|
+
Setter/readback success is frontend state evidence, not a served-model receipt.
|
|
20
|
+
Every invocation leader exited or was explicitly terminated and reaped; this is
|
|
21
|
+
not a native sandbox or real-account certification. Nine owned temporary fixture roots were
|
|
22
|
+
removed after capture. This does not change a native compatibility pin or
|
|
23
|
+
establish an adapter T0 receipt.
|
|
24
|
+
|
|
25
|
+
## Call inventory
|
|
26
|
+
|
|
27
|
+
| Operation | Native invocation count | Outcome |
|
|
28
|
+
| --- | ---: | --- |
|
|
29
|
+
| Version | 3 | all exit 0 |
|
|
30
|
+
| Root/subcommand help | 6 | all exit 0 |
|
|
31
|
+
| Codex installed experimental schema generation | 1 | exit 0; 460 JSON schema files |
|
|
32
|
+
| Codex protocol sessions | 2 | initialize/config/thread/turn controls below; both reaped |
|
|
33
|
+
| Claude print/control sessions | 3 | control-only exploration and final status/readback below; all reaped |
|
|
34
|
+
| Kimi ACP session | 1 | initialize success; session creation refused; reaped |
|
|
35
|
+
| Total | 16 | sequential, bounded, no completed provider turn |
|
|
36
|
+
|
|
37
|
+
These totals are controller-run accounting across the entire authorized probe
|
|
38
|
+
sequence, including three subcommand-help calls and two preliminary Claude
|
|
39
|
+
invocations. The selected final capability outcomes below do not imply that the
|
|
40
|
+
preliminary ACKs proved effective settings.
|
|
41
|
+
|
|
42
|
+
| Protocol process | Sent messages | Observed messages | Outcome |
|
|
43
|
+
| --- | ---: | ---: | --- |
|
|
44
|
+
| Codex launch/config/thread | 4 | 5 | config readbacks matched |
|
|
45
|
+
| Kimi initialize/new | 2 | 2 | initialize passed; new refused |
|
|
46
|
+
| Claude preliminary model control | 2 | 3 | ACKs observed; exact alias echo was not an effective-model proof |
|
|
47
|
+
| Claude preliminary effort exploration | 4 | 9 | ACKs observed; exact-text status matcher did not classify the readback |
|
|
48
|
+
| Claude final session controls | 5 | 12 | launch/session effort and selected model-family readbacks verified |
|
|
49
|
+
| Codex bounded turn/interrupt/resume | 7 | 21 | frontend sticky readbacks verified; turn interrupted |
|
|
50
|
+
| Total | 24 | 52 | counts only |
|
|
51
|
+
|
|
52
|
+
The sent total includes two initialization notifications and five local Claude
|
|
53
|
+
slash-command messages. The final Claude process checked effort before changing
|
|
54
|
+
model and parsed the status value rather than requiring an exact alias/text echo.
|
|
55
|
+
The three subcommand-help calls (Codex app-server, schema generator and Kimi ACP)
|
|
56
|
+
all exited 0. Earlier exploration is included in the inventory rather than hidden
|
|
57
|
+
or counted as an additional provider proof.
|
|
58
|
+
|
|
59
|
+
## Sanitized outcomes
|
|
60
|
+
|
|
61
|
+
| Native | Operation | Outcome |
|
|
62
|
+
| --- | --- | --- |
|
|
63
|
+
| Codex 0.165.0 | initialize | success |
|
|
64
|
+
| Codex | launch config read | requested model match; requested effort match |
|
|
65
|
+
| Codex | thread override readback | requested model match; requested effort match |
|
|
66
|
+
| Codex | model catalog | success; 9 entries |
|
|
67
|
+
| Codex | turn override | accepted |
|
|
68
|
+
| Codex | bounded interrupt | success; no completed provider result observed |
|
|
69
|
+
| Codex | no-override resume | requested replacement model match; replacement effort match; permission unchanged; sandbox unchanged |
|
|
70
|
+
| Claude Code 2.1.312 | initialize with launch model/effort flags | success |
|
|
71
|
+
| Claude | launch effort status | requested level match |
|
|
72
|
+
| Claude | session effort setter and status | success; requested level match |
|
|
73
|
+
| Claude | session model control | success; model field returned; requested model-family match |
|
|
74
|
+
| Kimi 2.3.2 | initialize | success |
|
|
75
|
+
| Kimi | new session | RPC error -32000; selected models/options/readbacks unknown |
|
|
76
|
+
|
|
77
|
+
The installed Codex schema describes `turn/start.model` and `effort` as defaults
|
|
78
|
+
for subsequent turns too. `ReasoningEffort` is a nonempty string here, not a
|
|
79
|
+
closed global enum; the model catalog advertises supported options per model.
|
|
80
|
+
Claude native help advertises launch model/effort, while its local effort status
|
|
81
|
+
and model control provided configuration readback. No provider answer followed
|
|
82
|
+
any of these checks. The Kimi refusal must not be relabeled unsupported; this
|
|
83
|
+
receipt neither changed its config nor supplied an account to get past it.
|
|
84
|
+
|
|
85
|
+
## Hub wiring and remaining proof
|
|
86
|
+
|
|
87
|
+
At the source baseline, the hub's Codex-created turn contains no model/effort
|
|
88
|
+
setter, even though native/TUI fields can pass through. Claude's declared writer
|
|
89
|
+
model is a launch argument for each child; production closes its input stream
|
|
90
|
+
and has no session-setting sender. Kimi has a launch-model argument and native
|
|
91
|
+
permission-mode handling, with no model/effort setter or effective-model reader.
|
|
92
|
+
A requested launch alias in recovery metadata is not a provider-serving model.
|
|
93
|
+
|
|
94
|
+
Actual provider application for every vendor, Kimi session-level model/graded
|
|
95
|
+
thinking readback, real interactive/account behavior, and matrix execution are
|
|
96
|
+
**UNVERIFIED**. Task/role exec, mapping, routing policy, ladders and budgets remain
|
|
97
|
+
later slices. A future setting path must not change permissions or sandbox and
|
|
98
|
+
must refuse an unsupported/unverified mapping rather than silently ignore it.
|
|
99
|
+
|
|
100
|
+
## Sources and reproduction
|
|
101
|
+
|
|
102
|
+
The [spec capability table](../specs/2026-09-19-agent-hub-design.md#vendor-model-and-effort-controls-266-ac1)
|
|
103
|
+
and [smoke procedure](../smoke.md#model-and-effort-capability-verification-266-ac1)
|
|
104
|
+
are the entry points. Native help, installed generated schema and filtered
|
|
105
|
+
control outcomes are the version-bound observations; raw native output is not
|
|
106
|
+
part of the checked-in receipt.
|
|
107
|
+
|
|
108
|
+
Corroborating primary sources, consulted 2026-10-29:
|
|
109
|
+
|
|
110
|
+
- [OpenAI app-server](https://learn.chatgpt.com/docs/app-server): turn overrides,
|
|
111
|
+
subsequent-turn defaults and per-model advertised effort options.
|
|
112
|
+
- [Claude model configuration](https://code.claude.com/docs/en/model-config):
|
|
113
|
+
launch and session model/effort controls, with later-message effort semantics.
|
|
114
|
+
- [Claude SDK model setter](https://github.com/anthropics/claude-agent-sdk-python/blob/main/src/claude_agent_sdk/_internal/query.py):
|
|
115
|
+
the model control request shape.
|
|
116
|
+
- [Kimi command reference](https://moonshotai.github.io/kimi-code/en/reference/kimi-command)
|
|
117
|
+
and [ACP coverage](https://moonshotai.github.io/kimi-code/en/reference/kimi-acp):
|
|
118
|
+
launch model and documented session model/thinking controls.
|
|
119
|
+
- [Kimi graded ACP effort report](https://github.com/MoonshotAI/kimi-code/issues/1486):
|
|
120
|
+
an open report about boolean collapse, not this receipt's proof of installed
|
|
121
|
+
graded-effort support. A thinking toggle is not a verified graded setting.
|
|
122
|
+
|
|
123
|
+
Moving upstream documentation cannot certify another binary or a real provider.
|