Skip to content

[Phase 3 gate] Human sign-off: final PR-limit caps + exempt list + rollout scope #566

Closed

Description

@don-petry

Why this gate exists

Epic #505 carries an explicit prerequisite:

Human sign-off on the final numeric limit, the exempt-actor list, and the rollout scope before Story 3 flips enforcement on a live repo.

Phase 2 is now delivered and inert — it changes no behavior yet:

Story 3 (#508) is the apply path that actually enforces the cap — i.e. wires the guard into the live PR-creating automation. Per ADR §2–§3 there is no native GitHub surface to toggle, so enforcement means calling plg_admission_gate from the PR-creation engine, which lives in petry-projects/.github-private (the dev-lead / initiative-driver reusables) — a different repo than this one's dev-lead can author. So #508 is not a clean in-repo auto-cascade story; it needs human decisions and a deliberate cross-repo apply.

Decisions required before #508 proceeds

  1. Final caps — accept the provisional ADR §6 numbers now in standards/pr-limits.json (org-wide automation cap 18; per-source dev-lead 9 / claude 4 / initiative-driver 5) or adjust.
  2. Exempt actors / labels — confirm the list: dependabot[bot], OrganizationAdmin, @petry-projects/org-leads, dependabot-automerge-petry, + the security label.
  3. Rollout scope — pilot on a single repo first (epic default) vs. org-wide.
  4. Apply mechanism — how the cross-repo wiring into .github-private is authored and landed.

How to release

Close this issue once the above are decided (and the config updated to the signed-off numbers). #508 is blocked_by this gate, so closing it lets the initiative-driver release #508 with an ADR-faithful, signed-off scope.

Opened to honor the epic #505 human-sign-off prerequisite and to pause the otherwise-automatic cascade at the enforcement step. The in-flight auto-released #508 dev-lead run was cancelled because it would have churned on the pre-ADR premise (applying via scripts/apply-repo-settings.sh, which the ADR ruled out) and cannot perform the cross-repo wiring.

Activity

  1. don-petry commented on Jul 1, 2026

    @don-petry
    ContributorAuthor

    Dev-Lead: this is a human sign-off gate — pausing, not implementing

    An automated dev-lead run was assigned to this issue, but #566 is by design a human sign-off gate, not a code task. I am deliberately not self-approving it, because doing so would fabricate the very human decision this gate exists to require. Concretely, I have made no config change and have not closed this issue.

    Why an agent must not auto-release this

    • The issue body records that the auto-released [Phase 3] Apply path: enforce the limit on target repo(s) + tests #508 dev-lead run was cancelled precisely to stop automation from churning ahead of this human decision.
    • standards/pr-limits.json still carries "status": "provisional" with a note that every value is pending human sign-off.
    • The ADR (docs/initiatives/pull-request-limits-adr.md §6) marks all caps and the exempt list as "PROPOSALS, NOT FINAL … deferred to human sign-off."

    Flipping the config to signed-off and closing this would let #508 (blocked_by this gate) release with a sign-off that no human actually gave. That is the opposite of what the gate is for.

    The four decisions a human needs to make

    1. Final caps — accept the provisional ADR §6 numbers now in standards/pr-limits.json (org-wide automation cap 18; per-source dev-lead 9 / claude 4 / initiative-driver 5), or adjust.
    2. Exempt actors / labels — confirm the list: dependabot[bot], OrganizationAdmin, @petry-projects/org-leads, dependabot-automerge-petry, + the security label.
    3. Rollout scope — pilot on a single repo first (epic default) vs. org-wide.
    4. Apply mechanism — how the cross-repo wiring into petry-projects/.github-private (calling plg_admission_gate from the PR-creation engine) is authored and landed. Note this repo's dev-lead cannot author into .github-private.

    How to release (unchanged from the issue)

    A human with authority over epic #505: once you've decided the above, either (a) update standards/pr-limits.json to the signed-off numbers and set its status to signed-off, then close this issue, or (b) tell me the decisions and I'll prepare the config edit for your review (I still will not close the gate on my own authority).

    No files were modified by this run. The gate remains open.

  2. don-petry commented on Jul 1, 2026

    @don-petry
    ContributorAuthor

    Sign-off recorded (2026-07-01)

    This gate stays open until the .github-private apply (#1003) lands, since #508 is blocked on it. Closing it then will release the downstream doc (#509) + measure (#510) stories.

  3. don-petry commented on Jul 1, 2026

    @don-petry
    ContributorAuthor

    Sign-off complete and the apply path has landed:

    Enforcement is now on main in .github-private but activates only once the change promotes through the dev-lead channels (ring0 → stable) via the normal canary-rollout soak — it's a no-op today (41/50 counted) so riding the standard soak is safe. Unblocking #508.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions