Skip to content

fix(fusion): allow counterbalanced pair arm order - #1046

Merged
vincentkoc merged 1 commit into
mainfrom
fix/fusion-pair-arm-order-20261114
Nov 13, 2026
Merged

vincentkoc merged 1 commit into
mainfrom
fix/fusion-pair-arm-order-20261114

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

Summary

A repeated single-task Fusion comparison always ran its arms in the same order, even though the runner rotated across different tasks. Add an explicit zero-based arm offset so predeclared repeated blocks can use different starting arms. Preserve canonical strategy labels and default ordering.

Receipts and analysis retain offsets; legacy receipts use zero. Repeated analysis permits different offsets while continuing to require matching model/scoring protocols and consecutive spending ledgers. The offset is validated before any provider preflight or output creation.

Verification

  • 99 focused pair runner/analysis tests passed after rebase; 1 optional Docker integration case skipped.
  • Fixtures verify actual execution and ledger order for all three offsets, unchanged scores, early rejection of invalid offsets and repeated-analysis compatibility.
  • Independent P0–P2 review: no actionable findings.
  • git diff --check passed.

Deployment and risk

Benchmark scripts only; no deployment or default routing change. No paid calls, budget changes, retries or scoring changes. Rotation does not eliminate all cache and order effects; schedules must be declared before inference.

Rebased onto the landed probe-qualified handoff and fresh Azure task. Both sets of regression tests are retained; the final rebased patch passed independent P0–P2 review. Fresh CI applies to the new head.

@clawsweeper

clawsweeper Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

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

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@vincentkoc
vincentkoc marked this pull request as ready for review November 13, 2026 18:26
@clawsweeper clawsweeper Bot added clawsweeper:intake:feature Preliminary submission classification; full source review pending. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed clawsweeper:intake:feature Preliminary submission classification; full source review pending. labels Nov 13, 2026
@clawsweeper

clawsweeper Bot commented Nov 13, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge.

What this changes

Adds an explicit starting-arm offset to Fusion benchmarks and retains it in single-block and repeated analysis.

Example: Run a single-task matched-handoff block with FUSION_PAIR_ARM_OFFSET=1.

  • Before: Every block executes cheap, strong, then edit-handoff.
  • After: The block executes strong, edit-handoff, then cheap, while retaining canonical strategy labels.

Review scores

Measure Result What it means
Overall readiness 🦐 gold shrimp (3/6) Focused, source-supported implementation with meaningful harness coverage and successful script CI; evidence remains limited to synthetic benchmark execution.
Proof confidence 🦐 gold shrimp (3/6) This maintainer-authored benchmark-only change has focused runner and analyzer coverage with synthetic provider responses; shipped production behavior is unchanged.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Product

Kind: Feature · Worth it: Yes · Fix scope: Complete
User problem: Repeated single-task comparisons cannot vary their starting arm, leaving each strategy tied to the same execution position.
Reason: The established feature owner proposes a small opt-in extension that improves experimental control and explicitly avoids claiming complete counterbalancing or model superiority.

Merge readiness

✅ Ready for maintainer review

Keep open: this maintainer-authored PR provides useful benchmark control absent from current main, with no actionable correctness or security findings.

Priority: P3
Reviewed head: 8b8ef1a9041fed94ff26269e6346c14ff71971ec

Before merge

None.

Findings

None.

Agent review details

How this fits together

Offline Fusion tooling consumes qualified repair tasks and explicit model budgets, executes comparison arms, writes accounting receipts, and analyzes settled results.

flowchart LR
  A[Qualified tasks and configuration] --> B[Pair benchmark runner]
  B --> C[Ordered comparison arms]
  C --> D[Provider calls and repair grading]
  D --> E[Pair receipts and spending ledger]
  E --> F[Single or repeated analysis]
Loading

Technical review

Best possible solution:

Retain the focused offset implementation, legacy receipt compatibility and documented requirement to predeclare comparison schedules.

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

Current main computes arm order from the task index alone; a one-task manifest therefore starts every repeated block with cheap, and exposes no block offset.

Is this the best way to solve the issue?

The change extends the existing rotation owner with one validated value and additive receipt metadata, preserving scoring, accounting and default behavior.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against 43d978e80dfa.

Provenance checked

Testing

Proof path: in-process harness.

Security

None.

Evidence

What I checked:

Likely related people:

  • Vincent Koc: Raw commit 24d7379 adds scripts/fusion-pair-benchmark.mjs:106 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: high; commits: 24d73792c239; files: scripts/fusion-pair-benchmark.mjs)

Preflight source

Source unknown. Source comparison at the observed PR snapshot only. Completion is self-reported; body, policy, tests, execution, and report bytes are not verified.

Labels

Label changes:

  • add P3: An opt-in research benchmark improvement with unchanged production routing and default execution order.
  • add rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦐 gold shrimp and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.

Label justifications:

  • P3: An opt-in research benchmark improvement with unchanged production routing and default execution order.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦐 gold shrimp and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.

Rating scale

6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior.

Workflow

ClawSweeper edits this one comment on every review. Comment @clawsweeper re-review for a fresh review only. Repair and merge execution lanes are retired.

Reviewed November 13, 2026, 1:40 PM ET / 18:40 UTC.

@vincentkoc
vincentkoc force-pushed the fix/fusion-pair-arm-order-20261114 branch from 8b8ef1a to 642620b Compare November 13, 2026 18:45
@vincentkoc
vincentkoc merged commit 2d5762e into main Nov 13, 2026
17 of 18 checks passed
@vincentkoc
vincentkoc deleted the fix/fusion-pair-arm-order-20261114 branch November 13, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant