Repository navigation
Conversation
|
Hi @FradSer, thanks for putting this together. Could you share screenshots from an acceptance run against a real OpenCode Go subscription? The verification so far uses simulated endpoints, so it would help to see:
Please redact keys and account details. |
Following up on the requested real OpenCode Go acceptance: this PR is now Draft. Acceptance remains incomplete. The latest Pi/Go request reached the real upstream and returned HTTP 401, The Go credential was entered and saved manually in the local Project. The tester reported that Test passed, but its result dialog was not captured. The provider screenshot below proves saved state only. Four distinct Sessions were submitted once each, within the six-attempt limit:
None produced a successful tool call. The remaining two Pi protocol attempts have not been submitted after the authentication failure, and no failed Session was retried. A valid Go key is needed before continuing. The Run display is not a provider billing or remaining-quota statement; no subscription purchase, upgrade, or balance-setting change was made. The local candidate is not committed or pushed; this PR's remote head remains The Linux native Host checkpoint canary completed successfully with the pinned real Claude CLI and a local model fixture: 3 Host-verified bundles, 2 ready backups, and history restored in a new process. This is checkpoint evidence, not Go subscription acceptance. Full Linux Actual screenshots below have the complete credential line and account details obscured. No fixture screenshot is included. Saved provider — Test result not captured OpenCode / Chat Completions — ACP setup failure OpenCode / Anthropic Messages — directory preparation failure OpenCode / Responses — local Host guard failure Pi / Chat Completions — real upstream key expired, 0 tokens displayed |
|
Real OpenCode Go acceptance — existing-evidence reconciliation (2026-10-21) This updates the successful-run evidence captured on 2026-10-20. It uses existing screenshots, the saved seven-attempt manifest, and Run/usage/checkpoint exports only. No model request, credential Test, new Session, or credential read was performed for this update. Two completed real RunsBoth use
Cache reads are a subset of input, so total is input plus output. The saved model-call input excluding cache is 8,245 for OpenCode and 1,740 for Pi. Adding the cache-read subset gives the usage input above. The UI rounds the totals to 16k and 3.9k. These are runtime records, not subscription quota, an invoice, or a provider billing total. The saved checkpoint exports record OpenCode — completed Run, successful tool output, final reply Pi — completed Run, successful tool output, final reply Saved credential and Test evidenceThe historical saved-Provider screenshot below shows a Go key entry in the Project. The credential line is fully redacted. It does not show a passing Test and does not identify the later credential used by the successful Runs. A passing Test was reported by the user, but no passing dialog or machine-observed success receipt was found in the inspected saved evidence. The retained Test receipt and error-only screenshot instead document the earlier expired key: Complete seven-attempt history
The two successful Runs used the local candidate recorded in the archived manifest as patch SHA256 What remains unproven
All seven authorized Sessions were used. The missing success evidence cannot be reconstructed from these records. Acceptance remains partial; no extra paid Session was created to fill the gaps. Simulated protocol tests and the local Claude checkpoint fixture are automated integration evidence, not substitutes for real Go acceptance. Current-head verification is separate: CI for |
|
Adversarial review (Claude, static review of diff + head files; no code executed — points depending on code outside the diff are unverified): Verdict: merge after fixes. The Go-specific code is careful: the proxy overwrites Blocker
Major
Minor
Nits: double Conflict with #699: #699 changes the same additional-directories logic differently ( Description vs code: local |
…261029 # Conflicts: # apps/api/src/modules/runtime/infrastructure/runtime-sandbox-provisioning/runtime-driver-execution-spec.builder.ts # apps/api/tests/api-driver-boundary.test.ts
|
Thanks for the review. Updated in
Linux PR Check for this head passed the complete repository gate, all 15 Preview persistence browser cases and native Host checkpoint recovery. Focused checks also passed: 25 catalog cases, 75 proxy cases, 15 API/Driver boundary cases, 16 process-replay cases and 27 credential-probe cases. The credential-echo regressions failed against unsanitized forwarding and pass with the repair. The PR description separately records the local macOS full-gate failures; it does not claim that run passed. Real-provider acceptance remains limited to the two historical Chat Completions Runs on an earlier candidate. A captured passing credential Test is still missing. This follow-up made no real model request or paid Session, and the fixture and native-checkpoint checks do not establish new Go acceptance on this head. |







Summary
Add OpenCode Go as a distinct subscription provider for OpenCode and Pi. The Host owns the subscription key and forwards requests through the existing expiring proxy grant, with Mosoo deployment identity and a stable Host Session identity.
Admission is limited to five Chat Completions presets: DeepSeek V4.1 Flash, DeepSeek V4 Pro, GLM 5.2, Kimi K2.6 and Kimi K2.7 Code. Messages and Responses presets are withheld until real-provider acceptance is available. Protocol forwarding fixtures remain for historical frozen plans; they do not establish real Go protocol acceptance.
Review changes
main(465d9f26) normally and preserve both OpenCode and Pi directory handling when resolving the conflict with fix(runtime): keep host paths out of opencode acp directories #699. Host cache, HOME and workspace are provisioned independently of the empty optional CLI directory list.49df36e, also pinned by Mosoo main. This PR no longer depends on unmerged Driver feat(public-api): define thread final output client #137 or an unlanded submodule commit.x-opencode-*headers before applying Host identity.native_step_totalssource is emitted by the landed Driver and accepted by the Host.Verification
Current head:
8da8894c. Hosted Linux PR Check passed, including the full repository gate, all 15 credential-free Preview persistence browser cases and native Host checkpoint recovery. CLA, commit identity and title checks passed. No migration, generated GraphQL/OpenAPI artifact, dependency or lockfile change. The Driver pin equals current main.just check. Commit metadata and all commit hooks passed.native-checkpoint-bundlerestore test; its source matches main and a focused rerun reproduced 6 passed / 1 failed on this macOS host.just checkis not green: the unchanged Driver main suite produced 1,658 passed / 71 skipped / 600 failed on macOS, including explicit Linux/procrequirements and native lifecycle failures. The Driver pin was not changed to an unmerged test-fix branch to conceal these failures. Hosted Linux CI is reported separately by the PR checks.Real-provider evidence and limits
Historical acceptance evidence records two completed real Chat Completions Runs, one each on OpenCode and Pi, with tool output, usage and committed checkpoints. Those Runs used an earlier local candidate, not this head. They do not prove recovery/resume on this head, provider-side billing, or success on the other curated Chat Completions models.
A captured passing credential-Test result is still unavailable. Messages and Responses have no successful real-provider acceptance and are excluded from new preset admission. No credential was read or tested, no real model request or paid Session was created, and no deployment was performed in this review follow-up.
Impact and rollback
Provider/model admission and internal proxy/usage behavior change; the versioned Public API shape is unchanged. No DB migration or stored-data rewrite is included. Go subscription accounting and overage policy remain upstream responsibilities.
Revert the provider/proxy changes if necessary, but retain read compatibility for persisted
native_step_totalsusage values and already-admitted Session configuration. A deployment rollback must not discard persisted source-enum compatibility. No production deployment is requested here.Design
N/A: no console layout change.