forge: Add native stack updates - #1397
Draft
abhinav wants to merge 1 commit into
Draft
Conversation
Owner
Author
|
This change is part of the following stack:
Change managed by git-spice. |
This was referenced Aug 10, 2026
abhinav
force-pushed
the
github-native-stack-forge
branch
from
August 12, 2026 02:43
bb1c681 to
bebc770
Compare
abhinav
force-pushed
the
github-native-stack-forge
branch
from
August 12, 2026 03:06
bebc770 to
ae0530e
Compare
abhinav
marked this pull request as ready for review
August 12, 2026 03:20
abhinav
force-pushed
the
github-native-stack-forge
branch
from
August 12, 2026 03:50
d175d83 to
fa471cb
Compare
abhinav
force-pushed
the
github-native-stack-forge
branch
from
August 12, 2026 04:19
fa471cb to
c51c56b
Compare
abhinav
marked this pull request as draft
August 15, 2026 13:56
abhinav
force-pushed
the
github-native-stack-forge
branch
from
August 15, 2026 13:56
c51c56b to
a1ed268
Compare
This was referenced Aug 15, 2026
abhinav
force-pushed
the
github-native-stack-forge
branch
from
August 23, 2026 13:40
a1ed268 to
14ece61
Compare
abhinav
force-pushed
the
github-native-stack-forge
branch
2 times, most recently
from
August 24, 2026 03:02
1313a85 to
03d4971
Compare
abhinav
force-pushed
the
github-native-stack-forge
branch
from
August 24, 2026 03:13
03d4971 to
30a9244
Compare
Forge repositories can expose native stacking through the optional `WithStacks` upgrade. A direct best-effort update cannot safely represent insertion, removal, reordering, or splitting because a provider may need to inspect existing membership before pull request bases change. Make stack updates a read-only batch planning operation followed by single-use execution. GitHub projects the complete open change forest onto eligible linear paths and plans exact, create, append, or unstack-retarget-recreate transitions. Compatible existing membership constrains path selection before the deterministic furthest-path fallback, so a longer unstacked sibling cannot displace a manually selected native path. Leave ambiguous divergent or locked stacks unchanged with one warning for the affected tree, while returning genuine inspection and write failures. The shared forge integration suite exercises planning, creation, extension, and idempotence. Refs #1388
abhinav
force-pushed
the
github-native-stack-forge
branch
from
August 24, 2026 12:41
30a9244 to
e8f5317
Compare
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.
Forge repositories can expose native stacking through the optional
WithStacksupgrade. GitHub projects the complete open change graphonto a deterministic linear same-repository path, then creates or
extends the native stack on a best-effort basis.
GitHub cannot replace an existing native stack with a divergent path.
Constrain path selection with compatible native membership before
scanning its upstack, so a longer unstacked branch cannot displace a
manually chosen native path. Leave multiple or incompatible native
stacks unchanged and warn once for the affected tree.
Use the compact gateway projection for reconciliation. The shared forge
integration suite covers stack creation, extension, and idempotence.
Refs #1388