Skip to content

chore: sync workflow templates - #5124

Closed
stranske wants to merge 1 commit into
phase-3from
sync/workflows-9d62510f22c9
Closed

stranske wants to merge 1 commit into
phase-3from
sync/workflows-9d62510f22c9

Conversation

@stranske

Copy link
Copy Markdown
Owner

Sync Summary

Files Updated

  • agents-weekly-metrics.yml: Weekly metrics - aggregates auto-pilot, keepalive, autofix and verifier metrics into summary reports
  • bot_comment_auth_coverage.js: Warning-only bot-comment App auth coverage preflight
  • weekly_metrics_artifacts.js: Bounded weekly metrics artifact selection contract

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
  • AGENTS.md: Repo keeps historical Agents.md casing to avoid case-only path conflicts
  • 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: 9d62510f22c9

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

Copy link
Copy Markdown
Contributor

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

@agents-workflows-bot

agents-workflows-bot Bot commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

🤖 Keepalive Loop Status

PR #5124 | 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/8 complete
Timeout 45 min (default)
Timeout usage 13m elapsed (29%, 32m 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). |

@agents-workflows-bot

agents-workflows-bot Bot commented Apr 25, 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-25 21:23:28 Codex wait (missing-agent-label-transient) skipped 0 0/8
0 2026-04-25 21:25:49 Codex wait (missing-agent-label-transient) skipped 0 0/8 cancelled
0 2026-04-25 21:33:59 Codex wait (missing-agent-label-transient) skipped 0 0/8 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 from stranske/Workflows by expanding the weekly metrics workflow to include bot-comment App-auth coverage checks and updating artifact selection logic to recognize the new coverage artifact families.

Changes:

  • Add a bot-comment auth coverage preflight step to agents-weekly-metrics, upload its reports, and enforce both coverage hard-block exit statuses at the end.
  • Extend weekly metrics artifact selection to recognize patterned bot-comment auth coverage artifact names.
  • Introduce a new helper script to aggregate bot-comment auth coverage JSON inputs into a summary + optional hard-block signal.

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 Node setup, runs bot-comment auth coverage preflight, uploads new reports, and honors both hard-block exit statuses.
.github/scripts/weekly_metrics_artifacts.js Recognizes new patterned artifact families and prioritizes them for selection.
.github/scripts/bot_comment_auth_coverage.js New script to scan downloaded artifacts for auth coverage records, summarize status, and emit a markdown/JSON report.

Comment on lines +709 to +733
function main() {
const options = parseArgs();
const files = collectJsonFiles(options.dir);
const readResult = readJsonRecords(files);
const report = summarizeBotCommentAuthCoverage(readResult.records, {
parse_errors: readResult.parse_errors,
read_errors: readResult.read_errors,
parsed_json_file_count: readResult.parsed_json_file_count,
non_auth_record_count: readResult.non_auth_record_count,
input_files: files,
input_file_count: readResult.file_count,
artifact_selection_report: readArtifactSelectionReport(options.artifact_selection_report),
enforcement_mode: options.enforcement_mode,
hard_block_approved: options.hard_block_approved,
});
const markdownSummary = formatBotCommentAuthCoverageMarkdown(report);
fs.writeFileSync(options.output, `${JSON.stringify(report, null, 2)}\n`);
fs.writeFileSync(options.markdown, markdownSummary);
process.stdout.write(markdownSummary);
return report.status === 'fail' ? 1 : 0;
}

if (require.main === module) {
process.exitCode = main();
}

Copilot AI Apr 25, 2026

Copy link

Choose a reason for hiding this comment

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

This new workflow helper script isn’t covered by unit tests. Given it drives workflow hard-block behavior and parses env/JSON inputs, please add minimal tests under .github/scripts/tests (e.g., for normalizePolicy(), isPotentialAuthCoverageFile()/collectJsonFiles() filtering, and summarizeBotCommentAuthCoverage() status transitions) to prevent future workflow template syncs from breaking enforcement logic.

Copilot uses AI. Check for mistakes.
Comment on lines 67 to 75
function artifactFamily(name) {
const cleaned = cleanString(name);
if (EXACT_METRICS_ARTIFACTS.has(cleaned)) return cleaned;
const patterned = PATTERNED_METRICS_ARTIFACTS.find((candidate) =>
candidate.pattern.test(cleaned)
);
if (patterned) return patterned.family;
const prefix = PREFIXED_METRICS_ARTIFACTS.find((candidate) => cleaned.startsWith(candidate));
return prefix ? prefix.replace(/-$/, '') : '';

Copilot AI Apr 25, 2026

Copy link

Choose a reason for hiding this comment

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

New artifact-family parsing logic (PATTERNED_METRICS_ARTIFACTS / updated artifactFamily) is not covered by unit tests. Since this selector controls which artifacts get downloaded, a small regression can silently drop bot-comment auth coverage artifacts; please add a lightweight test that asserts the new wrapper/reusable artifact names map to the expected family and that non-matching names remain unaffected (per .github/scripts/README.md test expectations).

Copilot uses AI. Check for mistakes.
@stranske stranske closed this Apr 29, 2026
@stranske
stranske deleted the sync/workflows-9d62510f22c9 branch May 14, 2026 18:25
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