Skip to content

[Fleet incident] Disable orphaned one-shot hardening and release-helper workflow identities #33

Description

@seonghobae

Live Actions registry drift

The repository's Actions API currently reports 23 workflow identities. Numerous historical one-shot hardening, dependency-lock, branch-normalization, review/merge, calendar-repair, and v0.8.0 release-helper records remain in state: active, including examples such as:

  • one-shot-calendar-repair.yml;
  • one-shot-commercial-hardening.yml and v2;
  • one-shot-final-hardening-gate.yml;
  • one-shot-fix-contract.yml;
  • one-shot-format-verify.yml;
  • one-shot-hardening-review-merge.yml;
  • one-shot-httpx2-lock.yml and one-shot-lock-dependencies.yml;
  • one-shot-normalize.yml, one-shot-review-and-merge.yml, and one-shot-verify.yml;
  • v0.8.0 prepare/finalize/recover helpers.

Fresh protected-main contents lookup returns 404 Not Found for sampled active path .github/workflows/one-shot-calendar-repair.yml. The source is absent, but GitHub continues to advertise the workflow identity as active.

The supported CI, Hourly NVIDIA NIM Product Development, Hourly Product Quality Loop, NVIDIA evaluation, and current release/security workflows must be preserved.

Root cause

Temporary hardening and release-helper workflows were removed from the protected-main tree after their bounded use, while their independent Actions registry records were not disabled. File deletion was treated as complete workflow lifecycle cleanup. Current source-level tests cannot detect orphaned control-plane identities after source removal.

Realistic remediation

Do not restore historical YAML and do not create another self-deleting cleanup workflow. Under the Four Pillars owner/operations loop:

  1. paginate the complete Actions registry;
  2. bind evidence to the exact protected-main SHA and tree;
  3. classify present repository workflows, active orphan records, disabled records, GitHub-owned dynamic workflows, intended pending supported integrations, and unresolved records;
  4. refetch exact branch/workflow state immediately before mutation;
  5. disable active orphan repository-path identities through an authorized operator or normal reviewed control-plane action;
  6. preserve all current supported CI, hourly development/quality, NIM evaluation, security, and release workflows;
  7. retain immutable before/after evidence.

Coordinate with central lifecycle issue ContextualWisdomLab/.github#945 and AppGuardrail detector issue ContextualWisdomLab/appguardrail#929. Do not introduce another PAT, COPILOT_GITHUB_TOKEN, broad secrets: inherit, or workflow-disable authority into an untrusted scanner.

Acceptance criteria

  • complete paginated inventory and exact protected-main binding;
  • every reviewed active repository-path workflow absent from protected main disabled or explicitly justified;
  • no current CI/hourly/NIM/release workflow disabled through name-only matching;
  • no historical hardening or release-helper source reintroduced;
  • read-only recurrence detector emits workflow ID, path, state, default-branch SHA, observation time, and pagination receipts;
  • adversarial tests cover pagination truncation, permission loss, transient 403/404/5xx, branch movement, path case/encoding, renamed/reused workflow IDs, GitHub dynamic workflows, and a currently present release helper still owned by an active release process;
  • exact-head CI/security/review gates;
  • normal protected-main integration;
  • post-remediation live inventory proves orphan identities disabled while supported Hourly NVIDIA NIM Product Development and Product Quality Loop paths remain operational.

This issue belongs to the organization-wide Hourly Product Development fleet incident. The fleet audit remains read-only and tracks protected-main operational evidence.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions