Live Actions control-plane drift
The repository's Actions API currently reports 52 workflow identities. Numerous historical bootstrap, autofix, cleanup, probe, and PR-specific repair workflows remain in state: active, including examples such as:
apply-pr-696-review-fixes.yml through v4;
autofix-pr-693-contracts.yml;
autofix-pr-706-locks.yml;
autofix-pr-716-layout.yml;
bootstrap-current-pr-queue.yml;
cleanup-pr-716-artifacts.yml and cleanup-pr-731.yml;
- multiple
pr-693-*, pr-700-*, and related repair/probe workflows.
Fresh protected-main contents lookup returns 404 Not Found for sampled active path .github/workflows/apply-pr-696-review-fixes-v4.yml. The workflow source is absent, but its registry identity remains advertised as active.
Root cause
Temporary PR repair workflows were removed from Git history after their bounded use, but the independent GitHub Actions registry state was not disabled. Existing quality checks inspect the current tree and therefore cannot detect orphaned workflow identities whose source files are gone.
The repository consequently has no trustworthy answer to “which writers are enabled,” and retains active metadata tied to superseded PR heads and completed repair attempts.
Feasible remediation
Do not restore the old YAML or create another self-deleting repair workflow. Through a normal reviewed operator/control-plane path:
- paginate the complete workflow registry;
- bind the audit to the exact protected-main SHA and tree;
- distinguish present repository workflows, orphaned repository workflows, disabled records, and GitHub-owned dynamic workflows;
- disable each active orphan after a second exact-state refetch;
- preserve current CI, security, dependency, release, fuzz, supported review, and active product workflows;
- produce an immutable before/after ledger.
Coordinate with organization control-plane issue ContextualWisdomLab/.github#945 and detector issue ContextualWisdomLab/appguardrail#929. The repository owner loop retains all mutation authority.
Prevention and acceptance
- executable read-only audit catches active orphan records with workflow ID/path/state/default-branch SHA and pagination receipts;
- missing permissions, transient 403/404/5xx, or branch movement fail closed;
- no name-only heuristic disables a legitimate live workflow;
- no temporary writer source is reintroduced;
- adversarial tests cover pagination, path case/encoding, workflow rename/ID reuse, GitHub dynamic workflows, and a live workflow with a repair-like name;
- exact-head CI/security/review gates pass;
- normal protected-main integration;
- post-remediation Actions inventory proves all reviewed orphans disabled while supported production workflows still execute.
This is part of the organization-wide Hourly Product Development fleet incident. The fleet audit remains read-only and tracks protected-main operational evidence.
Live Actions control-plane drift
The repository's Actions API currently reports 52 workflow identities. Numerous historical bootstrap, autofix, cleanup, probe, and PR-specific repair workflows remain in
state: active, including examples such as:apply-pr-696-review-fixes.ymlthroughv4;autofix-pr-693-contracts.yml;autofix-pr-706-locks.yml;autofix-pr-716-layout.yml;bootstrap-current-pr-queue.yml;cleanup-pr-716-artifacts.ymlandcleanup-pr-731.yml;pr-693-*,pr-700-*, and related repair/probe workflows.Fresh protected-main contents lookup returns
404 Not Foundfor sampled active path.github/workflows/apply-pr-696-review-fixes-v4.yml. The workflow source is absent, but its registry identity remains advertised as active.Root cause
Temporary PR repair workflows were removed from Git history after their bounded use, but the independent GitHub Actions registry state was not disabled. Existing quality checks inspect the current tree and therefore cannot detect orphaned workflow identities whose source files are gone.
The repository consequently has no trustworthy answer to “which writers are enabled,” and retains active metadata tied to superseded PR heads and completed repair attempts.
Feasible remediation
Do not restore the old YAML or create another self-deleting repair workflow. Through a normal reviewed operator/control-plane path:
Coordinate with organization control-plane issue
ContextualWisdomLab/.github#945and detector issueContextualWisdomLab/appguardrail#929. The repository owner loop retains all mutation authority.Prevention and acceptance
This is part of the organization-wide Hourly Product Development fleet incident. The fleet audit remains read-only and tracks protected-main operational evidence.