Skip to content

feat(executor): Phase 4a — Half A→B scoring bridge + first scored number - #40

Closed
explosivebit wants to merge 3 commits into
feat/stack-executor-rfc006from
feat/stack-scoring-rfc006
Closed

feat(executor): Phase 4a — Half A→B scoring bridge + first scored number#40
explosivebit wants to merge 3 commits into
feat/stack-executor-rfc006from
feat/stack-scoring-rfc006

Conversation

@explosivebit

Copy link
Copy Markdown
Contributor

Summary

Stacked on #39. Bridges Half A (StackExecResult patch) → Half B (judge panel) so a model × harness × task run yields a real score. GridRunner dispatch-by-stack (Phase 4b) will reuse this same path.

  • src/orchestrator/stack_scoring.py: changed_files (parse diff, filter harness noise) · extract_submission (final content of changed source files — code, not diff) · exec_result_to_eval_result (write submission as the raw_output artifact → EvalRow; rejects non-OK runs).
  • scripts/stack_score_live_smoke.py: executor → bridge → judge panel → scored number (anchors cwd at repo root for rubric resolution).
  • docs/04-runbook/14-stack-executor.md: full runbook (bastion model, setup, smokes, patch capture, scoring caveat, defects).
  • EVID-049 (active, PASS, informs RFC-006).

First scored number (live)

aider × qwen-3-14b × be_01, judged (inversion-free — be_01 deterministic evaluators invert, EVID-027):

judge score
claude-sonnet-4-6 5.27
gemini-3-flash 7.33
gpt-5-mini 0.00 ⚠️

Panel median 5.27/10 · total cost $0.070.

⚠️ Defect surfaced (judge follow-up, not the executor): gpt-5-mini truncated its rubric JSON at the 2048 max_tokens cap on the 7-criterion coding rubric → parse-fail → 0.0 fallback, dragging the median + α. Fix is reasoning_effort (EVID-023 bounds the cap by the OpenRouter 402 hazard), and a parse-fail should map to DEGRADED, not 0.0. Trustworthy 2-judge signal ≈ 6.3.

Gates

ruff + mypy --strict clean · 6 bridge unit tests · full suite 700 passed.

Note

This branch's EVID-049 auto-link touched RFC-006.md; reconcile with #37 (RFC-006 phases) at merge.

Refs: rfc-006

🤖 Generated with Claude Code

explosivebit and others added 3 commits June 2, 2026 21:29
RFC-006 Phase 4. Bridges StackExecResult (Half A patch) → EvalResult so the
judge panel (and evaluators) score a (model × harness × task) run.

- src/orchestrator/stack_scoring.py: changed_files (parse diff, filter harness
  noise .aider/.gitignore), extract_submission (final content of changed source
  files — code, not diff), exec_result_to_eval_result (write submission as the
  raw_output artifact + map to EvalRow; rejects non-OK runs). GridRunner
  dispatch-by-stack will reuse this same path.
- scripts/stack_score_live_smoke.py: executor → bridge → judge panel → scored
  number. Anchors cwd at repo root (the panel resolves rubric.yaml via cwd).
- 6 bridge unit tests (no Docker/judges).

FIRST SCORED NUMBER — aider × qwen-3-14b × be_01, judged (inversion-free, since
the be_01 deterministic evaluators invert per EVID-027):
  claude-sonnet 5.27 · gemini-3-flash 7.33 · gpt-5-mini 0.00* · cost $0.070
  (*DEFECT: gpt-5-mini truncated its rubric JSON at the 2048 cap → parse-fail →
  0.0 fallback, dragging the median + alpha. Trustworthy 2-judge signal ≈ 6.3.
  Fix is reasoning_effort per EVID-023, NOT raising the cap — separate judge work.)

Gates: ruff + mypy --strict clean; 6 bridge tests; full suite 700 passed.

Refs: rfc-006
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
How to run a real harness×model×task eval: the bastion network model (decision
A), one-time setup (stack-up / sandbox-net-up / harness-image-aider), the $0
plumbing check + the two live smokes (Half A only, full chain to a scored
number), how host-side git patch capture works, the be_01 judge-vs-evaluator
caveat (EVID-027 inversion), known defects (gpt-5-mini truncation, proxy cost
reconciliation, GridRunner dispatch), and the first real numbers.

Refs: rfc-006
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rms RFC-006

First-real-run evidence pack: bastion proven ($0), Half A first patch
(aider×qwen×be_01, $0.000626), first judged score (median ~6.3 on 2 trustworthy
judges), and the gpt-5-mini truncation defect. verdict=PASS, CL3,
evidence_type=live_integration_run. Activated; R_eff recomputed.

Refs: evid-rfc-006-stackexecutor-live-first-real-harness-model-patch-judged-score
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@explosivebit
explosivebit deleted the branch feat/stack-executor-rfc006 June 2, 2026 20:52
explosivebit added a commit that referenced this pull request Jun 2, 2026
…spatch-by-stack (#42)

Consolidated 4a (scoring bridge, was #40) + 4b (dispatch). Refs: rfc-006
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.

1 participant