chore: sync actions from gh-aw@v0.79.4#148
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Automated sync from github/gh-aw@v0.79.4, bringing in updated safe-output handlers and observability/AIC reporting improvements (OTLP attributes, check-run targeting, and model catalog merging).
Changes:
- Extend OTLP conclusion spans with failure categories and refine AIC/token-usage attribution logic.
- Add support for explicitly targeting PRs when creating check runs, including resolving the latest PR head SHA.
- Introduce frontmatter-driven model catalog merging and various robustness tweaks (milestone caching scope, daily AIC summary formatting, AIC provenance logs).
Show a summary per file
| File | Description |
|---|---|
| setup/js/send_otlp_span.cjs | Adds failure-categories OTLP attribute + refines token/AIC emission and sourcing. |
| setup/js/safe_outputs_tools.json | Updates tool schema/docs (incl. PR targeting fields for create_check_run). |
| setup/js/model_costs.cjs | Normalizes github_models provider to GitHub Copilot cost catalog. |
| setup/js/messages_footer.cjs | Adds explicit AIC context parsing/propagation in footers. |
| setup/js/merge_frontmatter_models.cjs | New helper to merge base models.json with frontmatter overlay and write to /tmp/gh-aw/models.json. |
| setup/js/handle_agent_failure.cjs | Persists failure categories; improves failure-context gating and issue-write permission handling; passes AIC into failure footers. |
| setup/js/generate_aw_info.cjs | Calls writeMergedModelsJSON during aw_info generation. |
| setup/js/create_check_run.cjs | Adds configurable targeting and PR head SHA resolution for check runs. |
| setup/js/check_daily_aic_workflow_guardrail.cjs | Improves summary formatting when no run data is available. |
| setup/js/assign_milestone.cjs | Fixes milestone title cache pollution by scoping caches per repo. |
| setup/js/ai_credits_context.cjs | Adds provenance logging for AI credits/max credits and rate-limit signal source. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 11/11 changed files
- Comments generated: 4
Comment on lines
+40
to
+60
| const baseProviders = isPlainObject(base.providers) ? /** @type {Record<string, unknown>} */ base.providers : {}; | ||
| const overlayProviders = isPlainObject(overlay.providers) ? /** @type {Record<string, unknown>} */ overlay.providers : {}; | ||
|
|
||
| if (Object.keys(overlayProviders).length === 0) { | ||
| return result; | ||
| } | ||
|
|
||
| /** @type {Record<string, unknown>} */ | ||
| const mergedProviders = { ...baseProviders }; | ||
|
|
||
| for (const [providerName, overlayProvider] of Object.entries(overlayProviders)) { | ||
| if (!isPlainObject(overlayProvider)) { | ||
| // Scalar or array: take overlay value as-is. | ||
| mergedProviders[providerName] = overlayProvider; | ||
| continue; | ||
| } | ||
|
|
||
| const baseProvider = isPlainObject(baseProviders[providerName]) ? /** @type {Record<string, unknown>} */ baseProviders[providerName] : {}; | ||
|
|
||
| const baseModels = isPlainObject(baseProvider.models) ? /** @type {Record<string, unknown>} */ baseProvider.models : {}; | ||
| const overlayModels = isPlainObject(overlayProvider.models) ? /** @type {Record<string, unknown>} */ overlayProvider.models : {}; |
Comment on lines
176
to
180
| const hasExplicitContextAIC = ctx.aiCredits !== undefined && ctx.aiCredits !== null; | ||
| const explicitContextAIC = parseExplicitContextAIC(ctx.aiCredits); | ||
| let aiCreditsFormatted = envAICFormatted; | ||
| let aiCreditsSuffix = envAICSuffix; | ||
| if (hasExplicitContextAIC) { |
Comment on lines
+352
to
+356
| const hasExplicitContextAIC = ctx.aiCredits !== undefined && ctx.aiCredits !== null; | ||
| const explicitContextAIC = parseExplicitContextAIC(ctx.aiCredits); | ||
| const aiCredits = hasExplicitContextAIC ? explicitContextAIC : envAIC; | ||
| const aiCreditsFormatted = hasExplicitContextAIC ? (explicitContextAIC ? formatAIC(explicitContextAIC) : undefined) : envAICFormatted; | ||
| const aiCreditsSuffix = hasExplicitContextAIC ? (aiCreditsFormatted ? ` · ${aiCreditsFormatted} AIC` : "") : envAICSuffix; |
Comment on lines
+425
to
+429
| const hasExplicitContextAIC = ctx.aiCredits !== undefined && ctx.aiCredits !== null; | ||
| const explicitContextAIC = parseExplicitContextAIC(ctx.aiCredits); | ||
| const aiCredits = hasExplicitContextAIC ? explicitContextAIC : envAIC; | ||
| const aiCreditsFormatted = hasExplicitContextAIC ? (explicitContextAIC ? formatAIC(explicitContextAIC) : undefined) : envAICFormatted; | ||
| const aiCreditsSuffix = hasExplicitContextAIC ? (aiCreditsFormatted ? ` · ${aiCreditsFormatted} AIC` : "") : envAICSuffix; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated sync of actions from gh-aw at
v0.79.4.