Repository navigation
feat(t27os): NVIDIA profile for OpenCode panes in the key master (Refs #12983) - #12986
Conversation
…outside the chain (Refs #12983) PR_NVIDIA sits above the four chain profiles; agent_profile_ok_stored admits it for OpenCode only while an NVIDIA key is stored. The inline config names provider nvidia alone (enabled_providers), holds the key by reference and no model id. Tests pin key present/absent, paid provider, unknown profile and the key-free config text. Refs #12975, #12977. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
CI triage at head eb81675: the two red checks are inherited from master, not from this change (it touches specs/t27os/keys.t27 only).
Nothing pushed for these two. 🤖 Generated with Claude Code |
|
Triage of the third CI wave on this PR (head eb81675). This PR changes only specs/t27os/keys.t27. Caused by this PR (1):
Not caused by this PR (2):
No fix was pushed for these two. Refs #12983 🤖 Generated with Claude Code |
PR DashboardGenerated at: 2026-10-31 08:56:35 UTC
Summary
Seal Status
|
|
Triage of the fourth CI wave on this PR (head a4061dc = master 5550045 merged into the branch). This PR changes only specs/t27os/keys.t27. No fix was pushed. Caused by this PR (1 seal, shown by 2 checks):
Not caused by this PR (the same checks fail on master tip 5550045):
Refs #12983 🤖 Generated with Claude Code |
…12983) One seal file. Saved with the post-#12824 t27c at ~/t27-lanes/t27c-bc19b54e6 (base bc19b54), on the owner's word for exactly one save, run from a shell cell. The spec hash and the four generated-code hashes now describe keys.t27 at this head; tests 115 -> 117. Refs #12983 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
PR DashboardGenerated at: 2026-10-31 09:17:54 UTC
Summary
Seal Status
|
|
Triage of the sixth CI wave on this PR (head 25ff6dd, the T27osKeys seal re-save). No fix was pushed. Caused by this PR: nothing left. Still red, all the same on master tip (not caused by this PR, nothing blessed):
The PR stays a draft. Nothing here needs a change in specs/t27os/keys.t27. Refs #12983 🤖 Generated with Claude Code |
PR DashboardGenerated at: 2026-10-31 13:22:33 UTC
Summary
Seal Status
|
Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
PR DashboardGenerated at: 2026-11-09 22:06:28 UTC
Summary
Seal Status
|
Refs #12983 (part of #12975; the lane law is draft PR #12977). Not a closing PR: the runtime success criterion (a pane answering one probe) is not done here.
What changed (specs/t27os/keys.t27 only)
PR_NVIDIA = 4, deliberately ABOVE the four chain profiles. Every table indexed byPROFILE_COUNT(names, tiers, models, base URLs, chain walk, Claude pane) is untouched; a test pinsPR_NVIDIA == PROFILE_COUNT, so growing the tables is a decision, not a collision.agent_profile_ok(a, pr):PR_NVIDIAis OpenCode-only (kind check, as before no key in sight).agent_profile_ok_stored(a, pr, stored): the NVIDIA profile starts only while an NVIDIA key row exists (bitP_NVIDIA). A key of any other provider, a paid one included, never stands in. Unknown profile or agent: no.opencode_config(PR_NVIDIA, 0, out): one inline config naming providernvidiaalone (enabled_providers:["nvidia"]), the base URL, and the key by reference ({env:NVIDIA_API_KEY}). NO model id and no model table: the host takes ids from the live listing; a listed model is not an entitlement (access-map 2026-10-26: listing 200, chat 403). Step != 0 returns 0.profile_provider(pr)(new) backsagent_var_name, soPROFILE_PROVIDER[pr]is never indexed out of range;oai_base_urlanswersPR_NVIDIA.Deviation from the issue text (FR-001)
agent_profile_ok(a, pr)has no stored-mask parameter, and adding one would force edits inpty_logic.t27, outside the boundary. So the kind check stays inagent_profile_okand the keyed gate isagent_profile_ok_stored.Receipts
t27c check specs/t27os/keys.t27-> Typecheck OK (0 errors, 1 warning, the same one as on master). Added lines are ASCII; no key value ornvapistring in the spec; lefthook foreign-budget, own-language and gitleaks passed on commit and push.test-reportand the tests themselves (no heavy runs on the Mac; CI is the lab). No probe was run and no key was used.specs/t27os/opencode_free.t27in draft PR feat(t27os): OpenCode free pool as a second executor, law in .t27 (Refs #12975) #12977.Follow-ups outside the boundary
pty_logic.t27: the< PROFILE_COUNTguards (about lines 741 and 1060) and the spawn path must useagent_profile_ok_storedandPR_NVIDIA;pty_server.t27wiring.AGENT_STRIPSshould addNVIDIA_API_KEY;AGENT_PROVIDERS[3]needs the OpenCode bit for nvidia.opencode_free.t27deciding admission.🤖 Generated with Claude Code
Note
Low Risk
Spec-only decisions in
keys.t27with tests; no runtime spawn or key handling changed in this PR.Overview
Adds
PR_NVIDIAas a fifth pane profile inspecs/t27os/keys.t27, wired into the existingPROFILE_COUNTtables (name, tier, provider bitP_NVIDIA, OpenAI base URL) so OpenCode—not Claude/Crush—can target integrate.api.nvidia.com.Admission splits into
agent_profile_ok(agent/kind only) and newagent_profile_ok_stored, which allows the NVIDIA profile only when an NVIDIA key row is present; other providers’ keys do not substitute.opencode_configforPR_NVIDIAemits a minimal inlineOPENCODE_CONFIG_CONTENT: singlenvidiaprovider, base URL, and{env:NVIDIA_API_KEY}—no baked-in model id (host picks from live listings). Newprofile_providerkeepsPROFILE_PROVIDERindexing safe for helpers likeagent_var_nameandoai_base_url.Includes tests for stored-key gating and config shape. Runtime spawn/probe wiring (
pty_logic.t27, strips) is explicitly out of scope here.Reviewed by Cursor Bugbot for commit 288e059. Bugbot is set up for automated code reviews on this repo. Configure here.