dev.py pr: optionally create PRs via gt submit so Graphite's UI renders real stacks nf-kpqa ← Beads

closed priority 2 task unassigned

Twinned from https://github.com/cfsh/ninefold/issues/873 by tools/beads/import_github.py's reconcile pass.

Aedan, looking at the Graphite dashboard: "how come 870 doesn't look stacked in the graphite UI?"

The GitHub base-branch chain is correct (#864#865#866#870); what's missing is Graphite's own metadata, which only gt submit uploads. The stack was opened via ./dev.py pr + gh pr create per notes/graphite.md's division of labour, so Graphite's passive GitHub sync shows the PRs but not the stack.

Option: dev.py pr (perhaps behind a flag, or by default when the branch is gt-tracked) runs the gate as today, then creates/updates the PR through gt submit instead of gh pr create, then layers on the Session line, ledger registration (--track), reviewer request and body cross-links exactly as now. The gt submit ban in notes/graphite.md is about *bypassing* those steps; a tool that sequences them keeps every invariant while giving the Graphite UI first-class stacks.

Prereqs/care: box must be authed as its bot identity (it is, jcantsp-bot — notes/graphite.md token-owner gotcha); check what gt submit does to an existing PR's body (must not clobber the Session line); interacts with #867 (reading --base from gt metadata) — plausibly one piece of work.

Found while answering the UI question on the #864#870 stack. Unclaimed.

Dependencies

None.

Comments

No comments.

Add a comment