Repository navigation
0.1.8 Beta6: Generate the runtime-derived Chat and Collaboration V2 conversion matrix #66
Copy link
Copy link
Closed
Labels
P1Priority 1: current iteration goalPriority 1: current iteration goalcampaign:0.1.8-beta60.1.8 Beta6 usable Chat campaign0.1.8 Beta6 usable Chat campaigncampaign:gateway-chatGateway deep modules and Codex↔Chat bridgeGateway deep modules and Codex↔Chat bridgeenhancementNew feature or requestNew feature or requestready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentwayfinder:researchWayfinder evidence or research ticketWayfinder evidence or research ticket
Description
Parent
Outcome
Generate the versioned Responses-to-Chat conversion matrix used by Beta6 from the installed runtime structures and accepted prior contracts, including the complete Collaboration V2 lifecycle.
The matrix is keyed by field value, declaration/item type, execution owner, and protocol representation. It is not keyed by model name.
Required behavior
- Preserve a field/item when Chat can carry it natively.
- Adapt only when an approved reversible equivalent exists.
- Reject a required semantic before upstream sampling when Chat cannot carry it without loss.
- Do not silently delete unknown declarations/items or synthesize incompatible IDs.
- Never fallback to Responses, Official, another model, or another Provider.
Acceptance criteria
- Runtime fields are classified by value as native, consumed locally, reversibly adapted, or unavailable.
- Progressive text, multi-turn history, standard function declarations/calls/results, IDs, errors, cancellation, and terminal events have symmetric contracts.
- The six V2 direct tools, task identity, message/
agent_message, follow-up, wait/result, list/interrupt, child/parent delivery, replay, and restart have a complete Chat disposition. - Unknown declarations/items cannot disappear silently.
- Missing, duplicate, conflicting, or unsafe call/result/task identities fail explicitly.
- 0.1.8 Beta6: Implement generic Collaboration V2 over Chat Completions #394 and 0.1.8 Beta6: Verify the complete generic Chat Collaboration V2 lifecycle #395 implement and verify the same generic V2 matrix.
- 0.1.8 Beta6: Complete the GLM-5.2 Ollama Chat and V2 CLI path #285, 0.1.8 Beta6: Complete the K2.7 Code Ollama Chat and V2 CLI path #286, and 0.1.8 Beta6: Complete the DeepSeek V4 Flash 0731 Chat CLI path #396 consume the same matrix through Ollama Chat without model-name conversion branches.
- Chat Code Mode/custom/freeform, client
tool_search, arbitrary namespaces, search, and hosted semantics retain explicit native/adapt/unavailable dispositions and are not implied by V2 support. - No hidden Responses/Official fallback or cross-Provider execution occurs.
Closed #25/#26 and the Beta3.3 Chat history fixes remain conversion foundations.
Blocked by
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1Priority 1: current iteration goalPriority 1: current iteration goalcampaign:0.1.8-beta60.1.8 Beta6 usable Chat campaign0.1.8 Beta6 usable Chat campaigncampaign:gateway-chatGateway deep modules and Codex↔Chat bridgeGateway deep modules and Codex↔Chat bridgeenhancementNew feature or requestNew feature or requestready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentwayfinder:researchWayfinder evidence or research ticketWayfinder evidence or research ticket
Activity
NOirBRight commentedon Jul 13, 2026
SEQUENCING DECISION — conditional Chat fallback, not the initial GLM blocker
#66 remains the single runtime-derived Responses-to-Chat matrix for the full #57/Milestone decision. It does not block initial GLM-5.2 mechanical/standard Worker qualification while the #105/#108 Responses path remains viable.
Activate a generic Chat implementation A/B early only if one clean post-#108 Responses qualification still fails for a proven protocol/history reason. If triggered, build an opt-in request-scoped tool bridge on #25/#26, cover custom/tool_search/namespace/history/body/SSE semantics, and fail closed on ambiguity. Do not create a duplicate Chat-bridge Issue or move this scope into #105/#108.
NOirBRight commentedon Jul 15, 2026
Tool-call contract evidence for the later Chat path (2026-07-15)
A pinned comparison against
farion1231/cc-switch@f6e37ed99443890a865669e28bf1caf5e85d466dadds evidence relevant to this matrix:openai_chatpath treats tool declarations, assistant tool calls, follow-up tool results/history, and terminal errors as one symmetric codec. Custom tools are represented through a reversible function wrapper, original call identity is restored on the return path, and local adapter failure closes with a normalresponse.failedterminal instead of leaving the stream open.apply_patchdeclaration repeatedly produced shapes that the response-side exact{patch:string}validator rejected. A request-scoped probe exposing the same operation as a strict Responses function schema completed two consecutiveshell_command -> apply_patch -> shell_commandloops with zero request errors, retries, or protocol fallback.When #66 is activated, include a real Chat tool-loop E2E that distinguishes protocol-translation failure from upstream transport failure and asserts no disconnect or duplicate retry after the tool call. Keep #114's Responses transport diagnosis separate; its earlier reporter correction already records the supplied GLM Chat disconnect as related but distinct.
28 remaining items
[-]0.1.8 Beta6: Generate the runtime-derived Chat conversion matrix and fail closed on loss[/-][+]0.1.8 Beta6: Generate the runtime-derived Chat and Collaboration V2 conversion matrix[/+]NOirBRight commentedon Aug 19, 2026
Campaign rewrite from #441: this matrix is no longer blocked by #351 (stale 0.1.8 Beta5 release train). Chat contract work can start independently of that historical gate.
#253 / #254 consume this matrix. Provider qualification (#285 / #286 / #396) no longer blocks those contract tickets.
NOirBRight commentedon Aug 19, 2026
Claimed: generate the versioned Responses-to-Chat conversion matrix from protocol_translation plus the accepted #392/#64 runtime contracts.
NOirBRight commentedon Aug 19, 2026
Landed on
ac1a27e.docs/evidence/issue-66/chat-conversion-matrix.jsonscripts/build_issue_66_chat_conversion_matrix.pytests/test_issue_66_chat_conversion_matrix.py(6 passed)The matrix classifies request fields, input items, stream/identity, and the six Collaboration V2 tools. It is not keyed by model name. Unknown/encrypted/hosted/custom semantics are unavailable and fail closed. V2 namespace adaptation is marked
required_by_394; the standard Chat floor is bound to currentprotocol_translation.py.#253 / #254 should consume this artifact instead of inventing a second matrix.
docs(gateway): add Responses-to-Chat conversion matrix for #66
feat(gateway): add prepare_exchange seam for Responses-Chat conversion (
feat(gateway): adapt Collaboration V2 over Chat Completions (#394)
docs(gateway): record conditional custom Chat adapter (#66 #285)