Skip to content

Phase 8: codify review-ready hand-off as a valid terminal state; never --admin; explicit human auth satisfies a do-not-auto-merge hold #39

Closed

Description

@dmccoystephenson

Template gap (consolidated)

Phase 8 is written as if gh pr merge succeeds whenever no do-not-auto-merge path matches. On several real repos there is no autonomous merge path at all: main is branch-protected (requires an approving review) and/or repository auto-merge is disabled, so a clean, CI-green PR's true terminal state is open + self-review posted + awaiting human approval — not "merged". Separately, when a protected path does match, the skill is silent on what happens after the human codeowner explicitly authorizes the merge.

Rule to add to the template (Phase 8 / Edge cases)

  • Make "review-ready hand-off" an explicit, expected Phase-8 terminal outcome for a clean PR when branch protection or disabled auto-merge blocks autonomous merge. Expect gh pr merge → the base branch policy prohibits the merge and --auto → Auto merge is not allowed for this repository. Do not use --admin to bypass a deliberately-configured human gate. A future self-audit must not score "could not auto-merge" as a failed cycle.
  • A do-not-auto-merge path match blocks autonomous merge only. If the human codeowner explicitly authorizes the merge after being shown which protected path matched, that authorization satisfies the hold — proceed, but still run the Phase 7 docs sweep and Phase 8 regression gate first, and state in the merge report which protected path was overridden and by whose authorization.

Consolidates (close on merge of the template change)

  • example-s-dev-loop#3 — auto-merge unreachable (protected main + auto-merge disabled)
  • example-z-dev-loop#2 — do-not-auto-merge hold vs. explicit user authorization

Related repo-specific residue (left open): example-o-dev-loop#4 (gateway auto-deploys prod on merge), example-�-dev-loop#2 (foundational-phase hand-off is the norm).

Consolidated upstream from per-loop self-audit findings. drafted by Claude on behalf of Daniel Stephenson

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    template-ruleShould be promoted into create-dev-loop.md

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions