Skip to content

chore: sync workflow templates - #286

Closed
stranske wants to merge 1 commit into
mainfrom
sync/workflows-814572819bd0
Closed

stranske wants to merge 1 commit into
mainfrom
sync/workflows-814572819bd0

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-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
  • agents_pr_meta_update_body.js: Updates PR body with agent metadata

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: 814572819bd0

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 08:08
@stranske stranske added sync Automated sync from Workflows automated Automated sync from Workflows labels Apr 26, 2026
@stranske-keepalive

stranske-keepalive Bot commented Apr 26, 2026

Copy link
Copy Markdown
Contributor

🤖 Keepalive Loop Status

PR #286 | 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/15 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 08:11:24 Codex wait (missing-agent-label-transient) skipped 0 0/15 cancelled
0 2026-04-26 08:12:32 Codex wait (missing-agent-label-transient) skipped 0 0/15 cancelled
0 2026-04-26 08:13:50 Codex wait (missing-agent-label-transient) skipped 0 0/15 success

Copilot AI left a comment

Copy link
Copy Markdown

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 from stranske/Workflows, enhancing weekly agent-metrics collection/aggregation and expanding telemetry/coverage contracts used by GitHub Actions workflows in this repo.

Changes:

  • Adds a download manifest/contract for weekly metrics artifacts and emits a JSON summary alongside the existing markdown metrics summary.
  • Extends terminal disposition coverage + bot-comment auth coverage reporting to track verifier model compatibility and wrapper→reusable expectations.
  • Updates workflows to publish additional artifacts/metadata and tweaks gate followup metrics JSON generation.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
scripts/aggregate_agent_metrics.py Enriches parsed metrics with artifact/source metadata, tracks parse error details, and writes a JSON contract summary.
.github/workflows/agents-weekly-metrics.yml Generates artifact download manifest + uploads new JSON outputs and manifest artifacts.
.github/workflows/agents-bot-comment-handler.yml Adds wrapper terminal disposition artifact and exposes skip reason from PR resolution logic.
.github/workflows/agents-81-gate-followups.yml Uses compact JSON output for metrics payload (jq -cn).
.github/scripts/weekly_metrics_download_manifest.js New helper to create/update/finalize a machine-readable artifact download manifest + markdown.
.github/scripts/weekly_metrics_artifacts.js Adds priority-family status reporting for artifact selection results.
.github/scripts/terminal_disposition_coverage.js Expands coverage report to include verifier-model compatibility and richer artifact-selection normalization.
.github/scripts/terminal_disposition.js Adds model/mode-related fields to normalized terminal disposition records.
.github/scripts/coverage_monitor_summary.js New weekly “coverage monitor” contract summarizer for terminal + bot-auth coverage reports.
.github/scripts/bot_comment_auth_coverage.js Adds wrapper/reusable expectation fields and richer organic-evidence requirement reporting.
.github/scripts/agents_pr_meta_update_body.js Adds issue metadata markers and a Closes #... line when a source issue is present.

Comment on lines +180 to +188
file_entries: list[dict[str, Any]] = []
file_errors: list[ParseErrorDetail] = []
raw_lines: list[str] = []
with handle:
for line in handle:
for line_number, line in enumerate(handle, start=1):
raw = line.strip()
if not raw:
continue
raw_lines.append(raw)

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.

In _read_ndjson, raw_lines is appended for every non-empty line even when the file parses successfully, but it’s only used for the fallback whole-file JSON parse when there are parse errors and no per-line entries. This can add avoidable memory overhead for large NDJSON files. Consider only buffering lines after the first parse error is encountered (or limiting the buffered lines) so the common case doesn’t retain the full file content.

Copilot uses AI. Check for mistakes.
if (parseErrors > 0) enforcementBlockers.push('parse-errors');
if (artifactSelectionWarning) enforcementBlockers.push('artifact-selection-warning');
if (verifierModelCompatibility.status !== 'pass') {
enforcementBlockers.push('unsupported-verifier-model');

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.

enforcementBlockers appends 'unsupported-verifier-model' whenever verifierModelCompatibility.status !== 'pass', but that status is also set to warning for missing verifier model metadata (not just unsupported models). This blocker label becomes misleading in the missing-metadata case. Consider using a more generic blocker name (e.g., verifier-model-compatibility-warning) or splitting into distinct blockers for unsupported models vs missing metadata.

Suggested change
enforcementBlockers.push('unsupported-verifier-model');
enforcementBlockers.push('verifier-model-compatibility-warning');

Copilot uses AI. Check for mistakes.
Comment on lines +258 to +266
- name: Upload wrapper terminal disposition
if: always()
uses: actions/upload-artifact@v7
with:
name: review-thread-terminal-disposition-${{ github.run_id }}
path: |
agent-metrics/review-thread-terminal-disposition.ndjson
terminal-disposition-summary.md
if-no-files-found: error

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 uses actions/upload-artifact@v7 (a floating tag). Elsewhere in this repo workflows pin actions/upload-artifact to a specific commit SHA with an inline version comment (e.g. # v7) to avoid supply-chain risk from tag retargeting. Please pin this action to the same SHA pattern used in the other workflows.

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