chore: sync workflow templates - #600
Conversation
Automated sync from stranske/Workflows Template hash: 164e3ba9e677 Changes synced from sync-manifest.yml
🤖 Keepalive Loop StatusPR #600 | Agent: Codex | Iteration 0/5 Current State
🔍 Failure Classification| Error type | infrastructure | |
Keepalive Work Log (click to expand)
|
There was a problem hiding this comment.
Pull request overview
Syncs workflow-template updates from stranske/Workflows, expanding weekly metrics/coverage telemetry and adding wrapper terminal-disposition artifacts for the deprecated bot-comment handler workflow.
Changes:
- Extend weekly metrics aggregation and terminal-disposition coverage checks to track verifier model selection/compatibility signals.
- Add wrapper terminal-disposition artifact emission to
agents-bot-comment-handler.ymlfor better telemetry when the wrapper skips or dispatches. - Enhance weekly metrics artifact selection reporting with explicit priority-family status/missing-family reporting; add a weekly coverage monitor summary contract script.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
scripts/aggregate_agent_metrics.py |
Adds verifier model / selection-reason counters and “unsupported model” reporting to the markdown summary. |
.github/workflows/agents-bot-comment-handler.yml |
Adds skip-reason outputs and emits/uploads a wrapper terminal-disposition artifact for observability. |
.github/scripts/weekly_metrics_artifacts.js |
Adds priority-family status + missing-family reporting to the artifact selection contract/markdown. |
.github/scripts/terminal_disposition_coverage.js |
Adds verifier model compatibility summary and includes it in coverage status/blockers + markdown output. |
.github/scripts/terminal_disposition.js |
Extends terminal-disposition normalization to include model/selection-reason/verifier-mode metadata fields. |
.github/scripts/coverage_monitor_summary.js |
Introduces a weekly “coverage monitor checkpoint” JSON/markdown summary contract generator. |
.github/scripts/bot_comment_auth_coverage.js |
Adds wrapper→reusable invocation decision fields and improves organic-evidence reporting of skipped/missing requirements. |
| verifier_mode = str(entry.get("verifier_mode") or "").strip().lower() | ||
| if verifier_mode != "evaluate": | ||
| disposition = entry.get("disposition") or entry.get("terminal_state") or "unknown" | ||
| missing_verifier_model_metadata[str(disposition)] += 1 |
There was a problem hiding this comment.
missing_verifier_model_metadata is incremented for any terminal-disposition entry that lacks a model and has verifier_mode not equal to evaluate. This will also flag non-verifier terminal-disposition records (e.g., review-thread/wrapper dispositions) as missing verifier model metadata. Restrict this check to verifier records only (for example by checking artifact_family == 'verifier-terminal-disposition' / a verifier-specific source_type) before counting missing model metadata.
| verifier_mode = str(entry.get("verifier_mode") or "").strip().lower() | |
| if verifier_mode != "evaluate": | |
| disposition = entry.get("disposition") or entry.get("terminal_state") or "unknown" | |
| missing_verifier_model_metadata[str(disposition)] += 1 | |
| artifact_family = str(entry.get("artifact_family") or "").strip().lower() | |
| source_type_text = str(entry.get("source_type") or "").strip().lower() | |
| is_verifier_terminal_disposition = ( | |
| artifact_family == "verifier-terminal-disposition" | |
| or "verifier" in source_type_text | |
| or "verify" in source_type_text | |
| ) | |
| if is_verifier_terminal_disposition: | |
| verifier_mode = str(entry.get("verifier_mode") or "").strip().lower() | |
| if verifier_mode != "evaluate": | |
| disposition = entry.get("disposition") or entry.get("terminal_state") or "unknown" | |
| missing_verifier_model_metadata[str(disposition)] += 1 |
| node <<'NODE' | ||
| const fs = require('fs'); | ||
| const helperPath = './.github/scripts/terminal_disposition.js'; |
There was a problem hiding this comment.
This job now runs an inline node script, but there is no actions/setup-node step to ensure a consistent Node version is available. Add a pinned actions/setup-node (matching the repo’s standard, e.g. Node 20) before running node (and ideally before ./.github/actions/setup-api-client, which also executes node).
|
|
||
| - name: Upload wrapper terminal disposition | ||
| if: always() | ||
| uses: actions/upload-artifact@v7 |
There was a problem hiding this comment.
actions/upload-artifact is referenced by tag (@v7) instead of a pinned commit SHA. Other workflows in this repo pin actions to full SHAs; please pin this action similarly (with an inline major-version comment) to keep supply-chain protections consistent.
| uses: actions/upload-artifact@v7 | |
| uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v7 |
Sync Summary
Files Updated
Files Skipped
Review Checklist
Source: stranske/Workflows
Manifest:
.github/sync-manifest.yml