FutureFork — partial-refund evidence

Generated 2026-09-27 14:09 UTC by scripts/build_dashboard.py from real files under artifacts/runs/ and bob_sessions/. Every number below links to the artifact it came from. Nothing here is computed live or fetched over the network — open this file directly.

Scenario × candidate matrix

Scenariocoupledmodular
partial-refund✓ evidence✓ evidence
organization-pricingnot runnot run
ordered-discountsnot runnot run

partial-refund: coupled vs. modular

Candidate B (futurefork prepare/finalize CLI)

Candidate ref coupled · starting commit 11f9d4e8559e…
Bob task ID5c4c002baa472064dd11971c601c6436
Bobcoins spent2.65
Outcomecompleted
Regression suite70 passed
Protected pack (partial-refund)34 / 34 passed
Protected pack hash after runmatches frozen
Changed files7
Lines changed+558 / -23
Boundary violationsnone
Wall time (finalize)0.795s
Evaluated onisolated detached worktree, evaluated in place by `futurefork finalize`

Changed: src/pocketcart/checkout.py, src/pocketcart/discounts.py, src/pocketcart/refunds.py, src/pocketcart/service.py, src/pocketcart/store.py, src/pocketcart/wsgi.py, tests/test_partial_refund.py

Candidate A (manual, pre-CLI)

Candidate ref modular · starting commit f9e3ecda1e4a…
Bob task IDd12b84c1a6a03a337b56b8594ebd6d2a
Bobcoins spent5.40
Outcomecompleted
Regression suite68 passed
Protected pack (partial-refund)34 / 34 passed
Protected pack hash after runmatches frozen
Changed files6
Lines changednot recorded (pre-manifest run)
Boundary violationsnone
Wall time (finalize)not recorded (pre-manifest run)
Evaluated onsnapshot copy of the worktree (oracle never mounted in the Bob worktree)

Changed: src/pocketcart/checkout.py, src/pocketcart/refunds.py, src/pocketcart/service.py, src/pocketcart/store.py, src/pocketcart/wsgi.py, tests/test_partial_refund.py

What this evidence supports — and does not

Both candidates independently satisfy the same frozen, hidden protected test pack for partial-refund (pack hash 618a9aba91cf9f24…, unchanged after each run).

Both runs are traceable to a real IBM Bob task ID, a real Bobcoin spend, and a real task-session screenshot in bob_sessions/.

The coupled run has zero disclosed human interventions and zero boundary violations; the modular run has 6 disclosed deviations (oracle-informed feedback, a lost first attempt after a cleanup incident, and others — see its human-notes.md), which is a real fairness asymmetry between the two runs, not evidence that one candidate is better.

This does not show which architecture is "more maintainable" — one scenario is not enough evidence for that, and the product's own rules (docs/EVALUATION.md) forbid that claim regardless.

This does not represent the full 2×3 matrix. organization-pricing and ordered-discounts have no runs yet.

Nothing here is a benchmark, a score, or a prediction. It is two disclosed, reproducible executions of the same frozen requirement.