Conversation
Automated sync from stranske/Workflows Template hash: 8c7e6f62db72 Changes synced from sync-manifest.yml
🤖 Keepalive Loop StatusPR #87 | 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 templates from stranske/Workflows by extending the weekly metrics workflow to include bot-comment App auth coverage reporting, along with artifact selection updates and a new coverage summarizer script.
Changes:
- Extend
agents-weekly-metricsto run a bot-comment auth coverage preflight, append results to the job summary, and upload the new summary artifacts. - Update weekly metrics artifact selection to include the new
bot-comment-auth-coverage-*artifact families. - Add
.github/scripts/bot_comment_auth_coverage.jsto aggregate and format bot-comment auth coverage results.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/agents-weekly-metrics.yml |
Adds a bot-comment auth coverage preflight step, uploads its outputs, and enforces hard-blocking at the end. |
.github/scripts/weekly_metrics_artifacts.js |
Includes bot-comment auth coverage artifact families in selection/priority lists so they’re downloaded. |
.github/scripts/bot_comment_auth_coverage.js |
New script that scans downloaded artifacts for auth coverage records and emits JSON/Markdown summaries with optional hard-blocking. |
| return normalized.includes('/bot-comment-auth-coverage-wrapper-') || | ||
| normalized.includes('/bot-comment-auth-coverage-reusable-') || | ||
| basename === 'wrapper.json' || | ||
| basename === 'reusable.json'; |
There was a problem hiding this comment.
isPotentialAuthCoverageFile() treats any wrapper.json / reusable.json under the artifacts tree as an auth coverage candidate. Those basenames are generic and can cause unrelated JSON (or non-JSON) files to be parsed, inflating parse_errors and potentially triggering warnings/failures. Consider restricting matches to the bot-comment-auth-coverage-* artifact directories (or a more specific filename pattern), and only counting parse errors for files that are expected to contain auth coverage records.
| return normalized.includes('/bot-comment-auth-coverage-wrapper-') || | |
| normalized.includes('/bot-comment-auth-coverage-reusable-') || | |
| basename === 'wrapper.json' || | |
| basename === 'reusable.json'; | |
| const parentDir = path.posix.basename(path.posix.dirname(normalized)); | |
| const isWrapperArtifact = parentDir.startsWith('bot-comment-auth-coverage-wrapper-'); | |
| const isReusableArtifact = parentDir.startsWith('bot-comment-auth-coverage-reusable-'); | |
| return (isWrapperArtifact && basename === 'wrapper.json') || | |
| (isReusableArtifact && basename === 'reusable.json'); |
| terminal_status="${TERMINAL_DISPOSITION_COVERAGE_EXIT_STATUS:-0}" | ||
| bot_comment_auth_status="${BOT_COMMENT_AUTH_COVERAGE_EXIT_STATUS:-0}" | ||
| if [ "${terminal_status}" != "0" ] || [ "${bot_comment_auth_status}" != "0" ]; then | ||
| exit 1 |
There was a problem hiding this comment.
This hard-block step exits with a generic 1 when either preflight fails, which discards the original exit codes and doesn’t indicate which check triggered the failure. Consider echoing both statuses (and/or exiting with the first non-zero status) to make failures easier to diagnose from logs.
| exit 1 | |
| echo "Coverage hard-block triggered." | |
| echo "TERMINAL_DISPOSITION_COVERAGE_EXIT_STATUS=${terminal_status}" | |
| echo "BOT_COMMENT_AUTH_COVERAGE_EXIT_STATUS=${bot_comment_auth_status}" | |
| if [ "${terminal_status}" != "0" ]; then | |
| exit "${terminal_status}" | |
| fi | |
| exit "${bot_comment_auth_status}" |
Sync Summary
Files Updated
Files Skipped
Review Checklist
Source: stranske/Workflows
Manifest:
.github/sync-manifest.yml