Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
776 changes: 421 additions & 355 deletions bun.lock

Large diffs are not rendered by default.

102 changes: 51 additions & 51 deletions config/pi/models.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"api": "openai-responses",
"models": [
{
"id": "gpt-5.2-codex",
"name": "GPT-5.2 Codex [ChatGPT Pro]",
"id": "gpt-5.3-codex",
"name": "GPT 5.3 Codex [ChatGPT Pro]",
"reasoning": true,
"input": [
"text",
Expand All @@ -24,7 +24,7 @@
},
{
"id": "gpt-5.2",
"name": "GPT-5.2 [ChatGPT Pro]",
"name": "GPT 5.2 [ChatGPT Pro]",
"reasoning": true,
"input": [
"text",
Expand All @@ -40,60 +40,26 @@
"maxTokens": 128000
},
{
"id": "gpt-5.1-codex-max",
"name": "GPT-5.1 Codex Max [ChatGPT Pro]",
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"cacheWrite": 0
},
"contextWindow": 400000,
"maxTokens": 128000
},
{
"id": "gpt-5.1-codex",
"name": "GPT-5.1 Codex [ChatGPT Pro]",
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"cacheWrite": 0
},
"contextWindow": 400000,
"maxTokens": 128000
},
{
"id": "gpt-5.1",
"name": "GPT-5.1 [ChatGPT Pro]",
"id": "gemini-3-pro-preview",

@cubic-dev-ai cubic-dev-ai Bot Mar 13, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: config/pi/models.json is out of sync with the source of truth in models.json. This should be gemini-3.1-pro-preview (matching models.json), not gemini-3-pro-preview. The same issue applies to gemini-flash below (gemini-3-flash-previewgemini-3.1-flash-preview) and gpt (gpt-5.2gpt-5.4). It looks like scripts/llm-update.sh wasn't re-run after updating models.json to propagate the template substitutions.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At config/pi/models.json, line 43:

<comment>`config/pi/models.json` is out of sync with the source of truth in `models.json`. This should be `gemini-3.1-pro-preview` (matching `models.json`), not `gemini-3-pro-preview`. The same issue applies to `gemini-flash` below (`gemini-3-flash-preview` → `gemini-3.1-flash-preview`) and `gpt` (`gpt-5.2` → `gpt-5.4`). It looks like `scripts/llm-update.sh` wasn't re-run after updating `models.json` to propagate the template substitutions.</comment>

<file context>
@@ -40,60 +40,26 @@
-        {
-          "id": "gpt-5.1",
-          "name": "GPT-5.1 [ChatGPT Pro]",
+          "id": "gemini-3-pro-preview",
+          "name": "Gemini 3 Pro",
           "reasoning": true,
</file context>
Suggested change
"id": "gemini-3-pro-preview",
"id": "gemini-3.1-pro-preview",
Fix with Cubic

"name": "Gemini 3 Pro",
Comment on lines 26 to +44
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 400000,
"maxTokens": 128000
"contextWindow": 1000000,
"maxTokens": 65536
},
{
"id": "gemini-3-pro-preview",
"name": "Gemini 3.0 Pro Preview",
"reasoning": true,
"id": "gemini-3-flash-preview",
"name": "Gemini 3 Flash",
"reasoning": false,
"input": [
"text",
"image"
Expand All @@ -108,8 +74,8 @@
"maxTokens": 65536
},
{
"id": "claude-opus-4-5-20251101",
"name": "Claude Opus 4.5",
"id": "claude-opus-4-6",
"name": "Claude Opus 4.6",
"reasoning": true,
"input": [
"text",
Comment on lines +77 to 81

@cubic-dev-ai cubic-dev-ai Bot Mar 13, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The new claude-opus-4-6 entry still uses stale pricing and a 32K output limit instead of Opus 4.6's current specs.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At config/pi/models.json, line 77:

<comment>The new `claude-opus-4-6` entry still uses stale pricing and a 32K output limit instead of Opus 4.6's current specs.</comment>

<file context>
@@ -108,8 +74,8 @@
         {
-          "id": "claude-opus-4-5-20251101",
-          "name": "Claude Opus 4.5",
+          "id": "claude-opus-4-6",
+          "name": "Claude Opus 4.6",
           "reasoning": true,
</file context>
Fix with Cubic

Expand All @@ -125,7 +91,24 @@
"maxTokens": 32000
},
{
"id": "claude-haiku-4-5-20251101",
"id": "claude-sonnet-4-6",
"name": "Claude Sonnet 4.6",
"reasoning": false,
"input": [
"text",
"image"
],
"cost": {
"input": 3,
"output": 15,
"cacheRead": 0.3,
"cacheWrite": 3.75
},
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "claude-haiku-4-5-20251001",
"name": "Claude Haiku 4.5",
"reasoning": false,
"input": [
Expand All @@ -141,9 +124,26 @@
"contextWindow": 200000,
"maxTokens": 8192
},
{
"id": "minimax-m2.5",
"name": "Minimax M2.5",
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 1000000,
"maxTokens": 40960
},
{
"id": "glm-4.7",
"name": "glm-4.7 (Z-AI)",
"name": "GLM 4.7 (Z-AI)",
"reasoning": false,
"input": [
"text"
Expand Down
186 changes: 186 additions & 0 deletions config/pi/models.tpl.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
{
"providers": {
"cli-proxy-api": {
"baseUrl": "http://localhost:8317/v1",
"apiKey": "CLIPROXY_API_KEY",
"api": "openai-responses",
"models": [
{
"id": "__GPT_CODEX__",
"name": "__GPT_CODEX_PRETTY__ [ChatGPT Pro]",
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"cacheWrite": 0
},
"contextWindow": 400000,
"maxTokens": 128000
},
{
"id": "__GPT__",

@cubic-dev-ai cubic-dev-ai Bot Mar 13, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Regenerate and commit config/pi/models.json with this template; Pi still loads the generated file directly, so these placeholder model IDs have no runtime effect yet.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At config/pi/models.tpl.json, line 26:

<comment>Regenerate and commit `config/pi/models.json` with this template; Pi still loads the generated file directly, so these placeholder model IDs have no runtime effect yet.</comment>

<file context>
@@ -0,0 +1,186 @@
+          "maxTokens": 128000
+        },
+        {
+          "id": "__GPT__",
+          "name": "__GPT_PRETTY__ [ChatGPT Pro]",
+          "reasoning": true,
</file context>
Fix with Cubic

"name": "__GPT_PRETTY__ [ChatGPT Pro]",
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"cacheWrite": 0
},
"contextWindow": 400000,
"maxTokens": 128000
},
{
"id": "__GEMINI_PRO__",
"name": "__GEMINI_PRO_PRETTY__",
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 1000000,
"maxTokens": 65536
},
{
"id": "__GEMINI_FLASH__",
"name": "__GEMINI_FLASH_PRETTY__",
"reasoning": false,
"input": [
"text",
"image"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 1000000,
"maxTokens": 65536
},
{
"id": "__CLAUDE_OPUS__",
"name": "__CLAUDE_OPUS_PRETTY__",
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 15,
"output": 75,
"cacheRead": 1.5,
"cacheWrite": 18.75
},
"contextWindow": 200000,
"maxTokens": 32000
},
{
"id": "__CLAUDE_SONNET__",
"name": "__CLAUDE_SONNET_PRETTY__",
"reasoning": false,
"input": [
"text",
"image"
],
"cost": {
"input": 3,
"output": 15,
"cacheRead": 0.3,
"cacheWrite": 3.75
},
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "__CLAUDE_HAIKU__",
"name": "__CLAUDE_HAIKU_PRETTY__",
"reasoning": false,
"input": [
"text",
"image"
],
"cost": {
"input": 1,
"output": 5,
"cacheRead": 0.1,
"cacheWrite": 1.25
},
"contextWindow": 200000,
"maxTokens": 8192
},
{
"id": "__MINIMAX__",
"name": "__MINIMAX_PRETTY__",
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 1000000,
"maxTokens": 40960
},
{
"id": "__GLM__",
"name": "__GLM_PRETTY__ (Z-AI)",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 131072,
"maxTokens": 16384
}
]
},
"openrouter-preset": {
"baseUrl": "https://openrouter.ai/api/v1",
"apiKey": "OPENROUTER_API_KEY",
"api": "openai-completions",
"models": [
{
"id": "@preset/glm-4-7",
"name": "GLM-4.7 (Z-AI)",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 131072,
"maxTokens": 16384
}
]
}
}
}
3 changes: 3 additions & 0 deletions config/pi/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
"reserveTokens": 16384,
"keepRecentTokens": 20000
},
"packages": [
"https://github.com/davebcn87/pi-autoresearch"

@cubic-dev-ai cubic-dev-ai Bot Mar 13, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Pin this git package to a specific tag or commit instead of tracking the repository's moving default branch.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At config/pi/settings.json, line 25:

<comment>Pin this git package to a specific tag or commit instead of tracking the repository's moving default branch.</comment>

<file context>
@@ -21,6 +21,9 @@
     "keepRecentTokens": 20000
   },
+  "packages": [
+    "https://github.com/davebcn87/pi-autoresearch"
+  ],
   "skills": [],
</file context>
Fix with Cubic

],
"skills": [],
"retry": {
"enabled": true,
Expand Down
4 changes: 2 additions & 2 deletions home-manager/programs/fish/functions/_coxe_function.fish
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ function _coxe_function --description "Run Codex with a free-form prompt"
# Usage: cxe [<prompt words...>]

if test (count $argv) -eq 0
codex --model 'gpt-5.2-codex' --full-auto -c model_reasoning_summary_format=experimental
codex --model 'gpt-5.3-codex' --full-auto -c model_reasoning_summary_format=experimental
else
set -l prompt (string join " " -- $argv)
codex exec --model 'gpt-5.2-codex' --full-auto -c model_reasoning_summary_format=experimental -- "$prompt"
codex exec --model 'gpt-5.3-codex' --full-auto -c model_reasoning_summary_format=experimental -- "$prompt"
end
end
11 changes: 11 additions & 0 deletions home-manager/programs/fish/functions/_coxe_function.tpl.fish
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
function _coxe_function --description "Run Codex with a free-form prompt"
# Run Codex with a free-form prompt (spaces allowed)
# Usage: cxe [<prompt words...>]

if test (count $argv) -eq 0
codex --model '__GPT_CODEX__' --full-auto -c model_reasoning_summary_format=experimental
else
set -l prompt (string join " " -- $argv)
codex exec --model '__GPT_CODEX__' --full-auto -c model_reasoning_summary_format=experimental -- "$prompt"
end
end
2 changes: 1 addition & 1 deletion home-manager/programs/fish/functions/_coxeh_function.fish
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ function _coxeh_function --description "Run Codex headlessly with a prompted inp
return 1
end

codex exec --model 'gpt-5.2-codex' --full-auto -c model_reasoning_summary_format=experimental -- "$prompt"
codex exec --model 'gpt-5.3-codex' --full-auto -c model_reasoning_summary_format=experimental -- "$prompt"
end
12 changes: 12 additions & 0 deletions home-manager/programs/fish/functions/_coxeh_function.tpl.fish
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
function _coxeh_function --description "Run Codex headlessly with a prompted input"
# Prompt for input and run Codex
# Usage: coxeh

read -P "Prompt: " prompt
if test -z "$prompt"
echo "No prompt provided, aborting." >&2
return 1
end

codex exec --model '__GPT_CODEX__' --full-auto -c model_reasoning_summary_format=experimental -- "$prompt"
end
Loading
Loading