ForgeFX SimulationsKubo / Decision Guide / 25 Sep 2026 UTC
One repository. One eventual build.

What Is Left,
And What Can Go?

Four branches remain. Two are unfinished proposals; Classic holds Devin’s work. The seven already-merged branches are gone.

Your target: only main, one main build, zero open PRs. Keep unfinished issues open. This report changes nothing in Kubo.
4GitHub branches
2Open pull requests
2Known Vercel projects
5Open repository issues

1. Recognize The Remaining Work

Keep / Current main build

The Current Simulator

main

The production line, including later performance work, tractor refinements, the Classic/Ultra switch, assistant features and geographic usage analytics. These are source/history findings, not a fresh visual acceptance test.

This is the branch name and build to keep.

Browse main
Preserve now / Reconcile next

Devin’s POC And Tablet Work

classic-57dafc4

An older simulator snapshot plus Autosteer turn fixes, performance-measurement tools, reduced cab-light work, tablet-ready graphics presets, baked environment shadows, and removal of a heavy meadow field. It also contains two folders of generated builds.

Recognize it as: the version Devin has been improving. Not just an untouched historical backup.

Browse Classic · Devin’s latest commit
Decision candidate / PR #105

Make The Farm Load Faster

cursor/farm-ready-timing-077a

Defers the cab, distant trees and dealer-showcase model so loading can finish sooner. Also swaps a roughly 15.7 MB tractor for a 1.8 MB local model. The PR explicitly says its load-time measurements could not finish and visual quality needs checking.

If you do not want this smaller-model experiment, this is a candidate to close and archive—not a proven redundant branch.

Review PR #105
Decision candidate / PR #389

The Wide Folding Mower

t3/issue-324

Adds a three-section, 15-foot batwing mower in Ultra mode, with folding wings and eight tail wheels. Changes mowing width, pass spacing and the tablet’s attachment label; Classic keeps the 10-foot mower. The PR reports passing tests; they were not rerun for this audit.

If you recognize this as an unwanted mower experiment, close and archive it. Otherwise it needs integration and product review.

Review PR #389

The two PRs are requests to merge the two experiment branches above—not two extra copies of work. Neither has been merged or closed here.

2. Classic And Main Have Grown Apart

Main / 7d8f1d0

More 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 / 15efc0c

Devin’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 enormous

There 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 optimizations
  • c641cdb ForgeBot | /farm graphics presets: tablet-ready Low, baked environment shadows
  • 280f656 ForgeBot | prismCab: only toggle the cab and its fill light on a real change
  • 49be607 ForgeBot | qa: perf-profile and perf-views harnesses for /farm
  • 3a67685 ForgeBot | Autosteer: 180° turn between pivot rings, and no crossover loop at the headland
  • e6759e2 ForgeBot | chore(classic): snapshot complete d5f680c build at Devin request
  • 85fbc2c 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

Exact remaining conflict paths
  • src/autosteer/classic/HudPanels.tsx
  • src/autosteer/classic/hudPanelRegistry.ts
  • src/autosteer/classic/hudPanels.css
  • src/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.

4. Other Things Still Around

Two Hosted Projects

kubo: builds main. Four aliases serve it: kubo, forgekubo, farm and forgefarm under forgefx.dev. Those are four addresses, not four builds.

kubo-classic: a separate, non-Git-linked deployment at kubo-classic.forgefx.dev. Retire later, not as part of this report.

Eight Saved History Labels

Tags are bookmarks to old commits, not active development branches or builds.

  • kubo150-full-build
  • classic-stable-2026-09-19
  • Six archive/tree-run-… tags: tree experiments for cards, growth, impostors, mesh, volume and a stale second-run base.

Names help recognition; tag contents were not deeply audited. No recommendation to delete them yet.

5 open issues — retained, not cleanup targets

Issue ownership is not inferred from author names. These remain open regardless of branch cleanup.

Local Copies And Recovery

The seven deleted branches have a verified recovery bundle and a bare archive repository on the bot host. That archive has no working checkout and is not a live branch or build on GitHub.

Local stashes, worktrees and unsaved changes on other computers are not inventoried here. GitHub cannot reveal them.