Skip to content

[Fleet Monitor] petry-projects/TalkTerm β€” .github/workflows/dev-lead.ymlΒ #275

Closed

Description

@don-petry

🟠 DEGRADED: petry-projects/TalkTerm / .github/workflows/dev-lead.yml

Metric Value
Failure Rate 33.3% (2 / 6 runs)
Status DEGRADED
p50 Duration 3s
p95 Duration 15s
Successful Runs 2
Cancelled Runs 0

Workflow: .github/workflows/dev-lead.yml

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

Activity

  1. added
    dev-leadFor dev-lead agent pickup
    fleet-trackerTracked by the Actions Fleet Monitor
    health-checkAutomated health check result
    on Jun 13, 2026
  2. don-petry commented on Jun 13, 2026

    @don-petry
    ContributorAuthor

    Dev-Lead Implementation Plan

    Issue: #275 β€” [Fleet Monitor] petry-projects/TalkTerm β€” .github/workflows/dev-lead.yml

    Root Cause

    The degraded failure rate traces to .github/workflows/dev-lead.yml being a stale, non-compliant thin stub:

    • It pins the reusable workflow to a frozen SHA 5a9a247 (comment claims # main) that is now 66 commits behind main and 63 behind the promoted dev-lead/stable channel β€” missing engine-reliability fixes (gemini quota/stderr handling Compliance: check-suite-auto-trigger-1236702Β #226, heredoc INTENT_BODY #559, model-selection #556/#569, hands-off label, worktree release [Fleet Monitor] petry-projects/TalkTerm β€” .github/workflows/ci.ymlΒ #470, etc.).
    • It is missing the fork-PR skip guard, so PRs from forks (no secrets) fail the required check.
    • It is missing agent_ref: dev-lead/stable and pins to a SHA rather than the @dev-lead/stable channel β€” exactly the dev-lead-stub-pin / dev-lead-stub-agent-ref compliance violations that show up as failing labeled-issue runs.

    The canonical "copy verbatim" stub (.github-private/.github/workflows/dev-lead.yml@main) has since moved to the self-host @dev-lead/stable channel pin (#535/#506), which decouples the agent from broken-main and brings in the accumulated reliability fixes.

    Scope

    Re-align .github/workflows/dev-lead.yml to the canonical upstream thin stub (verbatim), adopting the @dev-lead/stable channel pin, agent_ref, and the fork-PR skip guard.

    Implementation Checklist

    • Replace .github/workflows/dev-lead.yml with the canonical verbatim stub from petry-projects/.github-private/.github/workflows/dev-lead.yml@main
      • Pin uses: β†’ dev-lead-reusable.yml@dev-lead/stable (drop stale SHA)
      • Add with: agent_ref: dev-lead/stable
      • Add fork-PR if: skip guard
      • Sync repository_dispatch types (dev-lead-reviews-retry)
      • Drop stale concurrency comment block + branches: [main] filter to match canonical

    Tests to Write

    • No unit-test framework covers this CI YAML. Per Phase 2 exception this is a behavior-preserving CI configuration change; verification is via:
      • python3 -c yaml.safe_load parse check of the resulting workflow
      • Byte-equality diff against the canonical upstream stub (must be empty)
      • .dev-lead/scripts/dev-lead-lint.sh

    Test Command

    bash .dev-lead/scripts/dev-lead-lint.sh (+ full npm test for regression)

  3. don-petry commented on Jun 13, 2026

    @don-petry
    ContributorAuthor

    Dev-Lead: Implementation Complete

    Plan Execution

    • Identified root cause: .github/workflows/dev-lead.yml was a stale, non-compliant thin stub
    • Replaced it with the canonical verbatim stub from petry-projects/.github-private/.github/workflows/dev-lead.yml@main
      • Pin moved off stale SHA 5a9a247 (66 commits behind main / 63 behind stable) β†’ channel ref dev-lead-reusable.yml@dev-lead/stable
      • Added with: agent_ref: dev-lead/stable
      • Added fork-PR if: skip guard
      • Synced repository_dispatch types (added dev-lead-reviews-retry)
      • Dropped stale concurrency comment block and branches: [main] filter to match canonical
    • Verified resulting file is byte-identical to canonical upstream stub
    • Verified the @dev-lead/stable reusable workflow declares every input/secret/permission the stub passes (agent_ref confirmed present)

    Why this fixes the degraded failure rate

    The frozen SHA pin missed ~63–66 commits of engine-reliability fixes (gemini quota/stderr handling #226, heredoc INTENT_BODY #559, multi-tier model selection #556/#569, stale worktree release #470, dev-lead:hands-off exclusion). It also lacked the fork-PR skip guard (fork PRs have no secrets β†’ required check fails) and violated the dev-lead-stub-pin / dev-lead-stub-agent-ref compliance rules, which surfaced as failing labeled-issue runs. The @dev-lead/stable self-host channel (#535/#506) additionally decouples the agent from broken-main, so a bad change on main can no longer gate its own fix.

    Test Results

    $ python3 -c "import yaml; yaml.safe_load(open('.github/workflows/dev-lead.yml'))"
    YAML OK
    
    $ diff .github/workflows/dev-lead.yml <canonical upstream stub>
    IDENTICAL
    
    $ bash .dev-lead/scripts/dev-lead-lint.sh
      [lint] shellcheck on 1 file(s)...
      [lint] all checks passed
    EXIT=0
    

    Files Changed

    • .github/workflows/dev-lead.yml: re-aligned thin caller stub to canonical upstream β€” @dev-lead/stable channel pin + agent_ref, fork-PR skip guard, synced dispatch types (1 file, +15 / -9).

    Notes

    • TDD exception (Phase 2): behavior-preserving CI-configuration change; no application code touched and no unit-test harness covers workflow YAML. Verification was YAML-parse + byte-equality against the authoritative upstream stub + dev-lead-lint.
    • The repo JS/Vitest suite is unaffected by this CI-YAML change (no src/ files touched); node_modules is not installed in this environment, so the Electron suite was not exercised.
    • No unrelated files modified.
  4. don-petry commented on Jul 15, 2026

    @don-petry
    ContributorAuthor

    βœ… Auto-resolved by Fleet Monitor. This workflow's failure rate has been below the 10% threshold (or the workflow was removed) since 2026-07-06 (9 days) β€” the monitor stopped flagging it. Closing. It will reopen automatically if the workflow crosses the threshold again.

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 result

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions