mirror of https://github.com/garrytan/gstack.git
Four related fixes to /land-and-deploy's merge/verify loop, aimed at a
recurring failure pattern: tasks that report as done without a human ever
actually looking at the result, causing more work to stack on top of an
unfinished task.
- Step 2a: resolve required checks from branch protection
(`gh api .../branches/{base}/protection`) instead of treating every check
`gh pr checks` reports as equally blocking. Repos that run a fast required
tier plus a slower advisory tier no longer wait on the advisory tier to
gate the merge. Falls back to old all-checks behavior if the API call
fails (no admin read / no branch protection configured).
- Step 2b: recognize the CI-budget-exhaustion signature (0 steps, run
completes in seconds instead of its normal duration) before reporting a
required check as a real code failure. Offers to run an equivalent local
CI script instead of blocking on a red X that never actually executed.
- Step 3.5c-bis: if a project documents a mandatory PR report/checklist
format (in CLAUDE.md or CONTRIBUTING.md), verify it's present and
complete before recommending merge, same tiering as the existing
warning/blocker system.
- Step 7a (the core fix): after the automated canary passes, open the live
URL for the user and wait for an explicit human reply before marking the
deploy VERIFIED. A green automated check is not the same thing as a human
confirming the change works — reporting "healthy" from a script alone is
a worse failure mode than no report, because it looks finished when
nobody actually looked. Step 9's verdict now distinguishes DEPLOYED AND
VERIFIED (human confirmed) from DEPLOYED (AUTOMATED CHECKS ONLY —
AWAITING HUMAN SMOKE TEST).
Tested: bun test 1148 pass / 6 fail (all 6 pre-existing on clean main,
unrelated to this diff — confirmed by stashing the patch and re-running).
bun run gen:skill-docs --dry-run reports FRESH on all files, exit 0.
|
||
|---|---|---|
| .. | ||
| SKILL.md | ||
| SKILL.md.tmpl | ||