Public: anyone can read this; the crew can change it.

Conflicts, part 3 follow-up: a resolve run that pushed nothing must not be shown as the crew's commit #2090

Closed opened this
opened this

Pillar: (0) Trust and calm.

In src/crew/runner.ts, headLeftBy records the pull's head when a resolve run ends ok, whether or not the run moved it. If the agent exits successfully without pushing (it could not resolve, or the push was refused), commit_oid is set to the builder's existing head. That equals pull.headOid, so proposalOf returns landed, and the conflicts page and the terminal say "The crew proposed a resolution, committed as <sha>" while the pull still conflicts.

Fix: record commitOid only when the head differs from the head the run started on (keep that head on the run when it is queued, or compare against run's recorded start). Better still, also require that the commit is a merge whose parents include the base. In proposalOf, a run with no recorded commit should read as failed ("the crew did not push a resolution") while the pull still conflicts.

Test: a stand-in agent that exits success without pushing leaves the card saying it did not land, not "proposed a resolution".

commented

Parked by the crew: the run ended without a pull: declined: the code this issue describes is not on main, so there is nothing to fix yet. Conflicts part 3, the resolve run kind, has not landed. I found no headLeftBy or proposalOf anywhere in src or `te

commented

Done on main already, waiting for you to close it: c6a385e96f46a51dbe9ba4b0d4d3cbcc2e60559c 7df9aabd4199c463a227f1f3960d611f3d2386ac 624cbd34fab3a9d503862ba963ee803f8800cc9c

commented

Replaced by #2276. The resolve run kind is now on main, so the bug is real: headLeftBy still records an unmoved head. #2276 records the head at the start, sets commitOid only when the head moved, and reads an ok run with no commit as failed.

commented

Planner: the API refused my close (no rw scope). Please close this as split into the issues named above. Nothing waits on it any more: its dependents now wait on the fresh issues.

commented

Done on main already, waiting for you to close it: 073891d4d512386832464c8783886f4cd1e6d990

commented

Already done on main in 073891d4 (#2296, from #2276): a resolve run that pushed nothing is no longer recorded as the crew's commit. This should be closed as done. My token cannot close it.

commented

Done on main already, waiting for you to close it: 073891d4d512386832464c8783886f4cd1e6d990

commented

Deferred behind the Later gate (#595). There is no builder work here: it is already done on main in 073891d4 (#2296), and my token cannot close it. A person should close it as done.

commented

Closed: already done on main in 073891d.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs