Skip to content

forge: Add native stack updates - #1397

Draft
abhinav wants to merge 1 commit into
mainfrom
github-native-stack-forge
Draft

forge: Add native stack updates#1397
abhinav wants to merge 1 commit into
mainfrom
github-native-stack-forge

Conversation

@abhinav

@abhinav abhinav commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Forge repositories can expose native stacking through the optional
WithStacks upgrade. GitHub projects the complete open change graph
onto 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

@abhinav abhinav added the skip changelog PRs that don't need a changelog. label Aug 10, 2026
@abhinav
abhinav force-pushed the github-native-stack-forge branch from bb1c681 to bebc770 Compare August 12, 2026 02:43
@abhinav
abhinav force-pushed the github-native-stack-forge branch from bebc770 to ae0530e Compare August 12, 2026 03:06
@abhinav
abhinav marked this pull request as ready for review August 12, 2026 03:20
@abhinav
abhinav force-pushed the github-native-stack-forge branch from d175d83 to fa471cb Compare August 12, 2026 03:50
@abhinav
abhinav force-pushed the github-native-stack-forge branch from fa471cb to c51c56b Compare August 12, 2026 04:19
@abhinav
abhinav marked this pull request as draft August 15, 2026 13:56
@abhinav
abhinav force-pushed the github-native-stack-forge branch from c51c56b to a1ed268 Compare August 15, 2026 13:56
@abhinav
abhinav force-pushed the github-native-stack-forge branch from a1ed268 to 14ece61 Compare August 23, 2026 13:40
@abhinav
abhinav force-pushed the github-native-stack-forge branch 2 times, most recently from 1313a85 to 03d4971 Compare August 24, 2026 03:02
@abhinav
abhinav force-pushed the github-native-stack-forge branch from 03d4971 to 30a9244 Compare August 24, 2026 03:13
Base automatically changed from github-native-stack-gateway to main August 24, 2026 12:41
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
abhinav force-pushed the github-native-stack-forge branch from 30a9244 to e8f5317 Compare August 24, 2026 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip changelog PRs that don't need a changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant