fix(cli): keep the subagent registry host-plane in the cordis preset
The cordis preset moved `bash-env`, the `subagents` registry, and its spawn/fork backends into entry-local realms. A host row that injects a service is the criterion for host-plane ownership: `apps/cli/src/web.ts` injects `bash-env`, and `dsh-host-apiproxy` injects `subagents` to answer the browser's cross-session queries, so both waited forever for a service only sessions provided. A provider name also registers once, so the second session would have collided regardless. This layer introduces the preset, so it is where the plane belongs — a later layer already corrected it, which left this layer and the docs one unmountable on their own. The composition test stops disabling `api-gateway` with it: the row whose pending injection names the break cannot be the row the test turns off, so the boot audit now covers the whole host-plane injection graph.
This commit is contained in:
@@ -2,5 +2,5 @@
|
||||
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
||||
# after editing either side, bring the other along and re-record with:
|
||||
# pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.md
|
||||
2026-08-03-per-session-agent-presets.md: dbf2f7c3de1447382071ebcfb1d6b9abe9640210
|
||||
2026-08-03-per-session-agent-presets.zh.md: e34018f713144c6457c86d5ce4b533106a7e5372
|
||||
2026-08-03-per-session-agent-presets.md: 63bbc361b7968c3447cffaf8134422b7b78af98f
|
||||
2026-08-03-per-session-agent-presets.zh.md: bee5ba37dd27db22c18c9d1dd6d58965ee66b80e
|
||||
|
||||
@@ -19,7 +19,7 @@ Composition splits into two planes, decided by what must be shared rather than b
|
||||
| Plane | Instances | Contents |
|
||||
|---|---|---|
|
||||
| Host | one | The registries themselves (`tools`, `systemPrompt`, `agents`, `agent-loop`, `sessions`), cross-session facilities (persistence, query, projections, storage, settings, credentials, telemetry), and the web host |
|
||||
| Agent | one per session | What a single agent contributes to those registries: tool plugins, persona and prompt sections, delegation backends, compaction policy |
|
||||
| Agent | one per session | What a single agent contributes to those registries: tool plugins, persona and prompt sections, compaction policy |
|
||||
|
||||
Model routing stays out of presets. `installAgentLlmTarget` is already the per-agent seam for provider, model, and reasoning effort, and an LLM adapter mounted inside a preset would never be resolved by `agent-loop`, which lives in the host plane.
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ Status: implemented
|
||||
| 平面 | 实例数 | 内容 |
|
||||
|---|---|---|
|
||||
| 宿主 | 一份 | 注册表本身(`tools`、`systemPrompt`、`agents`、`agent-loop`、`sessions`)、跨会话设施(持久化、查询、投影、存储、设置、凭据、遥测),以及 web 宿主 |
|
||||
| agent | 每会话一份 | 单个 agent 对这些注册表的贡献:工具插件、人设与提示词段落、委派后端、压缩策略 |
|
||||
| agent | 每会话一份 | 单个 agent 对这些注册表的贡献:工具插件、人设与提示词段落、压缩策略 |
|
||||
|
||||
模型路由不进 preset。`installAgentLlmTarget` 已经是 provider、model 与 reasoning effort 的按 agent 可替换点;而挂在 preset 内部的 LLM 适配器永远不会被 `agent-loop` 解析到,因为后者位于宿主平面。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user