feat(pstack): give gh-stack inspect an ordered member list - #20
Open
shishiv wants to merge 3 commits into
Open
Conversation
Delivery membership is proven parent-first tuples from gh stack view JSON. Graphite is removed from delivery contracts so stack proof has one backend.
Short fixture SHAs never reached the fork and cycle walks. Drop the leftover availableCommands factory argument.
The phase 8 diff added no comments. These lines were narration on restore, preflight, a private helper, Benny speculation, and a types banner.
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.
Why
Delivery treated stack membership as a JSON walk in the extension.
inspect()copied the current branch and Graphite could invent a SHA from fake JSON. Auto-merge needs a parent-first chain of PR numbers and head SHAs. Graphite is not a delivery backend.Scope
StackSnapshotis{ kind: "proven", members }or{ kind: "unproven" }.GhStackBackend.inspect()parsesgh stack view --jsonwith the same single-chain rules asstackPullRequestsThrough.membersThroughreturns a prefix orundefined.StackBackendNameis"gh-stack".GraphiteBackendand thegtprobe are gone. Tools takebackend: Type.Literal("gh-stack"). Orch Graphite scripts are untouched.stackPullRequestsThroughstays until phase 9.Tradeoffs
pstack_deliverystill callsexecute({ kind: "inspect" }). Membership lives oninspect(). Phase 9 switches the tool. Emptymembers: []is not the failure signal.Blast Radius
Receipts,
pstack_create_receipt, andpstack_deliveryonly accept gh-stack. Callers that passed"graphite"fail validation. Shipping skills describe one backend.Verification
npm run verify:deterministicin/home/shiv/github/pi-pstack-robust-p8. 76 tests. Format, lint, and typecheck passed. Topology fixtures use six-character SHAs so fork and cycle walks run.Made with Cursor