Skip to content

ops: rationalize scheduled workflows and recurring organization maintenance #485

Description

@ss-o

Purpose

Create one coordination point for auditing, classifying, and improving recurring organization maintenance without replacing the owning issues for individual workstreams.

The target operating model is hybrid:

  • GitHub Actions owns deterministic repository checks and genuinely time-driven jobs.
  • Read-only agent reviews produce drafts for maintainer evaluation.
  • Mutating or high-judgment operations remain explicitly approved and are not placed behind broad unattended credentials.
  • Existing runbooks, issues, and Linear records remain the sources of truth for their respective workstreams.

Verified public baseline - 2026-07-27

A default-branch Trees and Contents API inventory covered all 86 active, public, non-fork repositories.

  • 93 scheduled workflow files exist across 51 repositories.
  • 33 are obsolete sync-labels.yml callers, already tracked by ci: 33 repositories schedule a sync-labels workflow that no longer exists #472. All 33 are currently disabled_inactivity; activity can reactivate the broken schedule.
  • 24 are scheduled Trunk callers. Eighteen use the same Friday 05:00 UTC boundary.
  • 11 are stale or lock workflows.
  • 5 are CodeQL schedules.
  • 20 are repository-specific monitoring, documentation, metrics, container-test, translation, or site workflows.

GitHub documents that scheduled workflows can be delayed or dropped during high load, particularly at the start of an hour, and that public-repository schedules are disabled after 60 days without repository activity. The current inventory therefore needs classification based on purpose and live behavior, not file presence alone.

Existing owning tracks

Do not duplicate these records:

This issue coordinates the cross-cutting recurring-operations design and links outcomes back to those owners.

Priority and complexity

P0 - high impact

  1. Complete Pilot weekly org review cadence and prompt tuning #412 cycles 2 and 3 (Medium, time-gated), then record whether the organization review stays manual, becomes a read-only scheduled draft, or is retired.
  2. Privately audit organization-level Actions credential and execution defaults (High). Inventory workflows that rely on implicit write access before proposing narrower defaults. Do not publish sensitive admin details in this issue.

P1 - standardization

  1. Remove the 33 obsolete label-sync callers under ci: 33 repositories schedule a sync-labels workflow that no longer exists #472 (Low per repository, High coordination).
  2. Classify all retained schedules (Medium) as retain, replace with an event trigger, consolidate through a reusable workflow, document as a manual runbook, or remove.
  3. Review the 24 scheduled Trunk callers (Medium). Remove unchanged-code schedules that add no regression signal, and stagger retained schedules away from shared hour boundaries.
  4. Decide stale and lock policy (Medium, maintainer judgment). Do not let unattended automation close useful work without an explicit organization rule.
  5. Review CodeQL schedule ownership (High). Prefer organization security configuration or default setup where it meets the repository's language and policy needs; retain advanced workflows only for justified exceptions.

P2 - ongoing governance

  1. Define a monthly workflow-health review (Low) using Actions usage, queue-time, duration, and failure-rate evidence.
  2. Evaluate repository classification metadata (Medium) for maintenance tier, release class, and review cadence without making unavailable paid-plan features a dependency.
  3. Define a quarterly governance review (Low) covering runbooks, ADRs, release models, documentation drift, and recurring investigations.

Classification record

Every scheduled workflow must receive these fields in the audit artifact:

Repository:
Workflow path:
Purpose:
Current state:
Cron and timezone:
Owning runbook or issue:
Required permissions:
Failure and retry behavior:
Observed value:
Classification: retain | event-driven | reusable | manual | remove
Decision evidence:
Follow-up owner:

Acceptance criteria

  • The inventory is reproducible from a committed read-only audit command rather than a one-time code search.
  • All public scheduled workflows are classified with an owner and evidence.
  • ci: 33 repositories schedule a sync-labels workflow that no longer exists #472 is completed without adding another label-sync scheduler.
  • Pilot weekly org review cadence and prompt tuning #412 records its three-cycle decision before any agent review is scheduled.
  • Retained schedules avoid unnecessary top-of-hour concentration and declare UTC or an intentional IANA timezone.
  • Repeated deterministic logic uses tested reusable workflows while callers retain repository-specific triggers and least-privilege permissions.
  • Stale/lock behavior has an explicit maintainer-approved policy.
  • Organization-level Actions and security-default recommendations are reviewed privately and rolled out through canaries before broader application.
  • The recurring-operations runbook distinguishes scheduled drafts, event-driven checks, and manual approval gates.
  • GitHub and Linear state are reconciled before closure.

Safety boundary

This issue authorizes planning and read-only inventory. It does not authorize bulk workflow deletion, organization-setting changes, unattended issue closure, repository writes, or broad credential provisioning. Each implementation batch remains separately reviewable and uses the owning repository's issue and pull request.

Metadata

Metadata

Assignees

Labels

area:ciContinuous integration or GitHub Actions work.area:metaOrganization-wide policy, templates, or meta-repo work.meta:org-trackedIndicates this issue has cross-repository tracking implications (synced to Linear).type:maintenanceNon-feature maintenance, cleanup, or org work.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions