include all prime inference models - #272
Conversation
ENG-4259 Include all Prime Inference models
Don't whitelist models, support all Prime Inference models |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c151174. Configure here.
| ): Model<"openai-completions"> { | ||
| // Precedence: curated override → OpenRouter metadata → catalog → default. | ||
| const contextWindow = | ||
| override?.contextWindow ?? orMeta?.contextWindow ?? entry.contextWindow ?? PRIME_INFERENCE_DEFAULT_CONTEXT_WINDOW; |
There was a problem hiding this comment.
Sonnet 4 wrong context window
Medium Severity
Registering the full Prime catalog adds anthropic/claude-sonnet-4, but it has no entry in PRIME_INFERENCE_MODEL_METADATA, so createPrimeInferenceModel takes contextWindow from OpenRouter (1M). Other proxied Anthropic Sonnet/Opus entries are capped at 200k; the PR notes over-declaring the window breaks context budgeting.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit c151174. Configure here.
- Add src/core/sdk.ts with createAgentSession() factory and discovery functions - Update loaders to accept cwd/agentDir parameters (skills, hooks, custom-tools, slash-commands, system-prompt) - Export SDK from package index Addresses PrimeIntellect-ai#272
- createAgentSession() factory with full control - SessionManager/SettingsManager static factories - Project-specific settings support - 12 examples and comprehensive docs Fixes PrimeIntellect-ai#272
…age, self-review Appends the second half of the session to the notes: implementing PrimeIntellect-ai#272 after the operator corrected two access assumptions. The corrections matter more than the code: - push DOES work; "I cannot push" was inferred from add_repo's access label rather than tested. A dry-run push proved it. Also: the refspec push form is classifier-denied while `git push -u origin <branch>` succeeds. - this host is not the MacBook (uname, no /Users, no ~/.prime). Also records the environment setup the Makefile assumes (venv before v2-install, ruff 0.15.22 via python -m, seeding the gitignored account.yaml, and proving PYTHONPATH beats editable installs in a worktree), the method that diagnosed the repo-wide CI outage in two calls (zero recorded steps, then the same workflow red on main), and two test defects self-review caught before pushing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6
…rimeIntellect-ai#271 remains Closes the record for this session. - All five briefed PRs merged (PrimeIntellect-ai#268, PrimeIntellect-ai#263, PrimeIntellect-ai#270, PrimeIntellect-ai#269, PrimeIntellect-ai#273); main is c84855d. Issues PrimeIntellect-ai#266 and PrimeIntellect-ai#272 closed by their PRs. PrimeIntellect-ai#271 is the only open brief and was never authorised, so never started. Runtime testing is unblocked. - The CI outage (13:51Z-15:47Z) was account-level and hit main identically; recovery was visible as `changes` taking 9s with real steps instead of 2s with none. Nothing in the diff ever needed changing. - Records the scope misjudgement worth carrying forward: a Codex P1 mapped directly to an acceptance checkbox I had deferred as out of scope. When a finding maps to an acceptance criterion it is in scope by definition. - Records the auto-merge hazard: squash composes the commit message from the PR body, so a body left stale after a review round writes false claims into main permanently. Rewrite the body before merge; keep corrections visible. - Records a published test claim that had not been executed, and the rule that follows from it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6
…e-notes lesson (#13) * docs(spx-v2): verification pass, queue state, and self-refinement record No code written this session — a verification pass over already-delivered work plus the queue-state answer. Records, so future sessions do not repeat them: - The audit-challenge / V1-coverage / rag-tot-cot-challenge / corrected-input deliverable ALREADY EXISTS (AUDIT_CHALLENGE sections A-D and PRIME_AGENT_INPUT_SPX_V2). An operator prompt has now asked for it in at least two sessions; redoing it is inventing work. - Verified queue state from GitHub: PrimeIntellect-ai#266/PR PrimeIntellect-ai#268 merged (and PrimeIntellect-ai#263 with it, now main f64029a); PrimeIntellect-ai#265/PR PrimeIntellect-ai#269 and PrimeIntellect-ai#264/PR PrimeIntellect-ai#270 open with CI in flight; PrimeIntellect-ai#272 and PrimeIntellect-ai#271 filed, unstarted, no lane. - Errors and corrections: settle elapsed time from GitHub workflow-run timestamps, never the container clock; add_repo push access was classifier-denied so a remote session may hold read-only and cannot push; register_repo_root denial falls back to reading CLAUDE.md directly. - MATS/superpowers/routing settled empirically with the exact commands used, so the search is not repeated: they are Mac-harness resident, and PrimeIntellect-ai#272/PrimeIntellect-ai#271 already carry auto-dispatch, which is what routes them to the maker fleet. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6 * docs(spx-v2): implementation-session addendum — access, setup, CI outage, self-review Appends the second half of the session to the notes: implementing PrimeIntellect-ai#272 after the operator corrected two access assumptions. The corrections matter more than the code: - push DOES work; "I cannot push" was inferred from add_repo's access label rather than tested. A dry-run push proved it. Also: the refspec push form is classifier-denied while `git push -u origin <branch>` succeeds. - this host is not the MacBook (uname, no /Users, no ~/.prime). Also records the environment setup the Makefile assumes (venv before v2-install, ruff 0.15.22 via python -m, seeding the gitignored account.yaml, and proving PYTHONPATH beats editable installs in a worktree), the method that diagnosed the repo-wide CI outage in two calls (zero recorded steps, then the same workflow red on main), and two test defects self-review caught before pushing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6 * docs(spx-v2): final queue state — PrimeIntellect-ai#273 merged, only PrimeIntellect-ai#271 remains Closes the record for this session. - All five briefed PRs merged (PrimeIntellect-ai#268, PrimeIntellect-ai#263, PrimeIntellect-ai#270, PrimeIntellect-ai#269, PrimeIntellect-ai#273); main is c84855d. Issues PrimeIntellect-ai#266 and PrimeIntellect-ai#272 closed by their PRs. PrimeIntellect-ai#271 is the only open brief and was never authorised, so never started. Runtime testing is unblocked. - The CI outage (13:51Z-15:47Z) was account-level and hit main identically; recovery was visible as `changes` taking 9s with real steps instead of 2s with none. Nothing in the diff ever needed changing. - Records the scope misjudgement worth carrying forward: a Codex P1 mapped directly to an acceptance checkbox I had deferred as out of scope. When a finding maps to an acceptance criterion it is in scope by definition. - Records the auto-merge hazard: squash composes the commit message from the PR body, so a body left stale after a review round writes false claims into main permanently. Rewrite the body before merge; keep corrections visible. - Records a published test claim that had not been executed, and the rule that follows from it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6 * docs(spx-v2): correct the queue state — the last brief landed while idle Records, without editing the now-false text away, that sections 9 and 4 went stale five hours after they were written. The correction matters more than the content: this file exists to stop sessions trusting notes over GitHub, and it caught its own author. - main is 8d2139c. Between 16:12Z and 21:54Z the fleet merged PrimeIntellect-ai#279 (the PrimeIntellect-ai#58 alert-bridge race, FIXED — stop carrying it as a standing exception), PrimeIntellect-ai#278 (AGENTS.md invariants), PrimeIntellect-ai#283 (repo cleanup), and PrimeIntellect-ai#284, which delivered the last brief and closed PrimeIntellect-ai#165 with a keyword. - Section 3's routing conclusion was confirmed by events: PrimeIntellect-ai#271 was delivered by the Mac maker fleet via auto-dispatch, exactly as argued, and the remote session correctly declined to open a second lane. - Flags issue-state drift: PrimeIntellect-ai#271, PrimeIntellect-ai#276 and PrimeIntellect-ai#274 are delivered and merged yet still open, because a title reference is not a closing keyword. That is the mirror image of the hazard the V2 CLAUDE.md documents, and it leaves open-work disagreeing with main. Operator action, named as such. - Records the residual PrimeIntellect-ai#284 deferred on stated grounds (PrimeIntellect-ai#286), which is a known open edge on the LIVE path. - States the next slice: S4 / PrimeIntellect-ai#236, the first whose exit criteria need a real broker order. Certification stays 0/12; the system has never placed a trade. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6 --------- Co-authored-by: Claude <noreply@anthropic.com>
…pshots (#14) The orchestration folder had grown five point-in-time documents, three of which asserted a queue state main had moved past — including a table calling PrimeIntellect-ai#271 and PrimeIntellect-ai#272 "NOT STARTED" after both had merged, and one file whose own addendum contradicted its body. That is actively misleading to any reader, human or model, and it is the opposite of what these documents are for. Removed (git history keeps them; nothing referenced them): - SESSION_NOTES_2026-08-29_QUEUE_266_265_264.md — every row now false - SESSION_NOTES_2026-08-29_VERIFICATION_AND_QUEUE_STATE.md — self-contradicting - SESSION_LEARNINGS_2026-08-28.md — date-stamped; content folded into LESSONS.md Added: - STATE.md — short, current, maintained. Says GitHub outranks it and that a disagreement means this file is stale. Carries slice status, the three things only the operator can do, and the facts that keep getting re-derived. - LESSONS.md — the durable, non-time-bound lessons from all three removed files, deduplicated. Explicitly does not keep session snapshots. Updated: - PRIME_AGENT_INPUT_SPX_V2.md — status banner: still the input of record, but its section 2 ground truth is dated and S0-S3 are merged. - AUDIT_CHALLENGE_2026-08-28.md — marked a frozen historical record, with why it is kept and which sections still answer live questions. Net: five files to four, 921 lines to 623, and nothing left that contradicts main. All internal links verified to resolve. Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6 Co-authored-by: Claude <noreply@anthropic.com>


Note
Medium Risk
Wrong context/max-token metadata can mislead the context bar or cause request failures, though overrides and conservative defaults reduce that risk; the generated model surface area grows substantially for Prime Inference.
Overview
Prime Inference moves from a whitelist of ~28 models to registering every catalog entry the API returns (raw/duplicate IDs filtered out), so the model picker can surface models that were previously omitted.
generate-models.tsnow builds an OpenRouter metadata index and passes it intofetchPrimeInferenceModels. For each catalog row, context window, max tokens, and vision resolve in order: curated overrides (e.g. Anthropic capped at 200k without the 1M beta) → OpenRouter → catalog fields → conservative defaults (128k / 8192). Reasoning still uses the existing id/heuristic rather than OpenRouter’s flag.Duplicate/noisy catalog IDs are skipped via
isPrimeInferenceRawVariant(-BF16,zai-org/, uppercase vendor prefixes). Tests assert a larger catalog, OpenRouter-sourced metadata for non-curated models, and that filtered variants stay out.models.generated.tsis regenerated: a largeprime-inferencesection plus routine upstream tweaks (Bedrock EU costs, Fireworks/OpenRouter/Vercel gateway/opencode-go entries, etc.).Reviewed by Cursor Bugbot for commit c151174. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Include all Prime Inference catalog models instead of a curated whitelist
fetchPrimeInferenceModelswith a full catalog fetch, filtering only raw variants (e.g.-bf16suffix) and duplicate vendor-prefixed aliases viaisPrimeInferenceRawVariant.buildOpenRouterMetadataIndexto cross-reference OpenRouter metadata for context window, max tokens, and vision flags, with curated overrides taking precedence over OpenRouter, which takes precedence over catalog fields and then hardcoded defaults (128k / 8192).Macroscope summarized c151174.