mirror of
https://github.com/cursor/plugins.git
synced 2026-09-14 20:00:00 +08:00
d7cde2b84e
Punctuation and single-word swaps only. No sentence added or deleted, no restructuring, no new text. - 65 markdown files under pstack/skills. 220 changed lines, every changed line pairs with one base line. - 272 rewrites. 239 semicolons (224 became a period plus a capital, 15 became a comma). 29 connector colons (28 became a period, 1 became a comma). 1 em dash before a list became a colon. 3 word swaps (`public surface` and `smaller surface area` to `API`, `echo the scaffolding` to `echo the structure`). - Label colons, colons before a list or an example, template strings such as `file:line`, and the literal `TL;DR` stay. - Heading, numbered-step, fenced-block, and line counts are unchanged in every file. No frontmatter, code span, or fenced block changes. - o200k tokens of the pstack/skills markdown tree 87,747 before, 87,766 after (+19), because a period plus a capital tokenizes one token longer than a semicolon in a few places. Co-authored-by: Cursor Agent <cursoragent@cursor.com>
4.7 KiB
4.7 KiB
Shipping
You own what lands. Verify each PR independently, land only the verified run from the root, then keep your hands off the queue.
This is the half after playbooks/babysit.md.
- Resolve the forge, then verify every PR independently. GitHub CLI (
gh) is the default. Ifcommand -v originsucceeds and Origin can resolve the repository, useorigin pr ...for PR view, watch, edit, and merge operations. Otherwise stay onghand record the fallback. Never require Graphite (gt). One subagent per PR, not batched, each a Cursor cloud agent, each exercising the real surface (control-uiorcontrol-clifromcursor-team-kitas the change demands) against parent versus head. Each returnsPASS,PASS+NOTESorFAILand posts that verdict on its own PR. Safe means a verdict from an agent that did not write the code. CI green is not a verdict, and an approving bot review is not a verdict. - Land only the contiguous verified run rooted at the bottom. Walk up from the lowest unmerged PR and stop at the first one without a passing verdict, where both
PASSandPASS+NOTESpass. A verified PR sitting above an unverified one is not landable. Report the ceiling as a PR number and say what breaks the chain. - Re-check that each verdict still describes the patch. Record the verdict head SHA, base SHA, and stable
git patch-idof that PR's base-to-head diff. A rebase or base retarget rewrites SHAs and can silently invalidate a verdict without touching a check. Before landing a PR, compare the recorded patch-id with its current base-to-head patch-id. Re-verify when the patch changed. When it did not, keep the code verdict but re-run mergeability and CI at the current head. Never use matching commit messages or a green check from an older SHA as a substitute. - Prepare only the bottom PR. Fetch current trunk. Rebase the lowest verified branch onto the exact trunk tip when needed, push it, and retarget only that PR to trunk with
origin pr edit <pr> --base <trunk>orgh pr edit <pr> --base <trunk>. Re-run step 3 after the push. Do not retarget, arm, or merge descendants yet. - Land one PR at a time. If the bottom PR is mergeable now, squash it with
origin pr merge <pr> --squashorgh pr merge <pr> --squash. If requirements are still running and the user asked for merge-when-ready, arm only that PR withorigin pr merge <pr> --squash --autoorgh pr merge <pr> --squash --auto. Origin's--autois Origin merge-when-ready. GitHub's--autois GitHub auto-merge. Wait for that PR to merge before preparing the next one. - Do not read GitHub
autoMergeRequestas stack readiness. At most it says GitHub auto-merge was requested for one GitHub PR. It does not prove Origin merge-when-ready is armed, that a descendant is queued, that a patch verdict is current, or that the contiguous stack is safe. Confirm the active forge's state for the current bottom PR, and say that the state is unknown if the active forge cannot report it. - Recompute after every merge. Fetch trunk, confirm the merged SHA is present, drop the merged PR from the frozen bottom-to-top list, and inspect the new bottom PR's base, head, checks, and patch-id. A host may retarget a child automatically, but do not assume it did. Repeat steps 3 through 6 for that one PR. Independent work stays outside this chain and ships on its own.
- Watch the current frontier until it merges or fails. Do not mutate the queue around it. With Origin, use
origin pr view <pr> --checks --commentsandorigin pr checks <pr> --watch, then re-read the PR until it reports merged or blocked. With GitHub, usescripts/watch-pr/watch-pr --queued-stack --stack-prs <bottom>only as an event wake and pollgh pr view <pr> --json state,mergedAt,mergeStateStatus,statusCheckRollup,autoMergeRequestafter each wake, ignoringREADYuntilmergedAtis non-null orstateisMERGED. Only then run step 7. Hard-fail only whenstateisCLOSEDwith nomergedAt, a required check concludesFAILUREorCANCELLEDand blocks merge after auto-merge is no longer pending, ormergeStateStatusisUNSTABLEorDIRTYwith no auto-merge pending.BLOCKEDwhile checks are pending or auto-merge is armed is not failure. Do not use Babysit's queuedWAITING/merge-queuestop condition here. Hold the watch under/loopin dynamic mode. Report each merge and the new ceiling. If the queue stalls, diagnose before mutating. - Stop at the ceiling. When the verified run is merged, report what landed, what the next unverified PR is, and what verifying it would take. Extending the run is a new pass through step 1.
Reply: the verified run and its ceiling, each PR's verdict and who produced it, what you armed and how you confirmed it, what landed, and what the next gap needs.