Add bounded WVS priority API manifest

Co-Authored-By: PI[gpt-5.6-terra] <288921227+claudypoo@users.noreply.github.com>
This commit is contained in:
wassname
2026-09-17 09:54:41 +08:00
co-authored by PI[gpt-5.6-terra]
parent 779cdb2fe0
commit db0ef75c09
2 changed files with 281 additions and 0 deletions
+185
View File
@@ -0,0 +1,185 @@
"""Generate the saved-catalog manifest for the next bounded WVS API phase."""
from __future__ import annotations
import json
from datetime import UTC, datetime
from decimal import Decimal
from pathlib import Path
CATALOG = Path("slop/research/wvs/20260917_openrouter_models.json")
MAP = Path("docs/wvs/wvs_map_data.json")
LEDGER = Path("slop/research/wvs/20260916_openrouter/wvs_iw_requests.jsonl")
OUT = Path("slop/research/wvs/20260917_priority_phase_manifest.md")
CALLS_PER_MODEL = 12 * 12
PHASE_STOP_USD = Decimal("35")
GLOBAL_STOP_USD = Decimal("80")
FAMILY_PREFIX = {
"claude": "anthropic/", "deepseek": "deepseek/", "gemini": "google/",
"gemma": "google/", "glm": "z-ai/", "gpt": "openai/", "grok": "x-ai/",
"inkling": "thinkingmachines/", "kimi": "moonshotai/", "llama": "meta-llama/",
"mistral": "mistralai/", "muse": "meta/", "qwen": "qwen/",
}
def displayed_id(model: dict[str, object]) -> str:
return FAMILY_PREFIX[model["family"]] + model["name"]
def date(model: dict[str, object]) -> str:
return datetime.fromtimestamp(model["created"], UTC).date().isoformat()
def price_per_million(model: dict[str, object], key: str) -> Decimal:
return Decimal(model["pricing"][key]) * 1_000_000
def supports_structured(model: dict[str, object]) -> bool:
return "structured_outputs" in model["supported_parameters"]
def row(model: dict[str, object], rationale: str) -> str:
completion_bound = price_per_million(model, "completion") * Decimal(CALLS_PER_MODEL * 1024) / 1_000_000
return (
f"| `{model['id']}` | {date(model)} | {price_per_million(model, 'prompt'):g} | "
f"{price_per_million(model, 'completion'):g} | {'yes' if supports_structured(model) else 'no'} | "
f"USD {completion_bound:.4f} | {rationale} |"
)
def ledger_cost() -> Decimal:
cost = Decimal()
for line in LEDGER.read_text().splitlines():
event = json.loads(line)
if event["event"] == "request_completed":
cost += Decimal(str(event["usage"]["cost"]))
return cost
def main() -> None:
catalog = {model["id"]: model for model in json.loads(CATALOG.read_text())["data"]}
plotted = {displayed_id(model) for model in json.loads(MAP.read_text())["models"]}
def eligible(model: dict[str, object]) -> bool:
return (
not model["id"].endswith((":batch", ":free"))
and supports_structured(model)
and price_per_million(model, "completion") <= Decimal("15")
)
openai = [
model for model in catalog.values()
if model["id"].startswith("openai/")
and eligible(model)
and model["id"] not in plotted
and "-pro" not in model["id"]
and "fast" not in model["id"]
and not any(word in model["id"] for word in ("codex", "image", "audio", "safeguard"))
and model["id"] != "openai/gpt-chat-latest"
and model["id"] not in {"openai/gpt-4o-2024-05-13", "openai/gpt-4o-mini-2024-07-18"}
]
google = [
model for model in catalog.values()
if model["id"].startswith("google/gemini")
and eligible(model)
and model["id"] not in plotted
and "-pro" not in model["id"]
and "fast" not in model["id"]
and not any(word in model["id"] for word in ("image", "customtools"))
]
explicit = [
"x-ai/grok-4.6", "x-ai/grok-4.5", "google/gemma-4-26b-a4b-it",
"meta/muse-spark-1.2", "meta/muse-spark-1.1",
]
selected_ids = [model["id"] for model in openai + google] + explicit
selected = [catalog[model_id] for model_id in dict.fromkeys(selected_ids)]
if set(selected_ids) & plotted:
raise ValueError("priority manifest includes a plotted ID")
if not all(eligible(model) for model in selected):
raise ValueError("priority manifest includes an ineligible catalog entry")
deferred_ids = [
"qwen/qwen3.8-max-0902", "qwen/qwen3.8-2.4t-a95b", "z-ai/glm-5.3-flash",
"mistralai/mistral-medium-3-5", "mistralai/mistral-small-2603",
"mistralai/ministral-14b-2512", "mistralai/ministral-8b-2512",
"mistralai/ministral-3b-2512",
]
deferred = [catalog[model_id] for model_id in deferred_ids]
total_completion_bound = sum(
price_per_million(model, "completion") * Decimal(CALLS_PER_MODEL * 1024) / 1_000_000
for model in selected
)
spend = ledger_cost()
lines = [
"# WVS priority API phase manifest, 2026-09-17",
"",
"This exact manifest is generated from the saved 444-record OpenRouter catalog snapshot, not a fresh paid request. It authorizes no calls by itself.",
"",
"## Guards",
"",
f"- A complete panel is {CALLS_PER_MODEL} initial calls, 12 items x 12 samples.",
f"- Existing ledger spend is USD {spend:.10f}; the global stop remains USD {GLOBAL_STOP_USD}.",
f"- This priority phase stops before USD {PHASE_STOP_USD} of new observed provider cost, even if the manifest has remaining models.",
f"- Sum of 1024-token completion-only ceilings for all listed priority panels is USD {total_completion_bound:.4f}. This excludes prompt tokens and rescues, so it is not a spend authorization or a cost prediction.",
"- Before every model, read cumulative `usage.cost` from the append-only ledger. Do not start a request whose conservative remaining cost could pass the phase or global stop.",
"- A panel is publishable only as one exact protocol/run with 144 distinct item/sample keys. Never merge the two old incomplete Grok 4.5 attempts.",
"",
"## Required first diagnostic",
"",
"Run only this panel before any other manifest model. Audit repeats, parser outcomes, rescues, refusals, cache replay and provider cost before dispatching the priority batch.",
"",
"| exact ID | created UTC | input USD/M | output USD/M | structured | completion-only 144x1024 ceiling | rationale |",
"|---|---:|---:|---:|---|---:|---|",
row(catalog["openai/gpt-5-nano"], "required cheapest new 144-call diagnostic"),
"",
"## Priority manifest after diagnostic pass",
"",
"The order is Grok, OpenAI, Google, then the requested Muse points. `Flash` entries are retained because the user excluded `Fast`, not `Flash`.",
"",
"| exact ID | created UTC | input USD/M | output USD/M | structured | completion-only 144x1024 ceiling | rationale |",
"|---|---:|---:|---:|---|---:|---|",
]
diagnostic = catalog["openai/gpt-5-nano"]
if diagnostic not in openai:
raise ValueError("the required diagnostic is not eligible")
groups = [
("Grok", [catalog["x-ai/grok-4.6"], catalog["x-ai/grok-4.5"]]),
("OpenAI", [model for model in sorted(openai, key=lambda model: (-model["created"], model["id"])) if model["id"] != diagnostic["id"]]),
("Google", sorted(google + [catalog["google/gemma-4-26b-a4b-it"]], key=lambda model: (-model["created"], model["id"]))),
("Muse", [catalog["meta/muse-spark-1.2"], catalog["meta/muse-spark-1.1"]]),
]
for name, models in groups:
lines.append(f"| **{name}** | | | | | | |")
for model in models:
rationale = "clean new full attempt" if model["id"] == "x-ai/grok-4.5" else "new direct panel"
lines.append(row(model, rationale))
lines.extend([
"",
"## Deferred approved shortlist",
"",
"These remain eligible only after the priority phase has a passing diagnostic and remaining observed budget. They are not queued by this manifest.",
"",
"| exact ID | created UTC | input USD/M | output USD/M | structured | completion-only 144x1024 ceiling | rationale |",
"|---|---:|---:|---:|---|---:|---|",
])
for model in deferred:
lines.append(row(model, "deferred Qwen/GLM/Mistral shortlist"))
lines.extend([
"",
"## Exclusions checked",
"",
"- Already complete/plotted direct IDs, including Grok 4.3 and 4.20, are excluded.",
"- `:batch` and `:free` routes, `Pro` and `Fast` IDs, output prices above USD 15/M, and code/image/audio/safeguard/multi-agent variants are excluded.",
"- `x-ai/grok-4.4` remains absent from the saved catalog.",
"- `qwen/qwen3.5-flash-02-23` and the prior Grok 4.5 records are retained as incomplete evidence, not plotted or merged.",
"",
"-- PI[gpt-5.6-terra]",
])
OUT.write_text("\n".join(lines) + "\n")
print(f"wrote {OUT}: {len(selected)} priority models, {len(deferred)} deferred models, {CALLS_PER_MODEL * len(selected)} expected initial calls")
if __name__ == "__main__":
main()
@@ -0,0 +1,96 @@
# WVS priority API phase manifest, 2026-09-17
This exact manifest is generated from the saved 444-record OpenRouter catalog snapshot, not a fresh paid request. It authorizes no calls by itself.
## Guards
- A complete panel is 144 initial calls, 12 items x 12 samples.
- Existing ledger spend is USD 3.5908606724; the global stop remains USD 80.
- This priority phase stops before USD 35 of new observed provider cost, even if the manifest has remaining models.
- Sum of 1024-token completion-only ceilings for all listed priority panels is USD 28.6138. This excludes prompt tokens and rescues, so it is not a spend authorization or a cost prediction.
- Before every model, read cumulative `usage.cost` from the append-only ledger. Do not start a request whose conservative remaining cost could pass the phase or global stop.
- A panel is publishable only as one exact protocol/run with 144 distinct item/sample keys. Never merge the two old incomplete Grok 4.5 attempts.
## Required first diagnostic
Run only this panel before any other manifest model. Audit repeats, parser outcomes, rescues, refusals, cache replay and provider cost before dispatching the priority batch.
| exact ID | created UTC | input USD/M | output USD/M | structured | completion-only 144x1024 ceiling | rationale |
|---|---:|---:|---:|---|---:|---|
| `openai/gpt-5-nano` | 2025-08-07 | 0.05000000 | 0.4000000 | yes | USD 0.0590 | required cheapest new 144-call diagnostic |
## Priority manifest after diagnostic pass
The order is Grok, OpenAI, Google, then the requested Muse points. `Flash` entries are retained because the user excluded `Fast`, not `Flash`.
| exact ID | created UTC | input USD/M | output USD/M | structured | completion-only 144x1024 ceiling | rationale |
|---|---:|---:|---:|---|---:|---|
| **Grok** | | | | | | |
| `x-ai/grok-4.6` | 2026-08-12 | 2.000000 | 6.000000 | yes | USD 0.8847 | new direct panel |
| `x-ai/grok-4.5` | 2026-07-08 | 2.000000 | 6.000000 | yes | USD 0.8847 | clean new full attempt |
| **OpenAI** | | | | | | |
| `openai/gpt-5.6-luna` | 2026-07-09 | 0.2000000 | 1.2000000 | yes | USD 0.1769 | new direct panel |
| `openai/gpt-5.6-terra` | 2026-07-09 | 2.000000 | 12.000000 | yes | USD 1.7695 | new direct panel |
| `openai/gpt-5.4-nano` | 2026-03-17 | 0.2000000 | 1.25000000 | yes | USD 0.1843 | new direct panel |
| `openai/gpt-5.4-mini` | 2026-03-17 | 0.75000000 | 4.5000000 | yes | USD 0.6636 | new direct panel |
| `openai/gpt-5.2-chat` | 2025-12-10 | 1.75000000 | 14.000000 | yes | USD 2.0644 | new direct panel |
| `openai/gpt-5.2` | 2025-12-10 | 1.75000000 | 14.000000 | yes | USD 2.0644 | new direct panel |
| `openai/gpt-5.1` | 2025-11-13 | 1.25000000 | 10.00000 | yes | USD 1.4746 | new direct panel |
| `openai/gpt-5` | 2025-08-07 | 1.25000000 | 10.00000 | yes | USD 1.4746 | new direct panel |
| `openai/gpt-5-mini` | 2025-08-07 | 0.25000000 | 2.000000 | yes | USD 0.2949 | new direct panel |
| `openai/gpt-oss-120b` | 2025-08-05 | 0.037000000 | 0.17000000 | yes | USD 0.0251 | new direct panel |
| `openai/gpt-oss-20b` | 2025-08-05 | 0.03000000 | 0.13000000 | yes | USD 0.0192 | new direct panel |
| `openai/o4-mini-high` | 2025-04-16 | 1.1000000 | 4.4000000 | yes | USD 0.6488 | new direct panel |
| `openai/o3` | 2025-04-16 | 2.000000 | 8.000000 | yes | USD 1.1796 | new direct panel |
| `openai/o4-mini` | 2025-04-16 | 1.1000000 | 4.4000000 | yes | USD 0.6488 | new direct panel |
| `openai/gpt-4.1` | 2025-04-14 | 2.000000 | 8.000000 | yes | USD 1.1796 | new direct panel |
| `openai/gpt-4.1-mini` | 2025-04-14 | 0.4000000 | 1.6000000 | yes | USD 0.2359 | new direct panel |
| `openai/gpt-4.1-nano` | 2025-04-14 | 0.1000000 | 0.4000000 | yes | USD 0.0590 | new direct panel |
| `openai/o3-mini-high` | 2025-02-12 | 1.1000000 | 4.4000000 | yes | USD 0.6488 | new direct panel |
| `openai/o3-mini` | 2025-01-31 | 1.1000000 | 4.4000000 | yes | USD 0.6488 | new direct panel |
| `openai/gpt-4o-2024-11-20` | 2024-11-20 | 2.5000000 | 10.00000 | yes | USD 1.4746 | new direct panel |
| `openai/gpt-4o-2024-08-06` | 2024-08-06 | 2.5000000 | 10.00000 | yes | USD 1.4746 | new direct panel |
| `openai/gpt-4o-mini` | 2024-07-18 | 0.15000000 | 0.6000000 | yes | USD 0.0885 | new direct panel |
| `openai/gpt-4o` | 2024-05-13 | 2.5000000 | 10.00000 | yes | USD 1.4746 | new direct panel |
| `openai/gpt-3.5-turbo-0613` | 2024-01-25 | 1.000000 | 2.000000 | yes | USD 0.2949 | new direct panel |
| `openai/gpt-3.5-turbo-instruct` | 2023-09-28 | 1.5000000 | 2.000000 | yes | USD 0.2949 | new direct panel |
| `openai/gpt-3.5-turbo-16k` | 2023-08-28 | 3.000000 | 4.000000 | yes | USD 0.5898 | new direct panel |
| `openai/gpt-3.5-turbo` | 2023-05-28 | 0.5000000 | 1.5000000 | yes | USD 0.2212 | new direct panel |
| **Google** | | | | | | |
| `google/gemini-3.8-flash` | 2026-09-02 | 0.75000000 | 3.75000000 | yes | USD 0.5530 | new direct panel |
| `google/gemini-3.6-flash` | 2026-07-21 | 0.75000000 | 3.75000000 | yes | USD 0.5530 | new direct panel |
| `google/gemini-3.5-flash-lite` | 2026-07-21 | 0.3000000 | 2.5000000 | yes | USD 0.3686 | new direct panel |
| `google/gemini-3.5-flash` | 2026-05-19 | 1.5000000 | 9.000000 | yes | USD 1.3271 | new direct panel |
| `google/gemini-3.1-flash-lite` | 2026-05-07 | 0.25000000 | 1.5000000 | yes | USD 0.2212 | new direct panel |
| `google/gemma-4-26b-a4b-it` | 2026-04-03 | 0.09000000 | 0.3000000 | yes | USD 0.0442 | new direct panel |
| `google/gemini-3.1-flash-lite-preview` | 2026-03-03 | 0.25000000 | 1.5000000 | yes | USD 0.2212 | new direct panel |
| `google/gemini-3-flash-preview` | 2025-12-17 | 0.5000000 | 3.000000 | yes | USD 0.4424 | new direct panel |
| `google/gemini-2.5-flash-lite` | 2025-07-22 | 0.1000000 | 0.4000000 | yes | USD 0.0590 | new direct panel |
| `google/gemini-2.5-flash` | 2025-06-17 | 0.3000000 | 2.5000000 | yes | USD 0.3686 | new direct panel |
| **Muse** | | | | | | |
| `meta/muse-spark-1.2` | 2026-08-05 | 1.25000000 | 4.25000000 | yes | USD 0.6267 | new direct panel |
| `meta/muse-spark-1.1` | 2026-07-16 | 1.25000000 | 4.25000000 | yes | USD 0.6267 | new direct panel |
## Deferred approved shortlist
These remain eligible only after the priority phase has a passing diagnostic and remaining observed budget. They are not queued by this manifest.
| exact ID | created UTC | input USD/M | output USD/M | structured | completion-only 144x1024 ceiling | rationale |
|---|---:|---:|---:|---|---:|---|
| `qwen/qwen3.8-max-0902` | 2026-09-03 | 2.000000 | 6.000000 | yes | USD 0.8847 | deferred Qwen/GLM/Mistral shortlist |
| `qwen/qwen3.8-2.4t-a95b` | 2026-08-12 | 2.000000 | 6.000000 | yes | USD 0.8847 | deferred Qwen/GLM/Mistral shortlist |
| `z-ai/glm-5.3-flash` | 2026-08-26 | 0.07000000 | 0.2333000000 | yes | USD 0.0344 | deferred Qwen/GLM/Mistral shortlist |
| `mistralai/mistral-medium-3-5` | 2026-04-30 | 1.5000000 | 7.5000000 | yes | USD 1.1059 | deferred Qwen/GLM/Mistral shortlist |
| `mistralai/mistral-small-2603` | 2026-03-16 | 0.15000000 | 0.6000000 | yes | USD 0.0885 | deferred Qwen/GLM/Mistral shortlist |
| `mistralai/ministral-14b-2512` | 2025-12-02 | 0.2000000 | 0.2000000 | yes | USD 0.0295 | deferred Qwen/GLM/Mistral shortlist |
| `mistralai/ministral-8b-2512` | 2025-12-02 | 0.15000000 | 0.15000000 | yes | USD 0.0221 | deferred Qwen/GLM/Mistral shortlist |
| `mistralai/ministral-3b-2512` | 2025-12-02 | 0.1000000 | 0.1000000 | yes | USD 0.0147 | deferred Qwen/GLM/Mistral shortlist |
## Exclusions checked
- Already complete/plotted direct IDs, including Grok 4.3 and 4.20, are excluded.
- `:batch` and `:free` routes, `Pro` and `Fast` IDs, output prices above USD 15/M, and code/image/audio/safeguard/multi-agent variants are excluded.
- `x-ai/grok-4.4` remains absent from the saved catalog.
- `qwen/qwen3.5-flash-02-23` and the prior Grok 4.5 records are retained as incomplete evidence, not plotted or merged.
-- PI[gpt-5.6-terra]