Skip to content

shamhub: Model native stack operations - #1405

Merged
abhinav merged 2 commits into
github-stacks-configfrom
shamhub-native-stacks
Oct 24, 2026
Merged

abhinav merged 2 commits into
github-stacks-configfrom
shamhub-native-stacks

Conversation

@abhinav

@abhinav abhinav commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Submit and merge integration need a deterministic forge that exposes the same
optional native-stack boundary as production providers.
Add an opt-in ShamHub repository implementing the complete WithStacks
contract while leaving the capability absent by default for existing scripts.

Plan immutable stack replacements without mutating stored state.
Execution atomically validates and replaces the touched relationships together
with their provider-facing bases, allowing submit tests to detect sequencing
regressions.

Preserve divergent relationships in storage and derive disjoint linear merge
plans from that representation.
Each executable range validates and constructs its merge or squash result
before one compare-and-swap publication, so failures cannot expose a partial
atomic merge.

Refs #1388

Submit and merge integration need a deterministic forge that exposes the same
optional native-stack boundary as production providers.
Add an opt-in ShamHub repository implementing the complete `WithStacks`
contract while leaving the capability absent by default for existing scripts.

Plan immutable stack replacements without mutating stored state.
Execution atomically validates and replaces the touched relationships together
with their provider-facing bases, allowing submit tests to detect sequencing
regressions.

Preserve divergent relationships in storage and derive disjoint linear merge
plans from that representation.
Each executable range validates and constructs its merge or squash result
before one compare-and-swap publication, so failures cannot expose a partial
atomic merge.

Refs #1388
@abhinav
abhinav force-pushed the shamhub-native-stacks branch from 7fa6eb1 to 81cf859 Compare October 23, 2026 14:24
Range-merge atomicity tests launched a generated POSIX script as Git.
Windows could not execute it, so they failed during base resolution
rather than at commit construction or ref publication.

Run the Go test executable in a Git-helper mode instead,
using the established platform-suffixed symlink/copy setup.
Reject the selected subcommand and forward the other calls to real Git,
preserving its I/O and exit status so preparation and unchanged-state
checks still inspect real repositories.
@abhinav
abhinav merged commit 0ce443c into main Oct 24, 2026
22 checks passed
@abhinav
abhinav deleted the shamhub-native-stacks branch October 24, 2026 16:03
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