You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Verify the complete generic, client-owned Collaboration V2 lifecycle through a real Codex CLI and a protocol-controlled Ollama-compatible Chat Completions fixture.
Acceptance criteria
A real CLI case covers spawn, canonical task identity/status, send message, follow-up, wait/result, list, interrupt, child result delivery, parent completion, and cleanup where applicable.
Request, Chat tool-call, converted Responses event, and replay/history identities remain exact and ordered.
Progressive streaming exposes added/delta/done and one terminal event without whole-response buffering.
Same-Home restart/readback preserves task identity and user-owned agents configuration.
Cross-Home, mixed V1/V2, incompatible paginated state, ambiguous task identity, and missing/duplicate IDs fail before mutation.
V1 repair/scheduler behavior is absent from every V2 case.
Gateway never creates agents, schedules work, fabricates results, or silently downgrades V2.
No model fallback or cross-Provider execution occurs.
Evidence is bounded, sanitized, and candidate/CLI/protocol bound.
Beta4.1 scope correction and upstream blocker (2026-08-14)
Status: KEEP OPEN — blocked_upstream_provider_aware_delivery.
This issue must not be closed by the Beta4.1 Gateway adapter work. Beta4.1 can claim only the following bounded capability:
Collaboration V2 namespace adapted to ordinary third-party function tools;
deterministic, collision-safe tool aliases;
normal and streaming function-call inverse mapping;
history/replay adapter coverage;
removal of Official-only encrypted schema annotations from the third-party wire;
opaque passthrough on the Official OpenAI route;
third-party coordinator → third-party ordinary tool-calling support via the CodexHub Gateway adapter, not provider-native V2 support.
The full OpenAI-parent → non-OpenAI-child V2 lifecycle is not implemented or passed. An Official handoff may carry provider-specific encrypted content in encrypted_content; CodexHub cannot decrypt it or reconstruct the original task. Rewriting agent_message, moving fields, removing schema annotations, or blindly forwarding the ciphertext does not restore the missing semantics. The unsupported combination must therefore fail closed.
This remains dependent on upstream provider-aware delivery. Relevant upstream tracking:
The upstream contract needed before this issue can close is:
OpenAI → OpenAI continues to use encrypted Official messages;
non-OpenAI targets receive provider-neutral plaintext user/message data, or upstream decrypts and re-encodes the handoff for the target provider;
unsupported provider combinations fail closed with a bounded diagnostic.
After that upstream change, this issue requires a fresh candidate-bound verification of spawn_agent, list_agents, send_message, followup_task, wait_agent, interrupt_agent, and final list_agents readback, plus streaming/history, Gateway/client restart readback, and terminal/error replay. Only a complete passing result may close this issue.
Until then, Beta4.1 release evidence must record the full cross-provider V2 gate as blocked, must not claim provider-native V2 support, and must not claim that opaque encrypted forwarding works. Comments, logs, and evidence must contain no credentials or complete ciphertext.
Campaign rewrite from #441 — split the acceptance surface:
395-A (campaign blocker): third-party Chat Gateway adapter lifecycle (fixture + one real CLI path).
395-B (not a release blocker): Official-parent → third-party-child encrypted handoff. That topology stays fail-closed at the upstream provider-aware delivery boundary.
Do not treat 395-B as a reason to keep the standard Chat floor or ordinary V2 adapter unreleased.
Real CLI Chat qualification is complete on source candidate 6aedd33e6b57433b16e42db1fafc48aa42161194; bounded evidence is committed in b875edf under docs/evidence/issue-395/.
Observed with codex-cli 0.147.0:
all six V2 lifecycle tools, child-result delivery, parent completion
9 Chat fixture requests/responses, each emitted as two progressive chunks; 6 tool-call responses
exact namespace/name/call/history inverse; no raw aliases in evidence
same-Home Gateway restart + explicit parent-session resume preserved task identity, config.toml, and user AGENTS.md
zero fallback, no V1 observation, no Gateway errors
C4 negative suite covers mixed V1/V2, cross-Home V1 state, orphan/ambiguous results, pagination, malformed agent messages, and missing/duplicate call IDs before fixture mutation
Verification: final combined suite 609 passed + 129 subtests; full Python core 2,442 passed / 89 skipped / 508 subtests with only 61 known Linux host gaps; quality parse_errors=0.
Cross-Home criterion strengthened after review: source candidate is now 549104696d9a86f308a9f5cc7d884237c1dc45bc, evidence update 071b229. A second isolated CODEX_HOME attempts to resume the first Home parent session; the real CLI rejects it and both Gateway shim and upstream fixture request counts remain unchanged. The same-Home parent resume still completes and preserves task/config/AGENTS identity.
Completed by source candidate 5491046 with bounded evidence in 071b229. Real codex-cli 0.147.0 passed all six V2 phases, progressive Chat conversion, same-Home parent resume/readback, true cross-Home rejection before Gateway/fixture mutation, zero fallback, and no V1 observation. Standards and Spec reviews found no blockers.
Activity
NOirBRight commentedon Aug 13, 2026
Beta4.1 scope correction and upstream blocker (2026-08-14)
Status: KEEP OPEN —
blocked_upstream_provider_aware_delivery.This issue must not be closed by the Beta4.1 Gateway adapter work. Beta4.1 can claim only the following bounded capability:
The full OpenAI-parent → non-OpenAI-child V2 lifecycle is not implemented or passed. An Official handoff may carry provider-specific encrypted content in
encrypted_content; CodexHub cannot decrypt it or reconstruct the original task. Rewritingagent_message, moving fields, removing schema annotations, or blindly forwarding the ciphertext does not restore the missing semantics. The unsupported combination must therefore fail closed.This remains dependent on upstream provider-aware delivery. Relevant upstream tracking:
The upstream contract needed before this issue can close is:
After that upstream change, this issue requires a fresh candidate-bound verification of
spawn_agent,list_agents,send_message,followup_task,wait_agent,interrupt_agent, and finallist_agentsreadback, plus streaming/history, Gateway/client restart readback, and terminal/error replay. Only a complete passing result may close this issue.Until then, Beta4.1 release evidence must record the full cross-provider V2 gate as blocked, must not claim provider-native V2 support, and must not claim that opaque encrypted forwarding works. Comments, logs, and evidence must contain no credentials or complete ciphertext.
NOirBRight commentedon Aug 19, 2026
Campaign rewrite from #441 — split the acceptance surface:
Do not treat 395-B as a reason to keep the standard Chat floor or ordinary V2 adapter unreleased.
NOirBRight commentedon Aug 19, 2026
Real CLI Chat qualification is complete on source candidate
6aedd33e6b57433b16e42db1fafc48aa42161194; bounded evidence is committed inb875edfunderdocs/evidence/issue-395/.Observed with
codex-cli 0.147.0:Verification: final combined suite 609 passed + 129 subtests; full Python core 2,442 passed / 89 skipped / 508 subtests with only 61 known Linux host gaps; quality parse_errors=0.
NOirBRight commentedon Aug 19, 2026
Cross-Home criterion strengthened after review: source candidate is now
549104696d9a86f308a9f5cc7d884237c1dc45bc, evidence update071b229. A second isolated CODEX_HOME attempts to resume the first Home parent session; the real CLI rejects it and both Gateway shim and upstream fixture request counts remain unchanged. The same-Home parent resume still completes and preserves task/config/AGENTS identity.NOirBRight commentedon Aug 19, 2026
Completed by source candidate 5491046 with bounded evidence in 071b229. Real codex-cli 0.147.0 passed all six V2 phases, progressive Chat conversion, same-Home parent resume/readback, true cross-Home rejection before Gateway/fixture mutation, zero fallback, and no V1 observation. Standards and Spec reviews found no blockers.
fix(gateway): preserve V2 identity through live Chat streams (#394 #395)
test(gateway): qualify real CLI Collaboration V2 over Chat (#395)
docs(evidence): record real CLI Chat V2 qualification (#395)
test(gateway): reject cross-Home V2 resume before mutation (#395)
docs(evidence): bind #395 to cross-Home qualification (#395)