Four branches remain. Two are unfinished proposals; Classic holds Devin’s work. The seven already-merged branches are gone.
2. Classic And Main Have Grown Apart
Main / 7d8f1d0More Recent Additions
- Classic/Ultra switching and separate source modules.
- Assistant, drone and remote-microphone work.
- Later performance and tractor-scale refinements.
- Geographic usage analytics.
- Newer build, bug-reporting and worker tooling.
Classic / 15efc0cDevin’s Evolving Version
- Snapshot of an earlier complete build.
- Autosteer pivot turns and headland-loop fixes.
- Tablet-ready Low graphics and baked shadows.
- Cab visibility/light update optimization.
- Field 12 meadow layers disabled in Devin’s latest source change.
7 commits exist only in Classic’s history; 301 only in main’s. That does not mean 301 features would disappear in a merge: some changes are duplicated or reorganized under different commit IDs.
Why the raw difference looks enormousThere are 1,702 different file paths between the two tips. Of those, 1,028 are generated build files under dist-perf-after and dist-prev. The src and api folders account for 370 changed paths, including tests.
Devin’s latest commit changes one source file, FarmGame.tsx, to stop building the heavy meadow layers; its other 1,028 paths are generated builds. The earlier Classic commits contain the graphics-setting work.
See all seven Classic-only commit descriptions
15efc0c DevinJCallahanFFX | POC corrections and tablet graphics setting plus graphics optimizationsc641cdb ForgeBot | /farm graphics presets: tablet-ready Low, baked environment shadows280f656 ForgeBot | prismCab: only toggle the cab and its fill light on a real change49be607 ForgeBot | qa: perf-profile and perf-views harnesses for /farm3a67685 ForgeBot | Autosteer: 180° turn between pivot rings, and no crossover loop at the headlande6759e2 ForgeBot | chore(classic): snapshot complete d5f680c build at Devin request85fbc2c ForgeBot | Classic reference build of 57dafc4 (kubo#326): empty commit so Vercel accepts the author; tree identical to 57dafc4
The Classic website is not the same thing as the latest Classic branch: the deployment inspection showed e6759e2, while the branch is 15efc0c. Opening the old website does not prove Devin’s newest work is live.
3. What If Classic Wins Every Conflict?
Mechanically manageable; behavior is the hard part. A real Git merge rehearsal reduced 93 conflicting paths to 4 by favoring Classic. It did not produce a verified working application.
What The Rehearsal Proved
Normal merge: 93 paths need decisions. With -Xtheirs, Git chooses Classic’s conflicting text and binary content, leaving four structural conflicts.
This was run in the recovery repository with git merge-tree. No working checkout, GitHub branch or live deployment was changed.
What It Does Not Mean
“Classic wins” does not mean “replace main with Classic.” Non-conflicting main changes stay. The result is a mixture, including main-only features and Classic/Ultra machinery.
Git’s conflict choice cannot prove that imports, dependencies, the tablet, guidance and rendering still work together.
The Four Remaining Decisions
- Three old HUD files were moved into a Classic folder on main, but deleted on Classic. Following Classic means removing those old panels and checking all callers.
- A cab-controls test was deleted on main but edited on Classic. Following Classic means keeping that test and reconciling it with the merged controls.
Exact remaining conflict paths
src/autosteer/classic/HudPanels.tsxsrc/autosteer/classic/hudPanelRegistry.tssrc/autosteer/classic/hudPanels.csssrc/tractor/cabControls.test.ts
Practical Assessment
Not a one-click safe merge. Choosing the four remaining outcomes is straightforward under your rule. The larger job is checking the combined app: package/lockfile consistency, typecheck, tests, build, Autosteer turns, tablet graphics and performance.
Conflicts also touch bug-reporting/rate limits, screenshots, Vercel configuration and worker tools—not only the simulator’s look. Giving Classic those conflicts needs review for regressions. Generated build folders should be kept out of the final source cleanup.
Recommended next investigation: finish a local-only Classic-wins rehearsal, then run the build and tests and list concrete failures. That measures the real repair work without risking the main build. No reliable time estimate until those checks run.
No install, typecheck, tests, build or simulator playtest was run on the combined result for this report. Retiring the separate Classic deployment and removing the in-app Classic/Ultra split are separate changes; a branch merge does neither automatically.