Skip to content

feat(eval): spreadsheetBench V2 quality gate — read-only official-score auditor#210

Merged
HomenShum merged 2 commits into
mainfrom
salvage/spreadsheetbench-v2-quality-gate
Jul 17, 2026
Merged

feat(eval): spreadsheetBench V2 quality gate — read-only official-score auditor#210
HomenShum merged 2 commits into
mainfrom
salvage/spreadsheetbench-v2-quality-gate

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

What

Promotes the spreadsheetBench V2 quality gate salvaged from the pre-fleet working
tree, verified against current main before promotion:

  • src/eval/spreadsheetBenchV2QualityGate.ts (1,458 L) — deterministic auditor over
    the accepted official V2 scorer receipt + model-run receipts: coverage vs expected
    task counts, trace/candidate/scorer receipt presence, authenticity, editing-plan
    integrity, per-category performance, VLM coverage.
  • scripts/spreadsheetbench-v2-quality-gate.ts — CLI (--dense default, --json,
    --json-out, --strict). Read-only; never invokes a model, provider, or scorer.
  • tests/spreadsheetBenchV2QualityGate.test.ts — 9 scenario tests.
  • npm script: benchmark:spreadsheetbench:v2-quality-gate.

Promotion provenance (certification-lock note)

This is a human-directed promotion of a locked grading asset, not the harness
grading itself. The gate was authored in exploration, stranded un-committed when the
codex fleet's PRs #191#208 superseded the surrounding draft work, and salvaged only
after passing verification against current main: 0 typecheck errors, 9/9 tests.
Merge authority stays with the repo owner.

Live proof (current repo receipts)

status=BLOCKED authenticity=BLOCKED provenance=BLOCKED performance=BLOCKED
coverage=321/321 trace=321/321 candidate=321/321 scorer=321/321
blockers=scorer_authenticity,editing_plan_integrity,category_performance,visualization_vlm

Default exit 0 (report mode); --strict exit 1. BLOCKED is the correct verdict on
today's receipts — the gate fails closed by design and is not tuned to pass.

Deliberately excluded

spreadsheetBenchChartContract (+ tests) is NOT in this PR: 2/13 of its tests fail
against current main (receipt-emission contract drifted during the fleet rewrite).
It stays parked on wip/full-tree-backup-20260717 until a benchmark lane needs
chart-task grading; reconciliation must keep strictness opt-in.

🤖 Generated with Claude Code

HomenShum and others added 2 commits July 17, 2026 12:04
…ot promoted)

Recovered from the pre-split working tree (wip/full-tree-backup-20260717): a
self-contained V2 quality gate — categories, expected task count (321), accepted
baselines, artifact/receipt audits, pass|blocked verdict, dense formatter — plus
its standalone CLI and 42-assertion test.

Verified against current origin/main: typecheck clean, 9/9 tests pass. Distinct
concern from upstream's spreadsheetBenchOfficialV2Acceptance.ts (a 2-export type
guard), so additive, not redundant. Zero collision with upstream.

NOT wired into package.json and NOT pushed: this is a grading/certification asset,
which CLAUDE.md holds locked pending explicit promotion. Held as a ready-to-PR
branch for that decision.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
benchmark:spreadsheetbench:v2-quality-gate — read-only auditor over accepted
official receipts and model-run receipts. Default emits one deterministic
dense line (exit 0); --strict exits 1 unless every sub-gate passes. Never
invokes a model, provider, or scorer.

Live run against current repo receipts: status=BLOCKED with named blockers
(scorer_authenticity, editing_plan_integrity, category_performance,
visualization_vlm) — the gate fails closed on today's data by design.

The sibling chart-contract draft (spreadsheetBenchChartContract) is
deliberately NOT promoted; it remains parked on wip/full-tree-backup-20260717
until a benchmark lane needs chart-task grading.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
noderoom Ready Ready Preview, Comment Jul 17, 2026 7:34pm

Request Review

@github-actions

Copy link
Copy Markdown

Scaffold Handoff — For Your Coding Agent

Your coding agent (Codex, Claude Code, etc.) should apply the accepted
scaffold proposals below. Do NOT touch any immutable files.

Immutability Check

Mode: advisory

✅ No immutable files were modified in this branch.

Changed Files

  • docs/eval/OFFICIAL_BENCHMARK_READINESS.md
  • docs/eval/OFFICIAL_BENCHMARK_TASK_COVERAGE.md
  • docs/eval/OPENROUTER_CONVEX_BENCHMARK.md
  • docs/eval/agent-improvement-loop.md
  • docs/eval/agent-improvement-loop.svg
  • docs/eval/agent-improvement-loop/20260717T193317Z.json
  • docs/eval/agent-improvement-loop/latest.json
  • docs/eval/agent-workspace-sandbox-smoke.json
  • docs/eval/algorithm-artifact-smoke.json
  • docs/eval/bankertoolbench-official-contract.json
  • docs/eval/docker-sandbox-probe.json
  • docs/eval/eval-runs.jsonl
  • docs/eval/halo-convex-context-telemetry.json
  • docs/eval/halo-self-improvement-smoke.json
  • docs/eval/halo-variant-selection.json
  • docs/eval/official-benchmark-readiness.json
  • docs/eval/official-benchmark-task-coverage.json
  • docs/eval/openrouter-convex-benchmark.json
  • docs/eval/professional-catalog-proofs.json
  • docs/eval/professional-proof-ledger.json
  • docs/eval/spreadsheetbench-chart-visual-probe.json
  • docs/eval/traces/credit/20260717T193327067Z-c6811f65_dirty.93d2d3b1fff2bb55/cascade-healthy.json
  • docs/eval/traces/credit/20260717T193327067Z-c6811f65_dirty.93d2d3b1fff2bb55/delta-incomplete.json
  • docs/eval/traces/credit/20260717T193327067Z-c6811f65_dirty.93d2d3b1fff2bb55/mapping-correct.json
  • docs/eval/traces/credit/20260717T193327067Z-c6811f65_dirty.93d2d3b1fff2bb55/mapping-misbind.json
  • docs/eval/traces/credit/20260717T193327067Z-c6811f65_dirty.93d2d3b1fff2bb55/summit-stressed.json
  • docs/eval/traces/ladder/20260717T193326575Z-c6811f65_dirty.dfb96ce9852cdf29/ladder_L1_read_scripted.json
  • docs/eval/traces/ladder/20260717T193326575Z-c6811f65_dirty.dfb96ce9852cdf29/ladder_L2_edit_scripted.json
  • docs/eval/traces/ladder/20260717T193326575Z-c6811f65_dirty.dfb96ce9852cdf29/ladder_L3_conflict_scripted.json
  • docs/eval/traces/ladder/20260717T193326575Z-c6811f65_dirty.dfb96ce9852cdf29/ladder_L4_blocked_scripted.json
  • docs/eval/traces/ladder/20260717T193326575Z-c6811f65_dirty.dfb96ce9852cdf29/ladder_L5_large_range_scripted.json
  • docs/eval/traces/ladder/20260717T193326575Z-c6811f65_dirty.dfb96ce9852cdf29/ladder_L6_long_horizon_scripted.json
  • docs/eval/traces/ladder/20260717T193326575Z-c6811f65_dirty.dfb96ce9852cdf29/ladder_L7_resume_scripted.json
  • package.json
  • scripts/spreadsheetbench-v2-quality-gate.ts
  • src/eval/spreadsheetBenchV2QualityGate.ts
  • tests/spreadsheetBenchV2QualityGate.test.ts

Needs Adversarial Review — Do NOT Apply Yet

These proposals passed the reject check but have not been approved by
an adversarial reviewer. A human or frozen LLM judge must approve them first.

  • scaf-001 (AGENTS.md): Add explicit instruction for step spreadsheetbench-runner-fixture: Step spreadsheetbench-runner-fixture failed — scaffold may need explicit instruction or evidence assertion.
  • scaf-002 (AGENTS.md): Add explicit instruction for step convex-boundaries: Step convex-boundaries failed — scaffold may need explicit instruction or evidence assertion.

Safety Boundary

Agent may improve the scaffold.
Agent may NOT weaken the proof gate.

Immutable files (never modify):

  • scripts/proofloop.mjs
  • scripts/agent-improvement-loop.ts
  • tests/harnessChangeEval.test.ts
  • .github/workflows/
  • src/eval/evalTrustPolicy.ts
  • src/eval/architectureBudget.ts
  • evals/evalStore.ts

Scaffold files (safe to modify):

  • AGENTS.md
  • CLAUDE.md
  • proofloop/scenarios/*.yaml
  • proofloop/rubrics/*.yaml
  • proofloop/subagents/*.md
  • proofloop/adapters/*.js
  • .proofloop/memory.jsonl
  • src/nodeagent/models/prompts/systemPrompt.ts

@HomenShum
HomenShum merged commit 989a3d0 into main Jul 17, 2026
10 checks passed
@HomenShum
HomenShum deleted the salvage/spreadsheetbench-v2-quality-gate branch July 17, 2026 20:13
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