Skip to content

Reconcile four parallel branches before adding more #1

Description

@di-omics

Four PRs are open against main, written by sessions that could not see each other. They are all additive -- no branch deletes another's work -- but they overlap enough that merge order matters, and two of them duplicate.

Shared files (mechanical conflicts, all four)

README.md, autonomous_lab/__init__.py, autonomous_lab/cli.py. Every branch adds exports and a subcommand. Conflicts are real but boring: keep both sides.

Real overlaps

#4 ⊃ #5 05476ed (workcell scheduler) sits on both. It landed on #4 by accident when a concurrent session switched branches mid-write, then was cherry-picked to a clean branch as #5. Same ~560 lines in two PRs.
#3 vs #5 orchestrator.py (2,026 lines, runtime policy-gated execution) and orchestrate.py (300 lines, static planning). One letter apart, adjacent concerns. They are genuinely complementary -- one executes, one answers "what serializes and what should I buy" -- but nobody reading the repo will guess that from the names.
#3 vs main #3 also rewrites intelligence.py, provenance.py, throughput.py. Largest blast radius of the four.

Two other branches exist without PRs -- codex/evidence-learning-kernel and laboratory-intelligence-layer -- both based on cdfed4e, three commits stale. They add samples.py, evidence.py, gates.py, learning.py, criteria.py, acceptance.py, permission.py, control.py, record.py. Diff them against their own merge-base, not against main -- against main they appear to delete qc.py, vision.py, recovery.py, and throughput.py, which they never touched. Those files simply did not exist when the branches were cut.

Duplicated concepts across all branches

Suggested order -- ascending blast radius

  1. Compose vision with gates, and cover what a workcell needs to keep running #5 -- smallest, purely additive, CI green.
  2. Printed fixtures, and the path from video capture to a trusted arm policy #6 -- additive, no edits to existing modules. ~28 audit majors documented in a PR comment are worth a pass first.
  3. Check the ambition against the published record, not just against this lab #4 -- after dropping 05476ed: git rebase --onto main fd4ffcb~1 agent/standalone-readme. CI currently red.
  4. Schedule more than one plate, and price a plate-moving arm honestly #3 -- last. It edits three existing modules, so it should rebase onto whatever the others leave behind rather than the reverse. Resolve the orchestrate/orchestrator naming here; renaming the planner to planner.py would make the split legible.

Then decide what to keep from the two stale branches before anything else lands, because a fifth sample tracker helps nobody.

The general fix

Branch from current main, and check git branch -avv before starting. Most of this cost came from branches cut at different points and from two sessions writing the same concept an hour apart.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions