Skip to content

chore: sync workflow templates - #622

Closed
stranske wants to merge 1 commit into
mainfrom
sync/workflows-050e85f549f0
Closed

stranske wants to merge 1 commit into
mainfrom
sync/workflows-050e85f549f0

Conversation

@stranske

Copy link
Copy Markdown
Owner

Sync Summary

Files Updated

  • 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
  • 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
  • llm_slots.json: None

Review Checklist

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

Source: stranske/Workflows
Source SHA: 8993a5697b5d28fa7e6afc45e7eb46bcb2ad5d5f
Template hash: 050e85f549f0
Sync branch: sync/workflows-050e85f549f0
Consumer repo: stranske/Template
Manifest: .github/sync-manifest.yml

Automated sync from stranske/Workflows
Template hash: 050e85f549f0

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

Copy link
Copy Markdown
Contributor

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

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-consumer template scripts to support a new “codex-cli-freshness” weekly metrics artifact and include CLI version metadata in terminal disposition records.

Changes:

  • Add codex-cli-freshness artifact family support to metrics artifact selection and aggregation.
  • Extend agent metrics aggregation to classify and summarize workflows-codex-cli-freshness/v1 records.
  • Include llm_cli_version in normalized terminal disposition records and surface CLI versions in verifier summaries.

Reviewed changes

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

File Description
scripts/aggregate_agent_metrics.py Adds artifact family recognition, entry classification, verifier CLI version summarization, and a new Codex CLI freshness summary section/contract output.
.github/scripts/weekly_metrics_artifacts.js Updates artifact-family allowlists/priorities to ensure codex CLI freshness artifacts are selected.
.github/scripts/terminal_disposition.js Adds llm_cli_version field to the normalized terminal disposition payload.

max_patch_delta = 0
update_targets = Counter()
for entry in entries:
status = str(entry.get("status") or "unknown")

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 _summarise_codex_cli_freshness, status is counted using the raw string (str(entry.get('status') ...)) without trimming/normalizing, but later outdated_records / latest_unavailable_records are derived by looking up exact keys ("outdated", "latest-unavailable"). If the incoming data ever contains values like "Outdated" or trailing whitespace, these derived counts will be incorrect. Consider normalizing status (e.g., strip().lower()) before counting, and optionally mapping/validating to a small set of allowed status tokens.

Suggested change
status = str(entry.get("status") or "unknown")
status = str(entry.get("status") or "unknown").strip().lower()

Copilot uses AI. Check for mistakes.
dispatch_outcome: input.dispatch_outcome ?? input.dispatchOutcome,
llm_model: input.llm_model ?? input.llmModel ?? input.model,
model_selection_reason: input.model_selection_reason ?? input.modelSelectionReason,
llm_cli_version: input.llm_cli_version ?? input.llmCliVersion ?? input.cli_version,

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.

llm_cli_version normalization includes input.cli_version but not a camelCase variant (e.g. input.cliVersion), while nearby fields consistently accept both snake_case and camelCase (e.g. run_id ?? runId). For consistency and to avoid silently dropping values from camelCase callers, consider including the camelCase fallback here too.

Suggested change
llm_cli_version: input.llm_cli_version ?? input.llmCliVersion ?? input.cli_version,
llm_cli_version:
input.llm_cli_version ?? input.llmCliVersion ?? input.cli_version ?? input.cliVersion,

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