SessionStart subagent dispatch card and spawn-ready role args (0.2.39) - #246
Conversation
…ready role args (#243)
…t V2 by companion tools
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b7846dcb8c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const v1 = has(/(send_input|close_agent|resume_agent)$/), v2 = has(/(followup_task|interrupt_agent|list_agents)$/); | ||
| if (v1 === v2) throw new Error("collab family unresolved: v1=" + v1 + " v2=" + v2); | ||
| const a = {message:"Report your model and say OK; do not edit files.",model:"command-code/deepseek-deepseek-v4.1-flash",reasoning_effort:"low"}; | ||
| text(await tools[s[0]](v1 ? a : {...a, task_name:"model_probe", fork_turns:"none"}));`; |
There was a problem hiding this comment.
Omit unsupported model fields from the V2 spawn call
On V2 hosts using the current collaboration.spawn_agent schema, this branch spreads a into the request and therefore sends model and reasoning_effort, even though V2 accepts task_name, message, and fork_turns but not those V1-only fields. Input validation rejects the card's advertised first-cell call before creating an agent; the new test misses this because its mock accepts arbitrary argument objects.
Useful? React with 👍 / 👎.
리뷰 · 우선순위 66 / 80이 PR은 세션이 시작될 때마다 서브에이전트를 부르는 짧은 안내 카드를 붙입니다. 예전에는 역할에 예비 모델이 있을 때만 안내가 나왔습니다. 이제는 예비 모델이 없어도 카드가 나옵니다. 버전은 0.2.39이고, 기준 브랜치는 dev입니다. 카드는 두 장입니다. 환경 변수 같이 붙는 별칭 표는 deepseek, swe2, kimi, sol, luna를 실제 모델 이름으로 바꿉니다. 이 컴퓨터의 Codex 목록에 있으면 verified, 없으면 unverified입니다. 전체 모델 이름은 바꾸지 않고 그대로 둡니다.
plugins/codexclaw/components/subagent-config/src/dispatch-card.ts:34 - V2로 보면 plugins/codexclaw/components/subagent-config/src/dispatch-card.ts:33 - 실행 예제의 모델은 항상 deepseek입니다. 안내 문장은 검사 문장만 바꾸라고 합니다. 그대로 따르면 역할에 정해 둔 모델이나 다른 별칭을 쓰지 않습니다. 카드는 메인테이너의 판단이 필요한 지점 V2 첫 호출에서 너의 추천 V1 카드와 MCP가 답을 순서대로 보내는 수정은 이 릴리스에 넣어도 됩니다. V2 예제 인자만 실제 스키마에 맞춘 뒤에 0.2.39로 머지하세요. 그 전에는 카드가 V2에서 첫 호출에 거절될 수 있습니다. 이 댓글은 grok-bot이 작성했습니다 |
Implements #243 and prepares codexclaw 0.2.39.
Agents on the V1 collab family spent several exec cells per session rediscovering the nested
tools.multi_agent_v1__spawn_agentcallable and the routed model id before they could spawn a subagent. SessionStart now injects a dispatch card, even when no role has a fallback. SessionStart carries no tool catalog, so the card does not claim a family it cannot see.spawn_agenthelper, identifies V1 or V2 from companion tools, and spawns: V1 withmessage/model/reasoning_effort, V2 withtask_nameandfork_turns: "none"so model overrides are accepted. It throws before any call if the helper or the family is ambiguous.CODEXCLAW_SPAWN_V1=1prints the exacttools.multi_agent_v1__*calls, labeled an override rather than host evidence.subagents_getaddsspawnArgsper role andstaleModel(true, false or null plusstaleReason) from a catalog read bounded to 5 s. It reports null instead of guessing from a stale cache. The MCP stdio server now handles requests in order and finishes queued replies at EOF; without that, the new async read dropped replies.Validation:
npm test3,604/3,609 locally (0 failed, 5 skipped), plus the gate, inventory andcheck-versions 0.2.39. The card's cell, pasted verbatim into this V1 Code Mode session, spawned the DeepSeek alias in one cell twice. V2 is covered only by a tool harness. The plan, audits and evidence are indevlog/_plan/260924_issue_sweep_0238/060-071.