Skip to content

fix(native-eval): resolve planned reasoning effort before proxy startup - #75

Merged
steipete merged 1 commit into
mainfrom
fix/pr54-effort-precedence-reviewed
Aug 28, 2026
Merged

fix(native-eval): resolve planned reasoning effort before proxy startup#75
steipete merged 1 commit into
mainfrom
fix/pr54-effort-precedence-reviewed

Conversation

@steipete

Copy link
Copy Markdown
Contributor

Native plans could say high while harnesses used their defaults (including OpenClaw's hard-coded --thinking off). The candidate fix in #54 added harness controls, but its CLI override could disagree with a proxy already configured from the environment. The remote launcher also let the provider environment file overwrite fleet's planned effort.

This integrates @vincentkoc's #54 changes and resolves effort before proxy startup. A preparation invocation validates the complete runner arguments, gives planned/CLI effort precedence over environment defaults, writes the proxy configuration, and returns the canonical value. The launcher exports that value before starting the proxy or runner. Ordinary runner invocations reject conflicting late overrides, and manifests record the RunSpec value. All four harness mappings and unspecified defaults are covered; Claude Code receives max for canonical xhigh.

Regression proof independently reproduced the original proxy=low versus harness/manifest=high split. The new startup tests run the real Bash launcher, Python preparation/job lifecycle, manifest writer, and tar packaging with controlled proxy/trial processes: 12 successful starts agree across all four harnesses, and four invalid inputs start neither process. They do not make paid inference calls or launch real agent binaries.

Two pre-existing event-driven fleet tests also exceeded their two-second waits under heavy host load. Their deadlock/cleanup guards now allow 30 seconds; blocked-job events and every ordering/capacity assertion are unchanged.

Validation on the final tree:

  • Focused runner/proxy/fleet/precedence suite: 154 passed.
  • Full local suite: 515 passed, 5 existing private-holdout skips; one pre-existing Gradio warning.
  • Runtime contracts: 5 passed. Ruff, pre-commit, ShellCheck, and wheel verification (4/4 runtime assets) passed.
  • Codex autoreview through P2: no actionable findings.

Fixes #53

Integrate PR #54's native harness effort controls and preserve the
planned effort in the fleet RunSpec and run manifest.

Resolve CLI/planned effort over environment defaults before generating
the proxy configuration. Export that canonical value before starting
the proxy or runner, and reject conflicting late CLI overrides.

Cover all four harnesses through the real remote launcher with controlled
proxy and trial processes. Keep event-driven scheduler test waits bounded
without treating host scheduling latency as a performance contract.

Fixes #53

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
@steipete
steipete requested a review from a team as a code owner August 28, 2026 16:17
@clawsweeper

clawsweeper Bot commented Aug 28, 2026

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

@clawsweeper clawsweeper Bot added merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P1 Urgent regression or broken agent/channel workflow affecting real users now. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Aug 28, 2026
@clawsweeper

clawsweeper Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codex review: needs real behavior proof before merge. Reviewed August 28, 2026, 12:19 PM ET / 16:19 UTC.

ClawSweeper review

What this changes

The PR carries planned reasoning effort through native fleet runs, resolves proxy and runner precedence before startup, maps the value to four harnesses, and adds coverage for the launch path.

Merge readiness

Blocked until real behavior proof from a real setup is added - 3 items remain

Keep this PR open: the source changes coherently fix the linked native-evaluation mismatch, but the supplied after-fix evidence is limited to controlled tests with a fake proxy and monkey-patched trial, not a real harness run.

Priority: P1
Reviewed head: 69702f48dc2bc5e76f2c2dbe9198eaa5a4b7159a

Review scores

Measure Result What it means
Overall readiness 🦪 silver shellfish (2/6) The implementation and focused coverage are coherent, but the required real after-fix behavior proof is absent.
Proof confidence 🦪 silver shellfish (2/6) Needs real behavior proof before merge: The body reports controlled launcher tests, but their fake LiteLLM executable and monkey-patched trial do not show after-fix behavior from a real harness; add redacted runtime evidence before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Needs proof Needs real behavior proof before merge: The body reports controlled launcher tests, but their fake LiteLLM executable and monkey-patched trial do not show after-fix behavior from a real harness; add redacted runtime evidence before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed 5 items Proxy resolution source: The launcher preserves the fleet value before loading provider defaults, then resolves and exports one value before LiteLLM starts.
Harness and manifest propagation: The patch stores the resolved value in RunSpec/manifest and maps it into OpenClaw, Hermes, Codex, and Claude Code command/config construction.
Current main remains affected: The PR base, which is the fetched current main revision, generated proxy configuration before constructing the runner command and had no resolved CLI value to synchronize proxy and harness.
Findings None None.
Security None None.

How this fits together

ShellBench’s native-evaluation runner turns a planned model configuration into a LiteLLM proxy plus a chosen agent harness. The resolved reasoning setting must match in the proxy, harness command, and saved run manifest so cross-harness results are comparable.

flowchart LR
  Plan[Native evaluation plan] --> Fleet[Fleet dispatch]
  Fleet --> Launcher[Remote launcher]
  Provider[Provider environment defaults] --> Launcher
  Launcher --> Resolve[Resolve and validate effort]
  Resolve --> Proxy[LiteLLM proxy]
  Resolve --> Harness[Agent harness]
  Resolve --> Manifest[Run manifest]
  Proxy --> Trial[Native evaluation trial]
  Harness --> Trial
Loading

Before merge

  • Add real behavior proof - Needs real behavior proof before merge: The body reports controlled launcher tests, but their fake LiteLLM executable and monkey-patched trial do not show after-fix behavior from a real harness; add redacted runtime evidence before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • Resolve merge risk (P1) - The four provider-specific flags/config keys are not shown running against the pinned real harness binaries, so compatibility remains unproven despite strong controlled coverage.
  • Complete next step (P2) - Hold for contributor-supplied real behavior proof; no narrow automated code repair is indicated.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Patch surface 10 files; +460/-41 lines The patch changes the full fleet-to-proxy-to-harness configuration path plus its documentation and regression coverage.
Implementation versus tests production +89/-36, tests +342/-5, docs +29 Most added code is focused coverage for precedence and all four harness mappings.

Root-cause cluster

Relationship: fixed_by_candidate
Canonical: #53
Summary: This PR explicitly targets the canonical reasoning-effort mismatch report and extends the earlier harness-only PR with startup precedence handling.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge-risk options

Maintainer options:

  1. Add real harness evidence (recommended)
    Before merge, provide redacted after-fix traces from the pinned harness binaries that show each resolved effort value reaches the proxy, client, and manifest.
  2. Accept unverified client contracts
    Maintainers may merge based on the controlled tests while explicitly accepting the remaining risk that a pinned client rejects or ignores its mapped setting.

Technical review

Best possible solution:

Add redacted after-fix evidence from real pinned harness launches showing the resolved value in the proxy, each harness invocation, and the resulting manifest, then land this as the canonical fix for the linked issue.

Do we have a high-confidence way to reproduce the issue?

Yes, from source: the current-main base starts the proxy from environment configuration before constructing a runner that had no reasoning-effort propagation, while OpenClaw remained hard-coded to thinking off.

Is this the best way to solve the issue?

Yes for the implementation approach: resolving one validated value before startup is the narrowest way to prevent proxy, harness, and manifest drift; real client compatibility proof is still needed.

AGENTS.md: not found in the target repository.

Codex review notes: model internal, reasoning high; reviewed against 01211da61b64.

Labels

Label changes:

  • add P1: Inconsistent reasoning settings invalidate benchmark comparisons across real native harnesses.
  • add merge-risk: 🚨 compatibility: The patch introduces provider-specific CLI flags and configuration keys whose behavior on the pinned real harness versions is not demonstrated.
  • add rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish and patch quality is 🐚 platinum hermit.
  • add status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The body reports controlled launcher tests, but their fake LiteLLM executable and monkey-patched trial do not show after-fix behavior from a real harness; add redacted runtime evidence before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Label justifications:

  • P1: Inconsistent reasoning settings invalidate benchmark comparisons across real native harnesses.
  • merge-risk: 🚨 compatibility: The patch introduces provider-specific CLI flags and configuration keys whose behavior on the pinned real harness versions is not demonstrated.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The body reports controlled launcher tests, but their fake LiteLLM executable and monkey-patched trial do not show after-fix behavior from a real harness; add redacted runtime evidence before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Evidence

What I checked:

  • Proxy resolution source: The launcher preserves the fleet value before loading provider defaults, then resolves and exports one value before LiteLLM starts. (scripts/native_eval/remote_run.sh:113, 69702f48dc2b)
  • Harness and manifest propagation: The patch stores the resolved value in RunSpec/manifest and maps it into OpenClaw, Hermes, Codex, and Claude Code command/config construction. (scripts/native_eval/harnesses.py:535, 69702f48dc2b)
  • Current main remains affected: The PR base, which is the fetched current main revision, generated proxy configuration before constructing the runner command and had no resolved CLI value to synchronize proxy and harness. (scripts/native_eval/remote_run.sh:80, 01211da61b64)
  • Proof is mock-only: The new end-to-end-shaped test replaces LiteLLM with a shell stub and replaces run_trial with a synthetic function, so it validates integration wiring but does not demonstrate a real harness invocation after the fix. (tests/test_native_eval_effort.py:113, 69702f48dc2b)
  • Feature lineage: The native matrix runner was introduced by Vincent Koc, while Peter Steinberger has recent main-branch native-evaluation commits and authored this integration fix. (scripts/native_eval/models.py:126, 69f75c6629c4)

Likely related people:

  • steipete: Authored this PR and the immediately preceding current-main native-evaluation fix. (role: recent native-evaluation contributor; confidence: high; commits: 69702f48dc2b, 01211da61b64; files: scripts/native_eval/remote_run.sh, scripts/native_eval/run_job.py, scripts/native_eval/harnesses.py)
  • vincentkoc: Introduced the native matrix runner and authored the linked report and earlier harness-propagation PR. (role: native-evaluation feature introducer; confidence: high; commits: 69f75c6629c4, b9acd9f7a010; files: scripts/native_eval/models.py, scripts/native_eval/fleet.py, scripts/native_eval/harnesses.py)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Add redacted traces from real pinned harness runs that show the matching proxy, client, and manifest reasoning values.
  • Update the PR body with that evidence; if no fresh review appears, ask a maintainer to comment @clawsweeper re-review.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@steipete
steipete merged commit 7e117cb into main Aug 28, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P1 Urgent regression or broken agent/channel workflow affecting real users now. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Native harnesses do not apply planned reasoning effort consistently

1 participant