Skip to content

chore: sync workflow templates - #615

Closed
stranske wants to merge 1 commit into
mainfrom
sync/workflows-3ad4ee032c02
Closed

chore: sync workflow templates#615
stranske wants to merge 1 commit into
mainfrom
sync/workflows-3ad4ee032c02

Conversation

@stranske

Copy link
Copy Markdown
Owner

Sync Summary

Files Updated

  • agents-81-gate-followups.yml: Gate followups hub - consolidates keepalive and autofix followups
  • agents-bot-comment-handler.yml: Bot comment handler - dispatches agents to address bot review comments (deprecated; replaced by agents-80-pr-event-hub.yml, removal no earlier than 2026-02-15)
  • agents-verify-to-new-pr.yml: Verify to new PR - creates follow-up issue and immediately dispatches auto-pilot to prepare a replacement PR (bridge inlined)
  • agents-weekly-metrics.yml: Weekly metrics - aggregates auto-pilot, keepalive, autofix and verifier metrics into summary reports
  • aggregate_agent_metrics.py: Aggregates downloaded weekly agent metrics - required by agents-weekly-metrics.yml
  • terminal_disposition.js: Machine-readable terminal disposition records and source summaries
  • terminal_disposition_coverage.js: Warning-only terminal disposition source coverage preflight
  • bot_comment_auth_coverage.js: Warning-only bot-comment App auth coverage preflight
  • coverage_monitor_summary.js: Machine-readable weekly coverage monitor checkpoint
  • weekly_metrics_artifacts.js: Bounded weekly metrics artifact selection contract
  • weekly_metrics_download_manifest.js: Weekly metrics artifact download and extraction manifest contract
  • keepalive_loop.js: Core keepalive loop logic
  • agents_pr_meta_update_body.js: Updates PR body with agent metadata
  • setup-api-client/ (1 files): Unified API client setup - installs @octokit deps and exports all load balancer tokens

Files Skipped

  • pr-00-gate.yml: File exists and sync_mode is create_only
  • ci.yml: File exists and sync_mode is create_only
  • dependabot.yml: File exists and sync_mode is create_only
  • llm_slots.json: None

Review Checklist

  • CI passes with updated workflows
  • No repo-specific customizations were overwritten

Source: stranske/Workflows
Manifest: .github/sync-manifest.yml

Automated sync from stranske/Workflows
Template hash: 3ad4ee032c02

Changes synced from sync-manifest.yml
@stranske stranske added sync Automated sync from Workflows automated Automated sync from Workflows labels Apr 26, 2026
Copilot AI review requested due to automatic review settings April 26, 2026 17:03
@stranske stranske added sync Automated sync from Workflows automated Automated sync from Workflows labels Apr 26, 2026
@stranske-keepalive

Copy link
Copy Markdown
Contributor

⚠️ Action Required: Unable to determine source issue for PR #615. The PR title, branch name, or body must contain the issue number (e.g. #123, branch: issue-123, or the hidden marker ).

@stranske-keepalive

stranske-keepalive Bot commented Apr 26, 2026

Copy link
Copy Markdown
Contributor

🤖 Keepalive Loop Status

PR #615 | Agent: Codex | Iteration 0/5

Current State

Metric Value
Iteration progress [----------] 0/5
Action wait (missing-agent-label)
Disposition skipped (transient)
Gate success
Tasks 0/18 complete
Timeout 45 min (default)
Timeout usage 5m elapsed (13%, 40m remaining)
Keepalive ❌ disabled
Autofix ❌ disabled

🔍 Failure Classification

| Error type | infrastructure |
| Error category | resource |
| Suggested recovery | Confirm the referenced resource exists (repo, PR, branch, workflow, or file). |

@stranske-keepalive

stranske-keepalive Bot commented Apr 26, 2026

Copy link
Copy Markdown
Contributor
Keepalive Work Log (click to expand)
# Time (UTC) Agent Action Result Files Tasks Progress Commit Gate
0 2026-04-26 17:05:08 Codex wait (missing-agent-label-transient) skipped 0 0/18 cancelled
0 2026-04-26 17:06:49 Codex wait (missing-agent-label-transient) skipped 0 0/18 cancelled
0 2026-04-26 17:09:29 Codex wait (missing-agent-label-transient) skipped 0 0/18 success

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Syncs workflow templates and supporting scripts from stranske/Workflows, expanding weekly metrics/telemetry collection and adding richer contracts for artifact downloads, terminal dispositions, and coverage monitoring.

Changes:

  • Extend weekly metrics aggregation to emit a JSON contract, include parse-error/source metadata, and summarize verifier follow-up ledgers.
  • Add an artifact download manifest (JSON + Markdown) and enrich artifact selection reporting for priority families.
  • Expand terminal disposition coverage checks (including verifier model compatibility) and adjust keepalive/PR-metadata automation behaviors.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
scripts/aggregate_agent_metrics.py Adds source attribution, parse-error detail reporting, verifier ledger/model summaries, and emits a JSON summary contract.
.github/workflows/agents-weekly-metrics.yml Generates and persists artifact download manifest; uploads new JSON outputs alongside markdown summaries.
.github/workflows/agents-verify-to-new-pr.yml Adds verifier follow-up ledger emission + agent selection tweaks; switches action refs to floating tags.
.github/workflows/agents-bot-comment-handler.yml Records wrapper terminal disposition and skip reasons; uploads wrapper disposition artifact.
.github/workflows/agents-81-gate-followups.yml Switches jq invocation to compact JSON output mode.
.github/scripts/weekly_metrics_download_manifest.js New script to create/update/finalize a structured artifact download manifest (+ Markdown).
.github/scripts/weekly_metrics_artifacts.js Adds priority-family status reporting and latest-candidate summaries to selection report/markdown.
.github/scripts/terminal_disposition_coverage.js Adds verifier model compatibility checks and richer artifact-selection normalization/markdown.
.github/scripts/terminal_disposition.js Adds verifier follow-up ledger + policy normalization and additional terminal disposition fields.
.github/scripts/keepalive_loop.js Improves checklist counting by excluding placeholder/status-metric items and adjusts summary logic.
.github/scripts/coverage_monitor_summary.js New script producing a combined weekly coverage-monitor contract (terminal + bot-auth).
.github/scripts/bot_comment_auth_coverage.js Enhances organic evidence reporting with skipped/missing requirement details and wrapper signals.
.github/scripts/agents_pr_meta_update_body.js Adjusts PR preamble behavior (campaign issues vs “Closes #...”) and embeds issue metadata marker.
.github/actions/setup-api-client/action.yml Adds a redacted “setup contract” JSON output describing auth/dependency state.

Comment on lines 33 to 36
- name: Check PR is merged
id: check-merged
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
uses: actions/github-script@v9
with:

Copilot AI Apr 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow now uses floating GitHub Action tags (e.g., actions/github-script@v9). In this repo, workflows pin third-party actions to full commit SHAs for supply-chain safety and reproducibility (see e.g. .github/workflows/agents-weekly-metrics.yml:20-61, .github/workflows/agents-auto-pilot.yml:112-170). Please revert to SHA-pinned refs here as well.

Copilot uses AI. Check for mistakes.
- name: Checkout repository
if: steps.check-merged.outputs.merged == 'true'
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
uses: actions/checkout@v6

Copilot AI Apr 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actions/checkout@v6 is a floating tag. This repo pins actions to commit SHAs (see .github/workflows/agents-weekly-metrics.yml:29-47). Please pin checkout to the same SHA style here to avoid unreviewed upstream changes.

Suggested change
uses: actions/checkout@v6
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v5.0.0

Copilot uses AI. Check for mistakes.
- name: Set up Python
if: steps.check-merged.outputs.merged == 'true'
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
uses: actions/setup-python@v6

Copilot AI Apr 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actions/setup-python@v6 is a floating tag. Other workflows pin actions/setup-python to a full commit SHA (e.g. .github/workflows/agents-weekly-metrics.yml:59-62). Please pin this action here as well.

Suggested change
uses: actions/setup-python@v6
uses: actions/setup-python@42375524f8c7b18a6c8e6a9f0e2df5f7bcf1b2c0

Copilot uses AI. Check for mistakes.
- name: Upload terminal disposition artifact
if: always() && steps.check-merged.outputs.merged == 'true'
uses: actions/upload-artifact@65ecb0ca2d3e252f7b82842cd0489c883189f7d0 # v7
uses: actions/upload-artifact@v7

Copilot AI Apr 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actions/upload-artifact@v7 is a floating tag. This repo pins actions/upload-artifact to a full commit SHA (e.g. .github/workflows/agents-weekly-metrics.yml uses a SHA for upload-artifact). Please pin to a commit SHA here as well.

Suggested change
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@FULL_LENGTH_COMMIT_SHA

Copilot uses AI. Check for mistakes.
const prNumber = Number.parseInt(process.env.RESOLVED_PR_NUMBER || '', 10) || null;
const disposition = reusableExpected ? 'reusable-invocation-expected' : 'wrapper-skipped';
const reason = reusableExpected
? 'Wrapper resolved an eligible PR and invoked the reusable bot-comment handler.'

Copilot AI Apr 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The wrapper terminal disposition is written in the resolve job, before the reusable workflow job (handle) runs. The reason string says the wrapper "invoked" the reusable handler, but at this point it has only determined eligibility; invocation happens later and may fail. Please adjust the wording (or delay writing the record) so the telemetry reflects what actually happened.

Suggested change
? 'Wrapper resolved an eligible PR and invoked the reusable bot-comment handler.'
? 'Wrapper resolved an eligible PR for the reusable bot-comment handler; invocation is expected in a later job.'

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated Automated sync from Workflows sync Automated sync from Workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants