Skip to content

actions-lock cliff: ENFORCE_ACTIONS_LOCK_FROM=2026-10-01 reddens 163 callers with no human action #903

Description

@hyperpolymath

Finding

The actions-lock cliff is dated and unsurvivable as set.
ENFORCE_ACTIONS_LOCK_FROM defaults to 2026-10-01. Source: developer/.claude/checkpoints/2026-09-22-cicd-pipeline-delivery.md §5-1
(duplicate of developer/.claude/checkpoints/2026-09-22-pipeline-delivery-summary.md §7-12).

Complete census, gh api on default branches, 2026-09-22:

Population Count
governance callers 368
…with actions.lock 200
…without 163
…no workflows dir 5

The lockless 163 split 154 ALLPINNED / 9 UNPINNED. So arming the gate
estate-wide reddens 9 today and 163 on 2026-10-01, with no human action in
between and no merge required: all 368 callers are SHA-pinned, so merging to
standards main reaches nobody — but a runtime date baked into an
already-distributed SHA
needs no bump to fire.

Why this is the dangerous shape

A date inside a pinned artefact is the one mechanism in this estate that can change
caller behaviour with nobody in the loop. Everything else requires a deliberate pin
bump.

Acceptance criteria

  • A shrink-only ledger of lockless/unpinned callers exists under
    .machine_readable/, registered in scripts/check-exemption-ratchet.sh
  • The ledger is observed to stop growing before any cutover date is chosen
  • ENFORCE_ACTIONS_LOCK_FROM is moved out of the pinned artefact into an
    env/ledger input, so the date is not distributed inside a SHA
  • The cutover date is set after the ledger plateaus — not a date that
    arrives first
  • The gate prints its denominator (lock debt: N callers) on every run

Decision sheet: #787

No activity

Activity on this issue will appear here.

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

    cicdCI/CD: workflows, actions, lockfiles, pins, runners, release gatespriority:p0Critical - drop other workscope:estateAffects many or all repos across the estatestatus:readyFully specified and ready to be picked up

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions