Examples · a real benchmark sync
Upstream merged the fix, so both changes were dropped
emmanuel-ferdman/marshmallow, a fork of marshmallow-code/marshmallow with 2 changes on commit ba8b512, between releases, synced onto upstream's 4.3.1. Measured 2026-10-28.
Moved onto 4.3.1, tests pass
2 dropped. Read by hand afterwards: correct. As for 4.2.2.
Each change
| Change | Outcome | Why |
|---|---|---|
| Fix Constant field rejecting None values during load | dropped | agents judged the new release covers it: src/marshmallow/fields.py: The new release already fixes this: when the constant is None and allow_none was not set, Constant.__init__ now sets allow_none to True. It also overrides _validate_missing, so passing load_default through kwargs is redundant, and... |
| Update changelog and AUTHORS | dropped | agents judged the new release covers it: AUTHORS.rst: The new release already lists the fork's author in AUTHORS.rst with the same line our change added, so there is nothing left to carry.; CHANGELOG.rst: The new release already has the same Constant(None) entry for issue 2868 under 4.2.2, so the... |
Tests
pass The project's own tests ran on the carried copy (3.3 s) and on 4.3.1 as shipped (3.4 s), and the changes added no failure.
Agents
4 agent calls (23 s): Claude Code (opus, high effort). On Graft, Premium does that work automatically, and your first conflict is free.
The carried diff against 4.3.1
Empty: 4.3.1 already has everything this fork changed, so the moved copy is the release itself. The pull request would point the fork at upstream's release.
From data/bench/sync-real.json, run with scripts/bench-sync-real.ts on 2026-10-28. Every result on the results page, moved or stayed. Try your own fork.