Skip to content

fix(loop): a conflict does not say which side is behind - #361

Merged
gHashTag merged 1 commit into
feat/queen-supervisorfrom
carry/conflict-direction
Sep 4, 2026
Merged

gHashTag merged 1 commit into
feat/queen-supervisorfrom
carry/conflict-direction

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 4, 2026

Copy link
Copy Markdown
Owner

fix(loop): a conflict does not say which side is behind, and "needs a rebase" was advice toward deleting finished code

land reported nine conflicts and one remedy: rebase, or close as superseded.
Taking that advice on browseros-ai#1302 would have destroyed landed work.

browseros-ai#1302 is "expose Queen billing mode and quota authority in public research
status", 205 insertions, accepted, its issue already closed. Replaying it onto
today's base would have:

That branch is not waiting for a rebase. It is superseded in part, and what
survives is a small delta belonging on today's base as new work. A conflict says
two sides touched the same lines; it says nothing about which side is behind,
and the advice depends entirely on that.

So the report measures it: how far has the base travelled on the conflicting
files since the fork point?

CONFL queen-1302 2 conflicting file(s): ...queen-public-research.ts, ...test.ts
| the base moved on these since the fork: N commit(s), M insertions -
a rebase would replay OLD code over new; re-file what survives against
today's base

It is a measurement, not a verdict. The person still decides, with the number
that decides it.

AND THE COUNT WAS INFLATED. git merge-tree --name-only interleaves prose with
paths - "Auto-merging X" and "CONFLICT (add/add): Merge conflict in X" are
commentary about the file named on the line above. Counting them reported "6
conflicting path(s)" for two files. An inflated number is how a report stops
being read, and this one had been doubling every conflict it printed.

The reason line is no longer truncated to 96 characters either, which had been
cutting off exactly the half that says what to do.

selftest 145 pass 0 fail.

… rebase" was advice toward deleting finished code

`land` reported nine conflicts and one remedy: rebase, or close as superseded.
Taking that advice on browseros-ai#1302 would have destroyed landed work.

browseros-ai#1302 is "expose Queen billing mode and quota authority in public research
status", 205 insertions, accepted, its issue already closed. Replaying it onto
today's base would have:

  - deleted `WorkerCapacityBreakdown`, which is browseros-ai#1308's work, carried and merged
    as PR #331 after this branch was cut
  - deleted the tree-load-failure handling the base gained since
  - REINTRODUCED a non-ASCII ellipsis into a path redaction the base already
    performs in ASCII - breaking L3 in the same stroke

That branch is not waiting for a rebase. It is superseded in part, and what
survives is a small delta belonging on today's base as new work. A conflict says
two sides touched the same lines; it says nothing about which side is behind,
and the advice depends entirely on that.

So the report measures it: how far has the base travelled on the conflicting
files since the fork point?

  CONFL queen-1302  2 conflicting file(s): ...queen-public-research.ts, ...test.ts
        | the base moved on these since the fork: N commit(s), M insertions -
        a rebase would replay OLD code over new; re-file what survives against
        today's base

It is a measurement, not a verdict. The person still decides, with the number
that decides it.

AND THE COUNT WAS INFLATED. `git merge-tree --name-only` interleaves prose with
paths - "Auto-merging X" and "CONFLICT (add/add): Merge conflict in X" are
commentary about the file named on the line above. Counting them reported "6
conflicting path(s)" for two files. An inflated number is how a report stops
being read, and this one had been doubling every conflict it printed.

The reason line is no longer truncated to 96 characters either, which had been
cutting off exactly the half that says what to do.

selftest 145 pass 0 fail.
@github-actions github-actions Bot added the fix label Sep 4, 2026
@gHashTag
gHashTag merged commit 0c79e5e into feat/queen-supervisor Sep 4, 2026
2 of 3 checks passed
@gHashTag
gHashTag deleted the carry/conflict-direction branch September 4, 2026 23:22
@gHashTag
gHashTag restored the carry/conflict-direction branch September 28, 2026 09:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant