fix(routing): fail-closed ablation θ and persist streamed snapshots - #662
fix(routing): fail-closed ablation θ and persist streamed snapshots#662cursor[bot] wants to merge 6 commits into
Conversation
…lation Issue #568 first slice: versioned per-role reasoning_effort_profile, fail-closed parse, replayable snapshot, and true-θ RMSE ablation. Temperature is not effort. Production route/conduct defaults stay locked. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
…onduct Same snapshot_hash on both paths when the operator passes a catalog. Default constructor still omits the key so production payloads stay put. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Buyer next action: pass role_effort_catalog to attach the same snapshot on route and conduct, or omit it to keep today's payload. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Issue #568 honesty slice: θ̂ is (1-λ)θ and RMSE uses θ̂-θ, not a rank constant. Parse/hash fail closed on missing profiles, blank versions, fractional seeds, and extra roles. The same snapshot survives run, stream_route, and batch_route. Production defaults stay locked while measurement_status is estimated. Buyer next action: python tests/test_reasoning_effort_profile.py Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Issue #568 honesty follow-up on #650: reject boolean/string true-θ in run_equal_budget_ablation, keep the fuzz ablation branch live after parse, and write stream_route runs through --state-db. Buyer next action: python tests/test_reasoning_effort_profile.py Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current headb9363042ad8a9be2bd4faca2449365fc44d65be7. -
Head SHA:
b9363042ad8a9be2bd4faca2449365fc44d65be7 -
Workflow run: 32124537618
-
Workflow attempt: 1
Coverage evidence
Coverage evidence job did not run or did not publish coverage evidence.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: fuzz.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: fuzz.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (10 files)"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file (10 files)"]
R2 --> V2["required checks"]
Evidence --> S3["Docs (5 files)"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs (5 files)"]
R3 --> V3["docs review"]
Evidence --> S4["Test (2 files)"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test (2 files)"]
R4 --> V4["targeted test run"]
OpenCode Review Overview
Pull request overviewOpenCode cannot approve yet because required coverage evidence did not pass. Review outcome1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
Coverage evidenceCoverage evidence job did not run or did not publish coverage evidence. Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: fuzz.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: fuzz.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (10 files)"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file (10 files)"]
R2 --> V2["required checks"]
Evidence --> S3["Docs (5 files)"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs (5 files)"]
R3 --> V3["docs review"]
Evidence --> S4["Test (2 files)"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test (2 files)"]
R4 --> V4["targeted test run"]
|
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current headb9363042ad8a9be2bd4faca2449365fc44d65be7. -
Head SHA:
b9363042ad8a9be2bd4faca2449365fc44d65be7 -
Workflow run: 32129300630
-
Workflow attempt: 1
Coverage evidence
Coverage evidence job did not run or did not publish coverage evidence.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: fuzz.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: fuzz.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (10 files)"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file (10 files)"]
R2 --> V2["required checks"]
Evidence --> S3["Docs (5 files)"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs (5 files)"]
R3 --> V3["docs review"]
Evidence --> S4["Test (2 files)"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test (2 files)"]
R4 --> V4["targeted test run"]
Buyer next action
Prefer this PR over #650 and #631. Run
python tests/test_reasoning_effort_profile.py. Keep live route/conduct defaults unchanged whileproduction_default_change_allowedis false. Do not raise temperature to stand in for reasoning effort.Why this PR
#650 made θ̂ = (1−λ)θ and RMSE(θ̂, θ) honest, but three fail-closed / persist seams were still open:
run_equal_budget_ablationusedfloat()and laundered boolean or string θ into an RMSE report labeledusage_source=synthetic_true_theta.true_thetainside the profile payload, so parse failed before the ablation asserts ever ran.stream_routeattached the snapshot in memory only. With--state-db, a restart dropped the streamed run whilerunandbatch_routesurvived.What landed
_reject_non_finite_numberhelper asestimate_theta.true_thetabefore parse and always exercises the ablation after a valid profile.stream_routewrites the run (and itsreasoning_effort_snapshot) through--state-db.Doctoring (APA 7th)
Out of scope (do not fold in)
OrchestrationPolicydefaults.ModelClientrequest knobs (next buyer gap after this lands).Verify