docs: itd-29 refinement — pick up out-of-band merged PRs (+ SOTA) - #25
Merged
Conversation
…ration Refines itd-29 (autonomous-run-resilience) with the out-of-band-merge scenario surfaced by the itd-80 build: a long run opens a series of PRs a maintainer merges asynchronously, and must detect each merge, prune the merged branch, rebase the in-flight follow-on onto the new base, and re-test — never touching git by hand, never auto-resolving a conflict, never force-pushing. Adds a scope bullet, an acceptance criterion, and (dogfooding sota-per-intent) a ## SOTA section declaring Path 2: host-owns-git MVP with a read-only 'abcd run reconcile --json' advisory verb as the promotion rung; seam to Graphite/Mergify/GitHub-auto-merge stays open, no new dependency. Assisted-by: Claude:claude-opus-4-8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refines itd-29 (autonomous-run-resilience) with the out-of-band-merge scenario the itd-80 build surfaced (recorded in the run-learnings note): a long autonomous run opens a series of PRs that a maintainer merges asynchronously, and must keep itself in lockstep — detect each merge, prune the merged branch, rebase the in-flight follow-on onto the new base, and re-test — without the user touching git.
itd-29 already owned engine-side auto-rebase →
resolve-on-conflict for its own trunk; this extends that to externally-merged PRs. Adds:abcd spec resolve(never auto-resolved), never force-push, a red gate after rebase is a hard stop.make preflight, continue; conflict/red-gate → suspend, don't push through.## SOTAsection (dogfoodingsota-per-intent; adding it is still manual until theintent_sotalint lands). Declares Path 2: the run engine rides the pluggable seam (adr-27); branch/merge reconciliation is host-owns-git (the loop uses thegh+gitit already has) with a read-onlyabcd run reconcile --jsonadvisory verb as the promotion rung — the destructive git never enters abcd's core. Seam to Graphite / Mergify / GitHub-native auto-merge stays open; no new dependency.Docs-only; no code change.
Assisted-by: Claude:claude-opus-4-8