Skip to content

[Fleet Monitor] petry-projects/.github-private β€” issue-triage-runner.ymlΒ #401

Closed

Description

@don-petry

πŸ”΄ CRITICAL: petry-projects/.github-private / issue-triage-runner.yml

Metric Value
Failure Rate 100% (11 / 11 runs)
Status CRITICAL
p50 Duration 554s
p95 Duration 644s
Successful Runs 0
Cancelled Runs 0

Workflow: issue-triage-runner.yml

Last updated by Fleet Monitor run on 2026-05-27.
Threshold: failure rate > 10% over the monitored window.

Activity

  1. added
    health-checkAutomated health check report
    dev-leadFor dev-lead agent pickup
    fleet-trackerTracked by the Actions Fleet Monitor
    on May 27, 2026
  2. added
    dev-leadFor dev-lead agent pickup
    and removed
    dev-leadFor dev-lead agent pickup
    on Jun 8, 2026
  3. don-petry commented on Jun 8, 2026

    @don-petry
    CollaboratorAuthor

    Dev-Lead Implementation Plan

    Issue: #401 β€” [Fleet Monitor] petry-projects/.github-private β€” issue-triage-runner.yml

    Root Cause

    aw.sh safe-output apply reads allowed-labels as a flat top-level frontmatter key, but issue-triage.md stores the allowed labels under safe-outputs.add-labels.allowed (a nested gh-aw format). Because the flat key is missing, allowed-labels defaults to [], making every label Claude returns "not in allowed set" β€” causing 100% rejection in the apply job.

    Scope

    Add allowed-labels and max-labels as flat top-level keys to the issue-triage.md frontmatter so aw.sh can read them correctly; keep the existing safe-outputs structure for gh aw compile compatibility. Add a test that verifies valid labels pass (not just that invalid labels are rejected).

    Implementation Checklist

    • tests/aw/issue-triage/test_aw_run.sh β€” add Test 6: valid labels + comment β†’ "validation passed" (red phase)
    • .github/workflows/issue-triage.md β€” add allowed-labels list and max-labels: 3 as flat top-level frontmatter keys (green phase)

    Tests to Write

    • Test 6: safe-output apply with {"labels":["bug","needs-triage"],"comment":"..."} β†’ output contains "validation passed"

    Test Command

    bash tests/aw/issue-triage/test_aw_run.sh

  4. don-petry commented on Jun 8, 2026

    @don-petry
    CollaboratorAuthor

    Dev-Lead: Implementation Complete

    Root Cause

    aw.sh safe-output apply reads allowed-labels as a flat top-level key from the workflow frontmatter. issue-triage.md only had the label list under safe-outputs.add-labels.allowed (a nested gh-aw format), so fm.get("allowed-labels", []) returned []. With an empty allowed set, every label Claude returned was flagged as "not in allowed set" β†’ sys.exit(1) β†’ 100% failure of the apply job.

    Plan Execution

    • Posted implementation plan on issue [Fleet Monitor] petry-projects/.github-private β€” issue-triage-runner.ymlΒ #401
    • Added Test 6 (red): safe-output apply with valid labels β†’ must see "validation passed" β€” confirmed failing before fix
    • Fixed .github/workflows/issue-triage.md: added allowed-labels list and max-labels: 3 as flat top-level frontmatter keys alongside the existing safe-outputs block (kept for gh aw compile compatibility)
    • All 6 tests green; shellcheck and agent-profile lint clean

    Test Results

    PASS  scenario-4: 2 existing labels β†’ skip=true
    PASS  safe-output: 4 labels exceeds max-labels:3 β†’ rejected
    PASS  safe-output: disallowed label β†’ rejected
    PASS  safe-output: skip flag β†’ no writes
    PASS  safe-output: empty comment β†’ rejected
    PASS  safe-output: valid allowed labels β†’ validation passed
    
    Results: 6 passed, 0 failed
    
    [lint] shellcheck on 34 file(s)...
    [lint] validating 4 agent profile(s)...
    [lint] all checks passed
    

    Files Changed

    • .github/workflows/issue-triage.md: added allowed-labels (7-item list) and max-labels: 3 as flat top-level frontmatter keys; existing safe-outputs block retained unchanged
    • tests/aw/issue-triage/test_aw_run.sh: added Test 6 β€” verifies valid labels pass safe-output validation (regression guard)

    Notes

    The existing Test 2 ("4 labels exceeds max-labels:3 β†’ rejected") was already passing before this fix, but for the wrong reason β€” all 4 labels were rejected as "not in allowed set" rather than for exceeding the count limit. After the fix it rejects correctly with "more than 3 labels". The safe-outputs nested block is kept in place because gh aw compile (used in lint.yml) may rely on that format; the two representations are consistent.

  5. added a commit that references this issue on Jun 8, 2026
  6. added 5 commits that reference this issue on Jun 12, 2026
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

    dev-leadFor dev-lead agent pickupfleet-trackerTracked by the Actions Fleet Monitorhealth-checkAutomated health check report

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions