Skip to content

Freeze SOTA-v3 for strict smoke execution - #111

Merged
nedcut merged 5 commits into
mainfrom
codex/sota-v3-smoke-ready
Aug 4, 2026
Merged

Freeze SOTA-v3 for strict smoke execution#111
nedcut merged 5 commits into
mainfrom
codex/sota-v3-smoke-ready

Conversation

@nedcut

@nedcut nedcut commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • freeze the SOTA-v3 lane, exact-route registry, pricing plan, output policy, and private 16-seed commitment for strict smoke execution
  • record authenticated zero-completion route/privacy evidence for all ten exact OpenRouter endpoints
  • escrow the private seeds and salt in macOS Keychain and add a launcher that verifies both committed hashes without exposing seed values
  • handle Grok and Mistral's null max_completion_tokens metadata with a narrow request-cap-pending-smoke state while retaining the full post-smoke cap-pressure gate
  • authorize only the strict smoke phase under the committed $150 ceiling; panel execution and publication remain locked

Why

The prior route preflight passed eight routes and blocked Grok 4.5 plus Mistral Medium 3.5 because their exact endpoints advertise max_tokens but omit max_completion_tokens. No same-model alternative endpoint supplies the missing maximum. Treating those routes as unbounded would be unsafe, but rejecting the smoke prevents the only bounded behavioral check that can resolve the metadata gap.

This change allows that exact, registered exception only when max_tokens is advertised and strict-smoke verification remains mandatory. Panel eligibility still requires complete finish-reason and usage telemetry, zero truncations, and peak output below the preregistered 3,072-token pressure threshold.

The privacy decision is also explicit: GM-Bench inputs are synthetic and contain no personal or confidential data; data_collection=deny prohibits provider training use; provider retention terms are accepted for this workload; and ZDR is recorded per exact endpoint rather than claimed universally. Five of ten registered routes were in OpenRouter's authenticated ZDR list at the freeze.

Safety boundaries

  • no model completion was called while preparing this change
  • all publication work remains serial with GM_BENCH_WORKERS=1
  • no seed or salt value is committed
  • the runner still requires an explicit operator ceiling
  • panel and publication authorization remain false
  • an accepted ten-route smoke manifest is still required before panel execution

Validation

  • uv run pytest -q — 759 passed
  • uv run ruff format --check gm_bench examples tests scripts
  • uv run ruff check gm_bench examples tests scripts
  • uv run python -m gm_bench validate-contract
  • uv run python scripts/sota_v3_rehearsal.py — passed, $0.00, smoke_execution_issues: [], 13 expected panel blockers
  • bun run lint and bun run build in web/
  • authenticated route evidence collection — 10/10 routes, 5 ZDR, 0 completions
  • authenticated route preflight — 10/10 routes, 0 completions
  • Keychain-backed smoke dry-run — all ten serial commands built, no model subprocess launched
  • cost estimate regenerated byte-for-byte identically: 3,240 calls, $127.2878198784 reservation with contingency, below the $150 ceiling

Summary by CodeRabbit

  • New Features
    • Added route-evidence collection and validation for exact model routing, output limits, privacy policies, and zero-data-retention status.
    • Added a secure smoke-test workflow using privately escrowed seed data and strict spending controls.
  • Release Readiness
    • SOTA-v3 configuration, pricing, routes, and publication protocol are now frozen.
    • Strict smoke execution is authorized; panel execution and publication remain locked.
  • Documentation
    • Added smoke-readiness and production benchmark guidance, including failure handling, spending limits, and post-smoke approval requirements.
  • Bug Fixes
    • Strengthened privacy and output-cap validation, including controlled handling of unbounded catalog limits.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@nedcut, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 41 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e33ccd4b-abc1-48c9-a75f-00d7939f1f79

📥 Commits

Reviewing files that changed from the base of the PR and between f223191 and 01df69b.

📒 Files selected for processing (8)
  • docs/PUBLISH_READINESS.md
  • gm_bench/publication.py
  • scripts/collect_sota_v3_route_evidence.py
  • scripts/run_publication_matrix.py
  • tests/test_publication_release.py
  • tests/test_publication_runner.py
  • tests/test_sota_v3_route_catalog.py
  • tests/test_sota_v3_route_evidence.py
📝 Walkthrough

Walkthrough

The PR freezes SOTA-v3 route, seed, pricing, and publication metadata. It adds authenticated route-evidence collection, strict output-cap validation, and a Keychain-backed smoke launcher. Smoke execution is authorized under a $150 ceiling; panel execution and publication remain disabled.

Changes

SOTA-v3 strict-smoke readiness

Layer / File(s) Summary
Route evidence and privacy validation
scripts/collect_sota_v3_route_evidence.py, results/analysis/..., gm_bench/publication.py, config/sota_v3_models.json, tests/test_sota_v3_route_catalog.py, tests/test_sota_v3_route_evidence.py, tests/test_publication_*.py
Collects authenticated metadata for ten exact routes, records privacy and zero-retention evidence, hashes route acceptance, and validates the evidence bindings.
Output-cap verification flow
scripts/run_publication_matrix.py, config/sota_v3_models.json, docs/run_logs/..., tests/test_publication_runner.py
Propagates strict-smoke cap exceptions and permits null catalog caps only when max_tokens support and strict verification are present.
Frozen lane and smoke authorization
config/sota_v3_*.json, docs/PUBLISH_READINESS.md, docs/production_benchmark.md, docs/run_logs/..., tests/test_sota_v3_preregistration.py, tests/test_sota_v3_route_catalog.py
Freezes the private seed panel, route registry, pricing, and protocol. It authorizes smoke spending and execution while preserving panel and publication locks.
Keychain-backed smoke launcher
scripts/run_sota_v3_smoke_from_keychain.py, tests/test_sota_v3_smoke_keychain.py
Reads and verifies the private seed panel from macOS Keychain, exposes it only during runner execution, and removes it afterward.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related issues

Possibly related PRs

  • nedcut/gm-bench#102 — Establishes the SOTA-v3 preflight framework that this PR advances to frozen smoke readiness.
  • nedcut/gm-bench#103 — Provides the earlier route catalog, seed-panel, privacy, and authorization changes extended here.
  • nedcut/gm-bench#110 — Shares the SOTA-v3 route configuration and publication-matrix preflight validation workflow.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 4.88% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: freezing SOTA-v3 for strict smoke execution.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/sota-v3-smoke-ready

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread scripts/collect_sota_v3_route_evidence.py Fixed
@nedcut
nedcut marked this pull request as ready for review August 4, 2026 23:34
Copilot AI lite review requested due to automatic review settings August 4, 2026 23:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Comment thread scripts/collect_sota_v3_route_evidence.py Fixed

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (3)
tests/test_publication_runner.py (1)

1612-1631: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add the numeric-cap case to the deferral test.

The test covers null cap rejected by default, null cap accepted with the deferral, and rejection when max_tokens support disappears. It does not cover the case where the endpoint reports a numeric maximum below the cell cap while the deferral is present.

That case matters because line 554 of scripts/run_publication_matrix.py gates the exception on maximum is None. A registry deferral must not rescue an endpoint that publishes a too-small numeric maximum. One assertion documents that boundary.

💚 Proposed addition
     payload["data"]["endpoints"][0]["supported_parameters"].remove("max_tokens")
     assert "cannot honor required parameters" in _endpoint_issues(deferred, payload)[0]
+
+    # A registry deferral must not rescue a published numeric maximum below the cap.
+    payload["data"]["endpoints"][0]["supported_parameters"].append("max_tokens")
+    payload["data"]["endpoints"][0]["max_completion_tokens"] = 2048
+    assert "cannot honor required parameters" in _endpoint_issues(deferred, payload)[0]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/test_publication_runner.py` around lines 1612 - 1631, The test
test_endpoint_preflight_allows_explicit_null_cap_deferral_only_until_strict_smoke
should also verify that deferral does not allow a numeric endpoint maximum below
the cell cap. With the deferred cell and max_tokens still supported, set
max_completion_tokens to a numeric value less than the cell’s cap and assert
_endpoint_issues reports the required-parameters failure.
scripts/collect_sota_v3_route_evidence.py (1)

237-244: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Validate the output path before the network reads, and apply the same rule to --registry.

Two small gaps:

  • The containment check on line 240 runs after collect performs ten authenticated round trips. A mistyped --output wastes the whole collection and writes nothing.
  • --registry is read on line 237 and rewritten on line 244 with no containment check, while --output gets one.
♻️ Proposed fix
-    registry = _read_json(args.registry)
-    evidence = collect(registry, headers)
     output = args.output.resolve()
-    if not output.is_relative_to(ROOT.resolve()):
-        parser.error("evidence output must be inside the repository")
+    registry_path = args.registry.resolve()
+    root = ROOT.resolve()
+    for label, path in (("evidence output", output), ("registry", registry_path)):
+        if not path.is_relative_to(root):
+            parser.error(f"{label} must be inside the repository")
+    registry = _read_json(registry_path)
+    evidence = collect(registry, headers)
     _write_json(output, evidence)
     if args.apply_registry:
-        _write_json(args.registry, apply_registry(registry, evidence, output), sort_keys=False)
+        _write_json(registry_path, apply_registry(registry, evidence, output), sort_keys=False)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/collect_sota_v3_route_evidence.py` around lines 237 - 244, In the
main flow around collect and the output-path validation, validate both
args.output and args.registry are contained within ROOT before calling collect
or reading either file. Reuse the existing repository-containment rule and
parser.error behavior for each path, while preserving the subsequent evidence
collection and optional registry update flow.
scripts/run_publication_matrix.py (1)

554-562: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Define the request-cap-pending-strict-smoke contract once. The same four-field dict is written out in four places across three files. No shared definition exists, so a change to any field name or value must be applied in all four places by hand. A missed copy fails closed in one path and open in another.

  • scripts/run_publication_matrix.py#L554-L562: replace the inline four-field re-check with a call to a shared predicate, for example is_pending_strict_smoke_cap(verification).
  • scripts/run_publication_matrix.py#L259-L273: compare against the shared constant instead of the inline dict literal.
  • scripts/collect_sota_v3_route_evidence.py#L115-L129: import the shared constant instead of the inline dict literal on lines 121-126.
  • tests/test_publication_runner.py#L1619-L1627: build the output_cap_verification fixture from the shared constant so the test tracks the production contract.

Put the constant and the predicate in gm_bench/publication.py, which both scripts already import.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/run_publication_matrix.py` around lines 554 - 562, Define the shared
request-cap contract constant and is_pending_strict_smoke_cap predicate in
gm_bench/publication.py. In scripts/run_publication_matrix.py lines 554-562,
replace the inline field checks with the predicate; in lines 259-273, compare
against the shared constant. In scripts/collect_sota_v3_route_evidence.py lines
115-129, import and use the shared constant, and in
tests/test_publication_runner.py lines 1619-1627, construct
output_cap_verification from that constant.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/PUBLISH_READINESS.md`:
- Line 908: Remove the blank line immediately before the new 2026-08-04
decision-log row so it remains part of the existing Markdown table and renders
under the table header.

In `@gm_bench/publication.py`:
- Around line 117-128: The v3 route acceptance validation must verify that both
evidence digests match their canonical payloads, not merely exist. In
v3_route_acceptance_issues(), load each relevant evidence_artifact and recompute
canonical_sha256(...) for route_evidence_sha256 and
privacy_acceptance.evidence_sha256, adding validation issues when either digest
does not match before smoke authorization proceeds.

In `@scripts/run_publication_matrix.py`:
- Around line 259-273: Move the output_cap_verification validation block from
_validate_models’ exact-route-only section to before the exact_routes=False
early return, so sweep models receive the same type, value, and max_tokens
support checks. Remove the now-duplicated validation block from the later
exact-route validation path while preserving the existing error behavior.

---

Nitpick comments:
In `@scripts/collect_sota_v3_route_evidence.py`:
- Around line 237-244: In the main flow around collect and the output-path
validation, validate both args.output and args.registry are contained within
ROOT before calling collect or reading either file. Reuse the existing
repository-containment rule and parser.error behavior for each path, while
preserving the subsequent evidence collection and optional registry update flow.

In `@scripts/run_publication_matrix.py`:
- Around line 554-562: Define the shared request-cap contract constant and
is_pending_strict_smoke_cap predicate in gm_bench/publication.py. In
scripts/run_publication_matrix.py lines 554-562, replace the inline field checks
with the predicate; in lines 259-273, compare against the shared constant. In
scripts/collect_sota_v3_route_evidence.py lines 115-129, import and use the
shared constant, and in tests/test_publication_runner.py lines 1619-1627,
construct output_cap_verification from that constant.

In `@tests/test_publication_runner.py`:
- Around line 1612-1631: The test
test_endpoint_preflight_allows_explicit_null_cap_deferral_only_until_strict_smoke
should also verify that deferral does not allow a numeric endpoint maximum below
the cell cap. With the deferred cell and max_tokens still supported, set
max_completion_tokens to a numeric value less than the cell’s cap and assert
_endpoint_issues reports the required-parameters failure.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5593ea7c-0c9c-4785-bf03-67024acb0856

📥 Commits

Reviewing files that changed from the base of the PR and between 2d31e72 and f223191.

📒 Files selected for processing (18)
  • config/sota_v3_lane.json
  • config/sota_v3_models.json
  • config/sota_v3_pricing_snapshot.json
  • config/sota_v3_publication_protocol.json
  • docs/PUBLISH_READINESS.md
  • docs/production_benchmark.md
  • docs/run_logs/sota-v3-smoke-readiness-freeze-2026-08-04.md
  • gm_bench/publication.py
  • results/analysis/sota-v3-route-acceptance-evidence.json
  • scripts/collect_sota_v3_route_evidence.py
  • scripts/run_publication_matrix.py
  • scripts/run_sota_v3_smoke_from_keychain.py
  • tests/test_publication_release.py
  • tests/test_publication_runner.py
  • tests/test_sota_v3_preregistration.py
  • tests/test_sota_v3_route_catalog.py
  • tests/test_sota_v3_route_evidence.py
  • tests/test_sota_v3_smoke_keychain.py

Comment thread docs/PUBLISH_READINESS.md
Comment thread gm_bench/publication.py
Comment thread scripts/run_publication_matrix.py Outdated
Comment thread scripts/collect_sota_v3_route_evidence.py Fixed
Comment on lines +57 to +59
connection = http.client.HTTPSConnection( # nosemgrep: python.lang.security.audit.httpsconnection-detected.httpsconnection-detected
"openrouter.ai", timeout=30
)
@nedcut
nedcut merged commit 099bcff into main Aug 4, 2026
14 checks passed
@nedcut
nedcut deleted the codex/sota-v3-smoke-ready branch August 4, 2026 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants