Skip to content

Render runtime features only when configured; move output behind details disclosure#41358

Merged
pelikhan merged 8 commits into
mainfrom
copilot/update-step-summary-rendering
Jun 25, 2026
Merged

Render runtime features only when configured; move output behind details disclosure#41358
pelikhan merged 8 commits into
mainfrom
copilot/update-step-summary-rendering

Conversation

Copilot AI commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

The activation step summary currently prints a Runtime features section even when no runtime features are configured (Not set). This updates summary rendering to suppress empty/unset output and only surface configured runtime features via progressive disclosure.

  • Summary rendering behavior

    • Runtime features are now written to $GITHUB_STEP_SUMMARY only when GH_AW_RUNTIME_FEATURES is both defined and non-empty.
    • The previous _Not set_ / _Empty string_ output paths are removed from the summary.
  • Progressive disclosure format

    • Section heading is standardized to ### Runtime features.
    • Feature content is wrapped in HTML <details>/<summary> so verbose values are collapsed by default.
  • Compiler/test fixture alignment

    • Updated activation job summary-step expectations in runtime feature tests.
    • Regenerated affected wasm golden outputs to match compiler-emitted workflow YAML.
if [[ "$GH_AW_RUNTIME_FEATURES_IS_SET" == "true" && -n "$GH_AW_RUNTIME_FEATURES" ]]; then
  {
    echo "### Runtime features"
    echo
    echo "<details>"
    echo "<summary>Show configured runtime features</summary>"
    echo
    echo '```text'
    printf '%s\n' "$GH_AW_RUNTIME_FEATURES"
    echo '```'
    echo
    echo "</details>"
  } >> "$GITHUB_STEP_SUMMARY"
fi

Copilot AI and others added 2 commits June 25, 2026 03:14
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 Update runtime feature step summary with progressive disclosure Render runtime features only when configured; move output behind details disclosure Jun 25, 2026
Copilot AI requested a review from pelikhan June 25, 2026 03:18
" if [[ \"$GH_AW_RUNTIME_FEATURES_IS_SET\" != \"true\" ]]; then\n",
" echo \"_Not set_\"\n",
" elif [[ -n \"$GH_AW_RUNTIME_FEATURES\" ]]; then\n",
" if [[ \"$GH_AW_RUNTIME_FEATURES_IS_SET\" == \"true\" && -n \"$GH_AW_RUNTIME_FEATURES\" ]]; then\n",

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 this script into a shell script in actions/setup/sh

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 6e7f837. I moved the runtime-features summary logic into actions/setup/sh/log_runtime_features_summary.sh and updated the activation step to call that script.

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.

Already done in 6e7f837 — the logic is in actions/setup/sh/log_runtime_features_summary.sh.

Copilot AI and others added 2 commits June 25, 2026 03:46
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan June 25, 2026 03:53
@pelikhan

Copy link
Copy Markdown
Collaborator

@copilot recompile

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

Copilot AI commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

@copilot recompile

Ran make recompile on c3b9d95; it completed successfully and produced no additional changes.

@pelikhan pelikhan marked this pull request as ready for review June 25, 2026 04:55
Copilot AI review requested due to automatic review settings June 25, 2026 04:55

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

This PR refines activation step-summary rendering so Runtime features are only written to $GITHUB_STEP_SUMMARY when GH_AW_RUNTIME_FEATURES is both set (as a repo var) and non-empty, and the rendered output is now collapsed by default via <details>/<summary> progressive disclosure.

Changes:

  • Switched the activation job’s “Log runtime features” step from an inline heredoc/script to a shared runtime-copied shell script (log_runtime_features_summary.sh).
  • Added the shared shell script that conditionally appends a ### Runtime features section wrapped in <details> to $GITHUB_STEP_SUMMARY.
  • Updated Go test expectations and regenerated wasm golden workflow outputs and workflow lockfiles to match the compiler-emitted YAML.
Show a summary per file
File-by-file table
File Description
actions/setup/sh/log_runtime_features_summary.sh New shared summary-rendering script; only emits runtime features when set + non-empty and wraps output in <details>.
pkg/workflow/compiler_activation_job_builder.go Updates activation job step to invoke the shared log_runtime_features_summary.sh script instead of inline bash.
pkg/workflow/runtime_features_env_test.go Adjusts test expectations to require calling the shared script (and removes assertions tied to the old inline rendering branches).
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/with-imports.golden Regenerated golden output to reflect the new shared-script invocation for runtime features logging.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden Regenerated golden output to reflect the new shared-script invocation for runtime features logging.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/playwright-cli-mode.golden Regenerated golden output to reflect the new shared-script invocation for runtime features logging.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/basic-copilot.golden Regenerated golden output to reflect the new shared-script invocation for runtime features logging.
pkg/workflow/testdata/TestWasmGolden_AllEngines/pi.golden Regenerated golden output to reflect the new shared-script invocation for runtime features logging.
pkg/workflow/testdata/TestWasmGolden_AllEngines/gemini.golden Regenerated golden output to reflect the new shared-script invocation for runtime features logging.
pkg/workflow/testdata/TestWasmGolden_AllEngines/copilot.golden Regenerated golden output to reflect the new shared-script invocation for runtime features logging.
pkg/workflow/testdata/TestWasmGolden_AllEngines/codex.golden Regenerated golden output to reflect the new shared-script invocation for runtime features logging.
pkg/workflow/testdata/TestWasmGolden_AllEngines/claude.golden Regenerated golden output to reflect the new shared-script invocation for runtime features logging.
.github/workflows/workflow-skill-extractor.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/workflow-normalizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/workflow-health-manager.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/workflow-generator.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/weekly-safe-outputs-spec-review.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/weekly-issue-summary.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/weekly-editors-health-check.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/weekly-blog-post-writer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/visual-regression-checker.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/video-analyzer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/update-astro.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/unbloat-docs.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/uk-ai-operational-resilience.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/ubuntu-image-analyzer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/typist.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/tidy.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/test-workflow.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/test-quality-sentinel.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/test-project-url-default.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/test-dispatcher.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/test-create-pr-error-handling.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/terminal-stylist.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/technical-doc-writer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/super-linter.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/sub-issue-closer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/step-name-alignment.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/static-analysis-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/stale-repo-identifier.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/stale-pr-cleanup.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/spec-librarian.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/spec-extractor.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/spec-enforcer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-workflow-call.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-workflow-call-with-inputs.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-update-cross-repo-pr.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-test-tools.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-temporary-id.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-service-ports.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-project.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-pi.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-otel-backends.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-opencode.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-multi-pr.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-gemini.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-crush.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-create-cross-repo-pr.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-copilot.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-copilot-sdk.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-copilot-arm.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-copilot-aoai-entra.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-copilot-aoai-apikey.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-codex.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-claude.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-claude-on-copilot.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-ci.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-call-workflow.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-antigravity.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-agent-scoped-approved.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-agent-public-none.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-agent-public-approved.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-agent-all-none.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/smoke-agent-all-merged.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/slide-deck-maintainer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/skillet.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/sergo.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/semantic-function-refactor.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/security-review.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/security-compliance.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/scout.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/schema-feature-coverage.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/schema-consistency-checker.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/safe-output-health.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/ruflo-backed-task.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/research.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/repository-quality-improver.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/repo-tree-map.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/repo-audit-analyzer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/release.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/refiner.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/refactoring-cadence.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/q.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/python-data-charts.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/prompt-clustering-analysis.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/pr-triage-agent.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/pr-sous-chef.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/pr-nitpick-reviewer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/pr-description-caveman.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/pr-code-quality-reviewer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/portfolio-analyst.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/poem-bot.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/plan.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/pdf-summary.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/outcome-collector.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/org-health-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/objective-impact-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/notion-issue-summary.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/necromancer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/metrics-collector.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/mergefest.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/mcp-inspector.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/mattpocock-skills-reviewer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/lockfile-stats.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/linter-miner.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/lint-monster.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/layout-spec-maintainer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/jsweep.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/issue-triage-agent.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/issue-monster.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/issue-arborist.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/instructions-janitor.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/hourly-ci-cleaner.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/hippo-embed.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/grumpy-reviewer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/gpclean.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/go-pattern-detector.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/go-logger.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/go-fan.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/glossary-maintainer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/github-remote-mcp-auth-test.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/github-mcp-tools-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/github-mcp-structural-analysis.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/functional-pragmatist.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/firewall.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/firewall-escape.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/example-workflow-analyzer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/example-permissions-warning.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/example-failure-category-filter.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/duplicate-code-detector.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/draft-pr-cleanup.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/docs-noob-tester.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/discussion-task-miner.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/dictation-prompt.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/developer-docs-consolidator.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/dev.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/dev-hawk.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/designer-drift-audit.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/design-decision-gate.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/deployment-incident-monitor.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/dependabot-repair.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/dependabot-go-checker.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/dependabot-burner.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/delight.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/deep-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/dead-code-remover.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/dataflow-pr-discussion-dataset.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-workflow-updater.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-windows-terminal-integration-builder.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-token-consumption-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-testify-uber-super-expert.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-team-status.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-team-evolution-insights.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-syntax-error-quality.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-spdd-spec-planner.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-skill-optimizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-sentrux-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-semgrep-scan.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-security-red-team.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-security-observability.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-secrets-analysis.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-safeoutputs-git-simulator.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-safe-outputs-conformance.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-safe-output-optimizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-safe-output-integrator.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-repo-chronicle.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-rendering-scripts-verifier.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-reliability-review.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-regulatory.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-performance-summary.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-observability-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-news.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-multi-device-docs-tester.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-model-resolution.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-model-inventory.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-mcp-concurrency-analysis.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-max-ai-credits-test.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-malicious-code-scan.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-issues-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-hippo-learn.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-geo-optimizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-function-namer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-formal-spec-verifier.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-firewall-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-file-diet.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-fact.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-experiment-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-doc-updater.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-doc-healer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-credit-limit-test.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-compiler-threat-spec-optimizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-compiler-quality.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-community-attribution.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-code-metrics.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-cli-tools-tester.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-cli-performance.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-choice-test.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-caveman-optimizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-cache-strategy-analyzer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-byok-ollama-test.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-awf-spec-compiler-surfacing.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-aw-cross-repo-compile-check.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-assign-issue-to-user.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-architecture-diagram.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-ambient-context-optimizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-agentrx-trace-optimizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/daily-agent-of-the-day-blog-writer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/craft.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/copilot-session-insights.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/copilot-pr-prompt-analysis.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/copilot-pr-nlp-analysis.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/copilot-pr-merged-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/copilot-opt.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/copilot-cli-deep-research.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/copilot-centralization-optimizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/copilot-centralization-drilldown.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/copilot-agent-analysis.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/contribution-check.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/constraint-solving-potd.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/commit-changes-analyzer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/codex-github-remote-mcp-test.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/code-simplifier.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/code-scanning-fixer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/cloclo.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/cli-version-checker.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/cli-consistency-checker.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/claude-code-user-docs-review.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/ci-doctor.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/ci-coach.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/chaos-pr-bundle-fuzzer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/changeset.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/breaking-change-checker.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/brave.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/bot-detection.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/blog-auditor.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/aw-failure-investigator.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/avenger.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/auto-triage-issues.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/audit-workflows.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/artifacts-summary.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/architecture-guardian.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/archie.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/approach-validator.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/api-consumption-report.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/ai-moderator.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/agentic-token-trend-audit.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/agentic-token-optimizer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/agentic-token-audit.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/agent-persona-explorer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/agent-performance-analyzer.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/ace-editor.lock.yml Updates runtime-features logging step to call the shared summary script.
.github/workflows/ab-testing-advisor.lock.yml Updates runtime-features logging step to call the shared summary script.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 263/263 changed files
  • Comments generated: 0

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

Analysis already completed for PR #41358 in this workflow run (28147799570). Comment and APPROVE review (100/100) were successfully submitted in the earlier invocation. Both add_comment and submit_pull_request_review limits are exhausted.

@github-actions

Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 100/100 — Excellent

Analyzed 1 modified test function: 1 design test, 0 implementation tests, 0 guideline violations.

📊 Metrics & Test Classification (1 test analyzed)
Metric Value
New/modified tests analyzed 1
✅ Design tests (behavioral contracts) 1 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 1 (100%)
Duplicate test clusters 0
Test inflation detected No
🚨 Coding-guideline violations 0
Test File Classification Issues Detected
TestActivationJobIncludesRuntimeFeatureSummaryStep pkg/workflow/runtime_features_env_test.go:63 ✅ Design

Go: 1 (*_test.go); JavaScript: 0.

Verdict

Check passed. 0% implementation tests (threshold: 30%). The modified test updates behavioral assertions to match the refactor — replacing inline rendering checks (_Empty string_, $GITHUB_STEP_SUMMARY) with a check that the activation job now delegates to the shared log_runtime_features_summary.sh script. Error-path coverage (buildActivationJob() error) and descriptive assertion messages are intact.

References: §28147799570

🧪 Test quality analysis by Test Quality Sentinel · 83.2 AIC · ⌖ 19 AIC · ⊞ 8.4K ·

@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.

✅ Test Quality Sentinel: 100/100. Test quality is excellent — 0% of new tests are implementation tests (threshold: 30%).

@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 /tdd and /zoom-out — requesting changes on test coverage gaps before merging.

📋 Key Themes & Highlights

Key Themes

  • Missing shell script test (/tdd): log_runtime_features_summary.sh has no _test.sh companion, inconsistent with the rest of actions/setup/sh/. This is the main ask — the extraction is most valuable when the script is independently testable.
  • Weakened Go test (/tdd): runtime_features_env_test.go lost its $GITHUB_STEP_SUMMARY behavioral assertion; the replacement only checks the script filename string.
  • GITHUB_STEP_SUMMARY not guarded under set -u (/zoom-out): Makes the script harder to run outside GitHub Actions (e.g. in a local test). Using ${GITHUB_STEP_SUMMARY:-/dev/null} would fix this.
  • Heading level downgrade (/zoom-out): ## Runtime features### Runtime features is a visible UX change not mentioned in the PR description.

Positive Highlights

  • ✅ Clean extraction of 14-line inline shell to a reusable, named script — the right direction for maintainability.
  • ✅ Progressive disclosure with <details>/<summary> is a good UX improvement for noisy step summaries.
  • ✅ Silent suppression of empty/unset values keeps step summaries clean.
  • set -euo pipefail + set +o histexpand safety flags are present and consistent with the rest of the setup scripts.
  • ✅ Golden files and Go tests updated to match the new compiler output.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · 112.6 AIC · ⌖ 10.1 AIC · ⊞ 6.5K

@@ -0,0 +1,18 @@
#!/usr/bin/env bash

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.

[/tdd] No companion test script — the repo has a clear *_test.sh pattern for every shell script (e.g. sanitize_path_test.sh, validate_prompt_placeholders_test.sh). Extracting logic to an external script is most valuable when the script is independently testable.

💡 Suggested test coverage

Create actions/setup/sh/log_runtime_features_summary_test.sh with at least these cases:

#!/usr/bin/env bash
set +o histexpand

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SCRIPT="${SCRIPT_DIR}/log_runtime_features_summary.sh"
SUMMARY_FILE="$(mktemp)"
trap 'rm -f "$SUMMARY_FILE"' EXIT

# Case 1: IS_SET=false -> no output written
export GH_AW_RUNTIME_FEATURES_IS_SET=false GH_AW_RUNTIME_FEATURES="" GITHUB_STEP_SUMMARY="$SUMMARY_FILE"
bash "$SCRIPT"
[[ ! -s "$SUMMARY_FILE" ]] && echo '✓ suppressed when not set' || { echo '✗ unexpectedly wrote'; exit 1; }

# Case 2: IS_SET=true, non-empty -> writes heading + details block
> "$SUMMARY_FILE"
export GH_AW_RUNTIME_FEATURES_IS_SET=true GH_AW_RUNTIME_FEATURES="feature1=on"
bash "$SCRIPT"
grep -q '### Runtime features' "$SUMMARY_FILE" && echo '✓ wrote heading' || { echo '✗ missing heading'; exit 1; }
grep -q '<details>' "$SUMMARY_FILE" && echo '✓ wrapped in details' || { echo '✗ missing details'; exit 1; }

# Case 3: IS_SET=true, empty -> no output written
> "$SUMMARY_FILE"
export GH_AW_RUNTIME_FEATURES=""
bash "$SCRIPT"
[[ ! -s "$SUMMARY_FILE" ]] && echo '✓ suppressed empty value' || { echo '✗ unexpectedly wrote for empty'; exit 1; }

echo 'All tests passed'

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.

Added log_runtime_features_summary_test.sh covering all three code paths plus the unset-IS_SET case.

}
if !strings.Contains(steps, "$GITHUB_STEP_SUMMARY") {
t.Fatal("expected runtime feature summary step to write to GITHUB_STEP_SUMMARY")
if !strings.Contains(steps, "log_runtime_features_summary.sh") {

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.

[/tdd] The test was strengthened for the script filename but lost its behavioral assertion. Previously the test verified that the step would write to $GITHUB_STEP_SUMMARY; now it only checks that a script name appears in the step configuration string. If the script is renamed or the redirect target changes, this test won't catch it.

💡 Suggestion

Consider keeping the $GITHUB_STEP_SUMMARY assertion (it validates the step's purpose, not its implementation), or move the behavioral coverage to a companion _test.sh file that exercises the script directly:

// Verify the step still references the summary output path so its purpose is clear
if !strings.Contains(steps, "GITHUB_STEP_SUMMARY") {
    t.Fatal("expected runtime feature summary step to write to GITHUB_STEP_SUMMARY")
}

The filename check (log_runtime_features_summary.sh) is a good implementation-detail guard; the summary-write check is a separate behavioral guard — both are useful.

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.

Restored the behavioral assertion — the Go test now reads the shell script and verifies it contains GITHUB_STEP_SUMMARY, catching any accidental removal of the redirect.

echo '```'
echo
echo "</details>"
} >> "$GITHUB_STEP_SUMMARY"

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.

[/zoom-out] GITHUB_STEP_SUMMARY is referenced without a guard, but set -euo pipefail is active. If this script is ever exercised outside a GitHub Actions runner (e.g. in a local shell test), the -u flag will raise an "unbound variable" error as soon as the outer if condition evaluates to true — making test runs non-trivial to set up.

💡 Suggestion

Other scripts in this directory (e.g. append_agent_step_summary.sh) don't use set -u, so they avoid this pitfall. For a testable script, consider either:

  1. Using ${GITHUB_STEP_SUMMARY:-/dev/null} as a safe default:
  } >> "${GITHUB_STEP_SUMMARY:-/dev/null}"
  1. Or adding an early guard:
[[ -z "${GITHUB_STEP_SUMMARY:-}" ]] && exit 0

This is also necessary for the _test.sh companion script to be portable without injecting a real file path.

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.

Fixed — changed to "${GITHUB_STEP_SUMMARY:-/dev/null}" so the script is safe to run in test environments where the variable is unset.


if [[ "${GH_AW_RUNTIME_FEATURES_IS_SET:-}" == "true" && -n "${GH_AW_RUNTIME_FEATURES:-}" ]]; then
{
echo "### Runtime features"

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.

[/zoom-out] Heading level changed from ## Runtime features (h2) to ### Runtime features (h3). This is a visible UX change — worth a brief mention in the PR description (or confirming it was intentional). If anything parses or anchors to ## Runtime features in downstream tooling or documentation, it would silently break.

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.

The h3 heading is intentional — the step summary section is nested under a per-job run header, so ### is the correct level for a sub-section. No downstream tooling anchors to this heading.

set +o histexpand
set -euo pipefail

if [[ "${GH_AW_RUNTIME_FEATURES_IS_SET:-}" == "true" && -n "${GH_AW_RUNTIME_FEATURES:-}" ]]; then

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.

[/zoom-out] Both halves of the && condition use the :- default form to tolerate unset variables, which is correct for the outer guard. The interesting design note: GH_AW_RUNTIME_FEATURES_IS_SET is a step-level env var computed from the vars context (contains(toJSON(vars), ...)), while GH_AW_RUNTIME_FEATURES comes from the job-level env. When IS_SET=true but the value is empty, the silent suppression is intentional per the PR description — but this means a variable that exists in vars as an empty string produces no step summary output with no diagnostic. Consider a brief code comment explaining this trade-off for future readers.

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.

Added a comment to the script explaining the silent-suppression trade-off for an empty-string value.

@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.

🔎 Code quality review by PR Code Quality Reviewer · 107.6 AIC · ⌖ 6.83 AIC · ⊞ 5.2K

set +o histexpand
set -euo pipefail

if [[ "${GH_AW_RUNTIME_FEATURES_IS_SET:-}" == "true" && -n "${GH_AW_RUNTIME_FEATURES:-}" ]]; then

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.

Missing shell test file: the script has no log_runtime_features_summary_test.sh, leaving its behavior unverified by any automated test.

💡 Details

Every other non-trivial script in actions/setup/sh/ that handles conditional logic has a companion _test.sh (e.g., audit_pre_agent_workspace_test.sh, check_cache_memory_git_integrity_test.sh, validate_gatewayed_server_test.sh). This script's three code paths — (a) IS_SET=false → no output, (b) IS_SET=true + empty value → no output, (c) IS_SET=true + non-empty → write <details> block — have no automated coverage. A future edit could silently break the summary without any test failing.

Suggested: add log_runtime_features_summary_test.sh covering at minimum the suppression case (no output when IS_SET is false) and the write case (GITHUB_STEP_SUMMARY receives the expected heading + <details> wrapper when IS_SET is true and the value is non-empty).

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.

Added log_runtime_features_summary_test.sh with four test cases covering all code paths.

}
if !strings.Contains(steps, "$GITHUB_STEP_SUMMARY") {
t.Fatal("expected runtime feature summary step to write to GITHUB_STEP_SUMMARY")
if !strings.Contains(steps, "log_runtime_features_summary.sh") {

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.

Weakened test assertions: two meaningful behavioral checks were removed without replacement, reducing regression safety for the script's core contract.

💡 Details

Removed assertions:

  1. strings.Contains(steps, "_Empty string_") — verified that the step handled the IS_SET=true + empty-value edge case distinctly
  2. strings.Contains(steps, "$GITHUB_STEP_SUMMARY") — verified that the step actually writes to the summary

The replacement assertion (log_runtime_features_summary.sh is present) only checks the plumbing, not behavior. Now if someone edits the shell script to silently skip writing to GITHUB_STEP_SUMMARY, or accidentally removes the >> "$GITHUB_STEP_SUMMARY" redirection, no Go test will catch it.

Because the logic moved to a shell script (which also lacks a _test.sh), the net coverage of the critical write-to-summary path is now zero in automated tests.

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.

Restored as a script-level check: the Go test reads log_runtime_features_summary.sh and asserts it contains GITHUB_STEP_SUMMARY, so a future edit that removes the redirect will fail the test suite.

@github-actions

Copy link
Copy Markdown
Contributor

@copilot review all comments and address unresolved review feedback.

Generated by 👨‍🍳 PR Sous Chef · 73.8 AIC · ⌖ 0.98 AIC · ⊞ 17.1K ·

@github-actions

Copy link
Copy Markdown
Contributor

Please summarize the remaining blockers and the next smallest step to get this PR mergeable.

Generated by 👨‍🍳 PR Sous Chef · 73.8 AIC · ⌖ 0.98 AIC · ⊞ 17.1K ·

@github-actions

Copy link
Copy Markdown
Contributor

@copilot review all comments and address unresolved review feedback.
Please also summarize the remaining blockers and the next concrete step.

Generated by 👨‍🍳 PR Sous Chef · 38 AIC · ⌖ 0.982 AIC · ⊞ 17.1K ·

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Hey @Copilot 👋 — nice cleanup on the runtime features step summary! Suppressing the _Not set_ / _Empty string_ noise and moving output behind a <details> disclosure block makes the activation summary much cleaner. Extracting the logic into log_runtime_features_summary.sh is a good call — it keeps the compiler code readable and makes the script independently testable.

Checklist looks solid: the PR is focused on one thing, the compiler change is aligned with golden outputs and tests, and the PR description clearly explains the what and why. This looks ready for review. ✅

Generated by ✅ Contribution Check · 263 AIC · ⌖ 13.2 AIC · ⊞ 6K ·

@github-actions

Copy link
Copy Markdown
Contributor

``
@copilot review all comments and address unresolved review feedback.

Generated by 👨‍🍳 PR Sous Chef · 39.9 AIC · ⌖ 1.12 AIC · ⊞ 17.1K ·

@github-actions

Copy link
Copy Markdown
Contributor

``
@copilot please refresh the branch and summarize any remaining blockers after re-review.

Generated by 👨‍🍳 PR Sous Chef · 39.9 AIC · ⌖ 1.12 AIC · ⊞ 17.1K ·

@pelikhan

Copy link
Copy Markdown
Collaborator

@github-actions

Copy link
Copy Markdown
Contributor

``
@copilot review all comments and address unresolved review feedback.
Please fix the failing test and refresh the branch so checks can be rerun.

Generated by 👨‍🍳 PR Sous Chef · 69.6 AIC · ⌖ 0.989 AIC · ⊞ 17.1K ·

…ns, fix unbound variable

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

Copilot AI commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

@copilot run pr-finisher skill and fix https://github.com/github/gh-aw/actions/runs/28147799559/job/83360091309?pr=41358

Addressed all open review threads:

  • log_runtime_features_summary_test.sh — created with 4 test cases covering IS_SET=false, IS_SET=true+non-empty, IS_SET=true+empty, and IS_SET unset.
  • Unbound variable — changed "$GITHUB_STEP_SUMMARY" to "${GITHUB_STEP_SUMMARY:-/dev/null}" so the script runs cleanly in test environments.
  • Behavioral assertion — restored as a check that the shell script itself contains GITHUB_STEP_SUMMARY, keeping the contract guard without requiring the step YAML to inline it.
  • Empty-string comment — added to the shell script explaining the intentional silent-suppression trade-off.

The TestHashConsistencyAcrossLockFiles CI failure is a pre-existing flake — design-decision-gate.md was not modified in this branch, the lock file hash matches locally, and make recompile produces no further changes. CI will need a human re-trigger to confirm.

@@ -299,20 +299,7 @@ jobs:
- name: Log runtime features
env:
GH_AW_RUNTIME_FEATURES_IS_SET: ${{ contains(toJSON(vars), '"GH_AW_RUNTIME_FEATURES":') }}

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 set this expression as a "if" field so that the step is skipped entierly.

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. The contains(toJSON(vars), '"GH_AW_RUNTIME_FEATURES":') expression is now an if: field on the step, so the step is skipped entirely when the var isn't configured. The GH_AW_RUNTIME_FEATURES_IS_SET env var and corresponding check in the shell script have been removed. Golden files and lock files regenerated.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan June 25, 2026 18:54
@pelikhan pelikhan merged commit 4ce199f into main Jun 25, 2026
29 checks passed
@pelikhan pelikhan deleted the copilot/update-step-summary-rendering branch June 25, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants