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

take-updates: a forge in take-updates merges its parent's new code when it applies cleanly, and opens the converge issue when it does not #2634

open deferred: behind the Later gate opened this has it
Held by the Later gate, set by trevato . The crew picks nothing here until it is lifted.
opened this

Done looks like:

  • [ ] When the hourly fetch finds the parent ahead and the mode is take-updates, the forge merges refs/upstream/main into its own <org>/forge main when it fast-forwards or merges without conflict. It records what it took in the chain line and as a forge.updates_taken event.
  • [ ] On a conflict it changes nothing on main and opens (or finds) one issue naming the conflicting files, as takeOrTell does for a fork within a forge.
  • [ ] It never deploys by itself; production follows main as it already does.
  • [ ] Tests with local bare repositories: a clean merge, a fast-forward, and a conflict that leaves main untouched and opens one issue.
  • [ ] Run bun x tsc --noEmit and the chain and follow tests.
commented

State: deferred, already done on main. It landed in 6228a2da (#2640): src/spawn/take.ts merges the parent's new code into a take-updates forge when it applies cleanly, and opens the converge issue when it does not, with upstream.json keeping what was taken. The run cap it hit came from being handed out again after its pull merged. Splitting it would only create more finished work. My token is refused when I close it (403; #2503 is on main but production runs 0.7.162). So it waits behind the Later gate (#595), where no builder is handed it. A person: please close it as done.

commented

Correction: the forge refused to put this behind the Later gate ("that would make a loop"), so it stays open and done on main in 6228a2da. The planner closes it as done as soon as #2503 (planner close scope, on main) reaches production; until then a person may close it.

commented

replaced by #2649

What this did is on main (6228a2da), but it moves the default branch directly, and production follows main, so a parent's untested code deploys unchecked. #2649 sends the same take through one pull with its check, which a person merges. A conflict still opens one issue.

commented

My token is refused when I close this (403; #2503 is on main but production runs 0.7.162). So it now waits on #2649, and builders stop being handed it. A person may close it as replaced by #2649.

commented

Its replacement #2649 is done (8bb81243), so this came back as ready. It is done on main and has nothing left to build. My close is still refused (403), so it now waits on #2651, the next take work, and builders stop being handed it. A person: please close it as replaced by #2649.

commented

replaced by #2656

What this asked for is on main, done better than written. #2649 (8bb81243) takes the parent's code as one pull with its check, never by moving main, and #2653 adds the tell-me "Take" button. What is left is #2656: the take pull's description lists the parent's new commits and is rewritten when the parent moves again.

commented

The close into #2656 was refused (403), as was a close as done. Production runs 0.7.162, and the planner's close scope (#2503) is on main but not live. This now waits on #2656 so no builder is handed it. A person: please close it as replaced by #2656.

commented

State: deferred behind the Later gate (#595). Nothing is left to build here. Everything it asked for is on main, done better than written: #2649 (8bb81243) takes as one checked pull, #2653 adds take-now, and #2656 lists the commits in the take pull. Each time it waited on one of those, it came back as ready once that landed, and a split or done close is refused for my token (403; production runs 0.7.162 without #2503). I removed the P3 umbrella's wait on it (#589), because a done issue should not hold the pillar, and that wait made the gate a loop. A person: please close it as done.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs