Skip to content

Report blocked gh-aw compiler versions during activation - #59747

Merged
pelikhan merged 9 commits into
mainfrom
copilot/fix-blocked-compiler-versions
Sep 9, 2026
Merged

Report blocked gh-aw compiler versions during activation#59747
pelikhan merged 9 commits into
mainfrom
copilot/fix-blocked-compiler-versions

Conversation

Copilot AI commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Blocked compiler versions currently fail in activation, before downstream failure reporting can run. That makes a repo-wide workflow outage easy to miss because the job that would normally open a failure issue is skipped.

  • Activation-stage notification

    • Adds best-effort issue creation/update directly in check_version_updates.cjs before failing the blocked-version check.
    • Deduplicates by compiler version with a stable title:
      [aw] Workflows blocked by compile-agentic v0.84.3
      
    • Updates the existing issue with the latest blocked run instead of creating repeated issues.
  • Compiler wiring

    • Passes workflow name and reporting policy into the version-check step.
    • Grants issues: write to activation only when blocked-version issue reporting can run.
  • Failure behavior

    • Preserves the existing hard failure:
      Blocked compile-agentic version: <version> is in the blocked versions list.
      
    • Treats issue reporting as non-fatal so notification failures do not mask the root cause.

Copilot AI and others added 3 commits September 9, 2026 14:31
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix blocked compiler versions to notify on workflow failures Report blocked gh-aw compiler versions during activation Sep 9, 2026
@pelikhan
pelikhan marked this pull request as ready for review September 9, 2026 14:50
Copilot AI balanced review requested due to automatic review settings September 9, 2026 14:50
Copilot AI requested a review from pelikhan September 9, 2026 14:50
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Ponytail Reviewer completed successfully!

Cannot perform ponytail review: /tmp/gh-aw/agent/pr-diff.patch is empty (0 bytes), so there are no changed lines to review.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • ab.chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"

See Network Configuration for more information.

Generated by Ponytail Reviewer for #59747

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • api.github.com
  • github.com

[!TIP]
api.github.com is blocked because GitHub API access uses the built-in GitHub tools by default. Instead of adding api.github.com to network.allowed, use tools.github.mode: gh-proxy for direct pre-authenticated GitHub CLI access without requiring network access to api.github.com:

tools:
  github:
    mode: gh-proxy

See GitHub Tools for more information on gh-proxy mode.

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "api.github.com"
    - "github.com"

See Network Configuration for more information.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • api.github.com
  • github.com

[!TIP]
api.github.com is blocked because GitHub API access uses the built-in GitHub tools by default. Instead of adding api.github.com to network.allowed, use tools.github.mode: gh-proxy for direct pre-authenticated GitHub CLI access without requiring network access to api.github.com:

tools:
  github:
    mode: gh-proxy

See GitHub Tools for more information on gh-proxy mode.

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "api.github.com"
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

Test Quality Sentinel skipped because pre-fetch PR data was unavailable: unable to fetch PR file list

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft.

🏗️ ADR gate enforced by Design Decision Gate 🏗️

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.

🟡 Changes recommended

Runtime reporting expressions are ignored, concurrent activations can create duplicate issues, and unrelated generated workflow drift is included.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds activation-stage issue reporting for blocked compiler versions, preventing silent repository-wide workflow outages.

Changes:

  • Creates or updates blocked-version issues while preserving hard failure behavior.
  • Wires reporting policy, workflow name, and conditional issue permissions.
  • Adds tests and refactors activation helpers.
File summaries
File Description
pkg/workflow/compiler_activation_steps.go Wires reporting and refactors skill steps.
pkg/workflow/compiler_activation_steps_test.go Tests reporting configuration and permissions.
pkg/workflow/compiler_activation_permissions.go Adds conditional issue permissions.
actions/setup/js/check_version_updates.cjs Implements blocked-version issue reporting.
actions/setup/js/check_version_updates.test.cjs Tests issue creation, updating, and failures.
.github/workflows/windows.lock.yml Adds generated gpt-6 aliases.
.github/workflows/windows-grower.lock.yml Adds generated gpt-6 aliases.
.github/workflows/notion-issue-summary.lock.yml Adds generated gpt-6 aliases.
.github/workflows/hippo-embed.lock.yml Adds generated gpt-6 aliases.
.github/workflows/firewall.lock.yml Adds generated gpt-6 aliases.
.github/workflows/example-permissions-warning.lock.yml Adds generated gpt-6 aliases.
.github/workflows/daily-max-ai-credits-test.lock.yml Adds generated gpt-6 aliases.
.github/workflows/daily-harness-experiment-proposer.lock.yml Adds generated gpt-6 aliases.
.github/workflows/daily-credit-limit-test.lock.yml Adds generated gpt-6 aliases.
.github/workflows/codex-github-remote-mcp-test.lock.yml Adds generated gpt-6 aliases.
.github/workflows/agentic-token-optimizer.lock.yml Modifies an upstream-managed generated workflow.
Review details
  • Files reviewed: 30/302 changed files
  • Comments generated: 2
  • Review effort level: Balanced

Comment thread pkg/workflow/compiler_activation_steps.go Outdated
Comment thread .github/workflows/agentic-token-optimizer.lock.yml
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

🏗️ ADR Required

This PR required ADR enforcement because it adds more than 100 new lines in default business-logic directories (pkg/), even without the implementation label.

Evidence used

  • Prefetch summary: default_business_additions: 115, requires_adr_by_default_volume: true, diff_available: false
  • PR description: activation-stage blocked compiler version failures currently bypass downstream failure reporting
  • Linked issue: #59600, which documents the silent repo-wide outage and the need for activation-stage notification

I generated and committed a draft ADR at docs/adr/59747-report-blocked-compiler-version-at-activation.md.

What the draft records

  • Decision: report blocked compiler versions from the activation-stage version check itself, before preserving the existing hard failure
  • Driver: blocked versions fail in activation, so downstream conclusion/failure-reporting jobs are skipped and the outage can remain silent
  • Alternatives considered: keep downstream-only reporting, add warning-only behavior, or ship a separate non-agentic watchdog
  • Consequences: better visibility for blocked-version outages, with added activation/reporting complexity and permission wiring

Next action
Please review and refine the draft ADR, especially the exact long-term reporting policy and any future warning/watchdog follow-up, before merging.

🏗️ ADR gate enforced by Design Decision Gate 🏗️ · pi · gpt54 · 22.5 AIC · ⌖ 12.2 AIC · ⊞ 10.1K ·
Comment /review to run again

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Comment Memory

reviewed_at: 2026-09-09T14:54:00Z
review_event: REQUEST_CHANGES
top_themes:
- blocked-version alert path is brittle under Search API throttling/transient failures
files_reviewed:
- actions/setup/js/check_version_updates.cjs
- actions/setup/js/check_version_updates.test.cjs
- pkg/workflow/compiler_activation_permissions.go
- pkg/workflow/compiler_activation_steps.go
- pkg/workflow/compiler_activation_steps_test.go
comment_count: 1

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • api.github.com
  • github.com

[!TIP]
api.github.com is blocked because GitHub API access uses the built-in GitHub tools by default. Instead of adding api.github.com to network.allowed, use tools.github.mode: gh-proxy for direct pre-authenticated GitHub CLI access without requiring network access to api.github.com:

tools:
  github:
    mode: gh-proxy

See GitHub Tools for more information on gh-proxy mode.

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "api.github.com"
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 72.1 AIC · ⌖ 5.59 AIC · ⊞ 22.9K ·
Comment /review to run again

@github-actions github-actions Bot 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.

Request changes

The activation-stage fallback is headed in the right direction, but the new notification path is still too fragile to trust during the exact repo-wide outage it is meant to surface.

Blocking theme
  • The new blocked-version reporter relies on the Search API without retry or backoff, so concurrent activation failures can self-rate-limit the lookup and silently drop the only alert.

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • api.github.com
  • github.com

[!TIP]
api.github.com is blocked because GitHub API access uses the built-in GitHub tools by default. Instead of adding api.github.com to network.allowed, use tools.github.mode: gh-proxy for direct pre-authenticated GitHub CLI access without requiring network access to api.github.com:

tools:
  github:
    mode: gh-proxy

See GitHub Tools for more information on gh-proxy mode.

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "api.github.com"
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 72.1 AIC · ⌖ 5.59 AIC · ⊞ 22.9K
Comment /review to run again

Comment thread actions/setup/js/check_version_updates.cjs Outdated

@github-actions github-actions Bot 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.

Skills-Based Review 🧠

Applied /codebase-design and /diagnosing-bugs (fallback triage heuristic — pr-triage agent not invoked directly by this reviewer session; classification based on file types: JS action script + Go compiler wiring + tests = feature/refactor mix). Requesting changes on one design-consistency gap; two additional suggestions for robustness/test coverage.

📋 Key Themes & Highlights

Key Themes

  • Category-filter bypass: The new activation-stage blocked-version issue reuses conclusionReportFailureAsIssueEnabled, which only understands the literal false opt-out, not the category-list filtering form (report-failure-as-issue: ["!some_category"]). Workflows that use category filtering to silence certain failure types still get issues: write and a blocked-version issue created, which isn't obviously intended given the shared config knob.
  • Search-index race: Deduplication depends on github.rest.search.issuesAndPullRequests, which is eventually consistent — concurrent activation runs could create duplicate issues. Acceptable for a best-effort path, but worth a comment/test acknowledging the limitation.
  • Missing negative-path test: The typeof github === "undefined" ... guard in reportBlockedVersionIssue has no direct test coverage.

Positive Highlights

  • ✅ Clean refactor of compiler_activation_steps.go's skill-install logic into focused helper functions (addActivationSkillUpgradeStep, addActivationSingleSkillInstallStep, resolveFrontmatterSkillToken) — improves readability without changing behavior.
  • ✅ Good test coverage for the create/update/disable/failure paths of the new blocked-version issue flow in check_version_updates.test.cjs.
  • ✅ Failure reporting is correctly wired as best-effort (wrapped in try/catch, doesn't mask the primary setFailed call) — matches the PR's stated goal.
  • ✅ Permission wiring (issues: write only granted when activationBlockedVersionIssueEnabled) keeps the principle of least privilege in mind.

@copilot please address the review comments above.

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • api.github.com
  • github.com

[!TIP]
api.github.com is blocked because GitHub API access uses the built-in GitHub tools by default. Instead of adding api.github.com to network.allowed, use tools.github.mode: gh-proxy for direct pre-authenticated GitHub CLI access without requiring network access to api.github.com:

tools:
  github:
    mode: gh-proxy

See GitHub Tools for more information on gh-proxy mode.

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "api.github.com"
    - "github.com"

See Network Configuration for more information.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · sonnet50 · 167.3 AIC · ⌖ 15.3 AIC · ⊞ 10.4K
Comment /matt to run again

Comment thread pkg/workflow/compiler_activation_permissions.go Outdated
Comment thread actions/setup/js/check_version_updates.cjs
Comment thread actions/setup/js/check_version_updates.cjs
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot please address the outstanding review feedback and then run the pr-finisher skill. Key follow-ups called out in review include the Search API race/fragility, category-filter behavior, and unrelated generated workflow drift.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 18.5 AIC · ⌖ 7.2 AIC · ⊞ 9.3K ·
Comment /souschef to run again

…ft, harden Search API usage

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
@pelikhan

pelikhan commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

@copilot ensure that the 'on' front matter element has a field to turn off this behavior. Similar to turning off reporting missing secrets.

…notification

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

@copilot ensure that the 'on' front matter element has a field to turn off this behavior. Similar to turning off reporting missing secrets.

Added in 0487226: on.report-blocked-version: false (mirrors on.stale-check) disables only the activation-stage notification issue, independent of check-for-updates (which disables the whole check) and safe-outputs.report-failure-as-issue. The blocked-version check and its hard failure remain active regardless.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot please address the remaining unresolved review feedback before running the pr-finisher skill.

Outstanding unresolved review threads:

Please also refresh the branch if needed and then run the pr-finisher skill after the review threads are addressed.

Generated by 👨🍳 PR Sous Chef · pi · gpt54

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 34.6 AIC · ⌖ 7.24 AIC · ⊞ 9.3K ·
Comment /souschef to run again

Copilot AI commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

@copilot please address the remaining unresolved review feedback before running the pr-finisher skill.

Outstanding unresolved review threads:...

All four threads are already resolved with fixes in commit 2d79b05: Search API calls (findExistingBlockedVersionIssue, issues.update, issues.create) are wrapped in withRetry for outage fan-out robustness (r3969901766, r3969964085), the category-filter opt-out limitation is documented in code + ADR rather than silently reused (r3969964062), and the suggested "GitHub APIs unavailable" test plus a retry-path test were added (r3969964096). No further code changes needed for these items.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot please address the remaining review feedback, refresh the branch if needed, and then run the pr-finisher skill.

Outstanding review feedback:

  • The blocked-version notification path should avoid duplicate issue creation/update races during concurrent activation failures.
  • Ensure the new on.report-blocked-version switch is covered and wired consistently with the existing reporting controls.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 39 AIC · ⌖ 7.11 AIC · ⊞ 9.3K ·
Comment /souschef to run again

const workflowName = process.env.GH_AW_WORKFLOW_NAME || (typeof context !== "undefined" ? context.workflow : "") || "unknown";
const runUrl = getRunUrl();
const lines = [
`<!-- gh-aw-blocked-compiler-version: ${compiledVersion} -->`,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@copilot refactor text to template in actions/setup/md and use render file template to render.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done in 86f6d51: extracted the issue body into actions/setup/md/blocked_compiler_version_issue.md and refactored buildBlockedVersionIssueBody to call renderTemplateFromFile(getPromptPath(...), {...}), matching the pattern used in handle_agent_failure.cjs.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Category: bug | Risk: high | Score: 70/100 (impact 36/50, urgency 22/30, quality 12/20) | Action: fast_track | Reason: activation-path reliability fix with clear tests and broad operational value.

Generated by 🔧 PR Triage Agent · copilot · mai10 · 15.7 AIC · ⌖ 2.67 AIC · ⊞ 18.8K ·

Copilot AI commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

@copilot please address the remaining review feedback, refresh the branch if needed, and then run the pr-finisher skill.

Outstanding review feedback:...

Both points are already addressed:

  • The search-based dedup is the established convention in this codebase (e.g. findExistingCascadeRollupIssue/findOrCreateDailyCapRollupIssue in handle_agent_failure.cjs use the same search.issuesAndPullRequests approach and accept the same eventual-consistency tradeoff). The race is documented in code comments and wrapped in withRetry (2d79b05).
  • on.report-blocked-version is wired and tested in 0487226: compiler_activation_steps_test.go covers it overriding a templated report-failure-as-issue value and gating issues: write, and report_blocked_version_test.go covers the default/true/false end-to-end compiler behavior.

No further code changes needed for these items.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan September 9, 2026 18:58
@pelikhan
pelikhan merged commit 6d644dd into main Sep 9, 2026
44 checks passed
@pelikhan
pelikhan deleted the copilot/fix-blocked-compiler-versions branch September 9, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Blocked compiler versions disable every workflow in a repo with no notification path

4 participants