Skip to content

Replace the 0.1.7 Volc Chat qualification leg with native Responses #226

Closed

Description

@NOirBRight

Parent

Part of #147 and the Phase 0 / 0.1.7 Release Qualification Matrix.

What to build

Replace the current Volc Chat Completions leg of the reusable 12-case real-client matrix with the third-party Native Responses Model Access Path qualified by #220. Keep the matrix at 12 cases: Official Responses plus third-party Native Responses across the six existing client surfaces. The Volc Chat leg remains ordinary regression coverage but no longer counts as the Phase 0 third-party Responses release gate.

Acceptance criteria

  • The release matrix remains exactly 12 cases and identifies each case by client, Provider, Endpoint Binding, model, and protocol.
  • Its third-party leg uses the exact Native Responses path qualified by Qualify one third-party native Responses path for the 0.1.7 release matrix #220 through CodexHub Transparent Passthrough, with no Chat-to-Responses conversion or silent fallback.
  • Codex Desktop, Codex CLI, and the four existing Responses-capable Managed Client surfaces each have one Official and one third-party case with persistent, reusable case-local setup from Make the final real-client E2E reusable and workspace-bound #218.
  • Automated evidence covers route/model identity, text, SSE completion, tool call/result continuity, cancellation, and sanitized failure classification; required GUI actions are explicit and bounded.
  • The former Volc Chat cases remain available as non-release regression coverage and are not represented as Native Responses evidence.
  • The matrix documentation makes clear that the one full 12-case run occurs only on the final frozen 0.1.7 candidate.

Blocked by

Activity

  1. added
    enhancementNew feature or request
    ready-for-agentFully specified, ready for an AFK agent
    wayfinder:taskWayfinder implementation task
    tier:heavyOrchestrator provider tier: heavy
    P1Priority 1: current iteration goal
    on Jul 25, 2026
  2. NOirBRight commented on Jul 25, 2026

    @NOirBRight
    OwnerAuthor
    {
      "contract": {
        "acceptance": [
          "The release matrix contains exactly 12 cases across Codex Desktop, Codex CLI, OpenCode, ZCode, Pi, and OMP: one Official Responses and one Ollama Cloud Native Responses case per client.",
          "Every Ollama Cloud case is bound to https://ollama.com/v1/responses through Gateway route v1/providers/ollama-cloud/responses with canonical model ollama-cloud/glm-5.2 and transparent Responses semantics; no Chat conversion or fallback can satisfy a case.",
          "Static and runtime fixture assertions prove no local Ollama executable, daemon, localhost:11434 endpoint, or ambient Ollama state is used.",
          "All client configuration is produced and read back through managed-client-config, and the six Ollama Cloud selections resolve to Responses while Official catalog behavior remains unchanged.",
          "Automated artifacts verify route/model identity, text, SSE completion, tool call/result continuity, bounded cancellation, sanitized terminal failure, and exactly one terminal ledger outcome with zero retry/fallback where prohibited.",
          "Desktop and ZCode instructions name the four persistent case-local workspaces and require only the bounded human actions that cannot be automated; credentials and login state remain isolated and reusable under #218.",
          "The Volc Chat cases remain covered by non-release regression tests but are absent from the 12-case Phase 0 summary and cannot be represented as third-party Native Responses evidence.",
          "The full 12-case matrix is not executed on this intermediate SHA; documentation and runner output state that #227 performs the sole authoritative run on the final frozen 0.1.7 candidate."
        ],
        "change_claims": {
          "paths": [
            "scripts/Run-RealClientE2E.ps1",
            "docs/agents/real-client-e2e.md",
            "tests/test_real_client_e2e.py",
            "tests/fixtures/real_client_e2e/fake-managed-client-config.py",
            "tests/fixtures/real_client_e2e/validate-managed-client-contract-probe.py",
            "tests/fixtures/real_client_e2e/fake-client-real-contract.cmd"
          ],
          "resources": [
            "real-client-release-matrix",
            "ollama-cloud-native-responses-path",
            "managed-client-responses-materialization",
            "reusable-gui-case-state"
          ]
        },
        "dependencies": {
          "dispatch_after": [
            220
          ],
          "merge_after": [
            220
          ]
        },
        "design": [
          "Replace only the release-qualification leg of the reusable 12-case runner: six Official Responses cases remain and the six former Volc Chat cases become Ollama Cloud Native Responses cases. Preserve Volc Chat as non-release regression coverage outside the final 12-case result.",
          "Bind the third-party path exactly to Provider ollama-cloud, upstream URL https://ollama.com/v1/responses, canonical model ollama-cloud/glm-5.2, and Gateway route v1/providers/ollama-cloud/responses using Transparent Passthrough. Never launch, discover, or contact a local Ollama daemon and never use localhost:11434.",
          "Materialize each supported client through the existing managed-client-config seam. Export a Responses endpoint binding for Ollama Cloud without Chat conversion, fallback, a second serializer, or ambient host configuration.",
          "Keep exactly four bounded GUI cases for Codex Desktop and ZCode and eight automated cases for Codex CLI, OpenCode, Pi, and OMP. Reuse #218 case-local state and workspace binding; case identities make Official versus Ollama Cloud unambiguous.",
          "Extend the sanitized evidence contract to retain Provider, endpoint binding, canonical model, wire protocol, text/SSE/tool continuity, cancellation disposition, terminal error disposition, retry/fallback counts, and exactly-once terminal accounting without secrets, absolute host paths, or raw provider payloads.",
          "This Issue changes the runner, fixtures, and operator documentation only. It does not run the full real-client matrix; the one authoritative 12-case execution belongs to the frozen candidate in #227."
        ],
        "difficulty": "heavy",
        "done_when": [
          "Focused runner and fixture regressions are observed failing before implementation and passing afterward.",
          "python -m pytest -q tests/test_real_client_e2e.py",
          "PowerShell parses scripts/Run-RealClientE2E.ps1 without error.",
          "A static audit proves the release matrix has six Official plus six Ollama Cloud cases, the former Volc cases remain only as regression coverage, and localhost:11434 is not reachable from the release path.",
          "python -m pytest -q",
          "git diff --check",
          "python scripts/report_quality_gates.py (report-only)",
          "Exact-local-SHA Standards and Spec reviews report no blocker before the branch is pushed once.",
          "After local freeze, exactly one push/PR update and exact-SHA GitHub Actions run pass; no intermediate real-client qualification is run."
        ],
        "priority": "P1",
        "risk": "strict",
        "sha256": "911126d294c9ee41871c02369d43f442a5381807705e5e02af12edb9105cde05",
        "unresolved_decisions": []
      },
      "dispatch": {
        "attempt": 1,
        "base_sha": "1758b830130ac3bf4a0d55f08b69fce342f4a969",
        "branch": "work/issue-226",
        "claimed_at": "2026-07-26T16:15:36.31478Z",
        "contract_sha256": "911126d294c9ee41871c02369d43f442a5381807705e5e02af12edb9105cde05",
        "creator_agent_id": "d81c5928-aff7-4d9d-b6a0-2b9f70ffad21",
        "generation": 4,
        "id": "dispatch-issue-226-a1",
        "status": "running",
        "worker_agent_id": "13d16636-426d-4342-bca9-b8eae0c85b2b",
        "workspace_id": "wks_aebfe521635fab5a"
      }
    }
  3. added
    orch:readyOrchestrator V6: valid hashed contract is complete and dispatchable
    orch:activeOrchestrator V6: claimed Worker is active or rework is in progress
    and removed
    orch:readyOrchestrator V6: valid hashed contract is complete and dispatchable
    on Jul 25, 2026
  4. NOirBRight commented on Jul 26, 2026

    @NOirBRight
    OwnerAuthor

    Durable GUI seed preflight

    A read-only host check confirms the operator-controlled durable seed still contains all four configured GUI roots from #218:

    • Desktop Official/Luna: dedicated .codex state plus browser profile;
    • Desktop former third-party/Volc: dedicated .codex state plus browser profile;
    • ZCode Official/Luna: dedicated .zcode plus appdata state;
    • ZCode former third-party/Volc: dedicated .zcode plus appdata state.

    #226 must preserve these completed login/onboarding boundaries. Changing the third-party release leg to Ollama Cloud must not require the operator to log in or complete first-run setup again. Either retain stable seed-slot identifiers independent of Provider identity, or perform one explicit independent-copy migration from the former third-party seed to the new Ollama Cloud case name before the frozen #227 run. Never link, mutate the source seed, copy a previous run's isolated/work, or upload seed contents. The runner must still normalize provider/model/workspace state into each fresh case root.

    No seed contents, account identifiers, credentials, or absolute host paths were inspected or recorded in this comment.

  5. added a commit that references this issue on Jul 27, 2026
    1333dcf
  6. NOirBRight commented on Jul 27, 2026

    @NOirBRight
    OwnerAuthor

    Completed by #241.

    Evidence:

    • frozen PR head: 3ba17aa4a60fc9940bdebce77261322f5a296bfc
    • squash merge on dev: 1333dcf2d124975fa8d6253a47c77f0646d288cd
    • preserved tree: 6f0062837281579acd840d7380d3f6f8b6c41050
    • exact-SHA Actions run: https://github.com/NOirBRight/CodexHub/actions/runs/30275581107 (all required jobs successful; runner-smoke jobs conditionally skipped)
    • full Python core: 1451 passed, 1 skipped, 417 subtests
    • synthetic real-client contract: 136 passed

    The release matrix is now exactly six Official Responses plus six Ollama Cloud Native Responses cases. Canonical model IDs, provider-neutral Desktop/ZCode seed migration, ollama.json credentials, route/protocol evidence binding, and route-contradiction rejection are merged; legacy Volc Chat fixtures remain outside the release summary.

  7. removed
    ready-for-agentFully specified, ready for an AFK agent
    orch:activeOrchestrator V6: claimed Worker is active or rework is in progress
    on Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Priority 1: current iteration goalenhancementNew feature or requesttier:heavyOrchestrator provider tier: heavywayfinder:taskWayfinder implementation task

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions