Skip to content

Actions allow-list is selected with 0 patterns — any third-party action dies at startup with jobs=0; owner PUT of the canon needed #16

Description

@hyperpolymath

Measured (2026-09-22)

  • gh api repos/hyperpolymath/choreographic-types/actions/permissions → allowed_actions: selected; …/selected-actions → patterns_allowed: [], github_owned_allowed: true, verified_allowed: true.
  • Canon: hyperpolymath/standards config/settings/actions-allowlist.json @ ed5e3f65 = 93 patterns. Positive control: echo-types live = 92 (missing only tailscale/github-action@*).
  • Mutant proof on residual-evidence-types (same posture, 2026-09-22): a workflow with one third-party uses: step dies startup_failure with jobs=0; the same head minus that step runs jobs=1 green.
  • Today the only caller is secret-scanner.yml → hyperpolymath/standards/.github/workflows/secret-scanner-reusable.yml (same-owner, admitted under selected), so nothing is killed by this posture yet. Any future prover workflow that uses a marketplace action will be.

Why it matters

A 0-pattern selected posture is the predicted shape of a mid-sweep death of the estate allow-list rollout (2 of the 8 family repos: residual-evidence-types, created 09-09, already existed at the 2026-09-15 census that recorded zero empty pattern lists, so it is a counterexample to that census; this repo postdates it). It is silent until the first third-party action.

Acceptance criteria

  1. gh api repos/hyperpolymath/choreographic-types/actions/permissions/selected-actions --jq '.patterns_allowed|length' returns the count of the payload that was PUT (compare to the payload, never to a remembered number; 93 at ed5e3f65).
  2. Positive control in the same command: echo-types returns the same count after its own refresh.
  3. The PUT is owner-only (the auto-mode classifier denies it from an agent session). With the canon file saved as payload.json ({"github_owned_allowed":true,"verified_allowed":true,"patterns_allowed":[…]}):
gh api -X PUT repos/hyperpolymath/choreographic-types/actions/permissions/selected-actions --input payload.json

Note

The scanner reds on this repo are the billing refusal described in #15, not this posture.

🤖 Generated with Claude Code

Activity

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions