Skip to content

[autonomy-atomicity] Agent Deep Dive rotation skips most workflows #1453

Description

@github-actions

Autonomy / Atomicity Findings

1. Agent Deep Dive auto-selection only reaches the first seven sorted workflows

Category: Ordering dependency
File(s): .github/workflows/agent-deep-dive.md

Problem: The daily auto-selection is based only on day-of-week. The workflow builds a sorted list of matching workflow files, but then computes the index as IDX=$(( (DAY - 1) % COUNT )) where DAY=$(date +%u). Because DAY is always 1-7, repositories with more than seven matching workflows can only select indexes 0-6 on scheduled runs.

Evidence:

  • .github/workflows/agent-deep-dive.md:18-19 schedules the workflow on weekdays.
  • .github/workflows/agent-deep-dive.md:79-82 builds the sorted WORKFLOWS list from paths matching trigger-|gh-aw-.
  • .github/workflows/agent-deep-dive.md:89-91 selects TARGET_WORKFLOW using only the weekday-derived index.
  • Local verification found 93 matching .github/workflows files. The first eight sorted entries are gh-aw-agent-suggestions.lock.yml, gh-aw-autonomy-atomicity-analyzer.lock.yml, gh-aw-branch-actions-detective.lock.yml, gh-aw-breaking-change-detect.lock.yml, gh-aw-breaking-change-detector.lock.yml, gh-aw-bug-hunter.lock.yml, gh-aw-code-complexity-detector.lock.yml, and gh-aw-code-duplication-detector.lock.yml; index 7 and later are unreachable by the scheduled rotation.

Suggested fix: Use a rotation value whose range grows over time, such as day-of-year or github.run_number modulo COUNT, or persist/derive a least-recently-analyzed workflow. If the intent is to analyze only trigger workflows, narrow the filter explicitly before rotating.

Suggested Actions

  • Replace the weekday-only index with a modulo over a monotonically changing value that can reach every entry in WORKFLOWS.
  • Add a test or lint check that simulates COUNT > 7 and verifies auto-selection can cover indexes beyond 6.
  • Decide whether compiled gh-aw-*.lock.yml workflows should be eligible; if not, filter the candidate list to triggers only before selection.

What is this? | From workflow: Trigger Autonomy Atomicity Analyzer

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions