Skip to content

Add AI/Copilot disclaimer footer to all agentic workflows#8959

Merged
Evangelink merged 1 commit into
mainfrom
dev/amauryleve/agentic-ai-disclaimer
Jun 9, 2026
Merged

Add AI/Copilot disclaimer footer to all agentic workflows#8959
Evangelink merged 1 commit into
mainfrom
dev/amauryleve/agentic-ai-disclaimer

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Adds a clear AI/Copilot disclaimer footer to every gh-aw agentic workflow that posts user-visible content (issues, PRs, review comments, discussion comments). Today, all of these post under my GitHub identity because the workflows authenticate with my personal access token — there is nothing in the post that hints the content was actually written by Copilot, not by me.

This sets safe-outputs.messages.footer on every workflow source .md to override the gh-aw default attribution line with a clearer disclosure.

Rendered footer

🤖 Automated content by GitHub Copilot. Posted via a maintainer's GitHub token, so it appears under their account — the account owner did not write or approve this content personally. Generated by the <workflow_name> workflow. ·

The wording deliberately mirrors the existing Copilot Attribution Banner that .github/agents/expert-reviewer.agent.md already prepends to PR reviews, so the messaging stays consistent across top-of-body banners and end-of-body footers.

Scope

  • 27 top-level workflow .md files under .github/workflows
  • 4 shared imports under .github/workflows/shared

All *.lock.yml were regenerated via gh aw compile --strict (0 errors, 0 warnings).

Note on extra lock-file noise

The .lock.yml diffs are larger than the source .md diffs because my locally installed gh-aw is v0.76.1 while the lock files were last regenerated against v0.75.4. The compile therefore also bumped a handful of side-effect fields (container image tags v0.25.53 → v0.25.55, mcpg v0.3.18 → v0.3.19, gh-aw-actions/setup SHA, .antigravity added to sparse-checkout, grade-tests slash-command added to agentic_commands.yml). These would land on the next compile anyway and are not produced by the disclaimer change itself.

Out of scope

The manual Copilot Attribution Banner inside .github/agents/expert-reviewer.agent.md is left intact — it sits at the top of review bodies, complementing this bottom footer. Happy to revisit if you'd rather drop one of the two.

Adds a clear safe-outputs.messages.footer to every gh-aw workflow that
posts user-visible content (issues, PRs, review comments, discussion
comments). The footer makes it explicit that the content is produced by
GitHub Copilot and only appears under the token owner's GitHub account
because the workflows authenticate with a maintainer's personal access
token — the apparent author did not write or approve the content
personally.

Footer template (override of the gh-aw default attribution line):

> 🤖 **Automated content by GitHub Copilot.** Posted via a maintainer's
> GitHub token, so it appears under their account — the account owner did
> **not** write or approve this content personally. Generated by the
> [<workflow>](<run-url>) workflow.<credits> · [◷](<history>)

Wording mirrors the existing "Copilot Attribution Banner" already in use
by .github/agents/expert-reviewer.agent.md so that the messaging stays
consistent.

Applied to:
- 27 top-level workflow .md files under .github/workflows
- 4 shared imports under .github/workflows/shared

All .lock.yml files have been regenerated via gh aw compile --strict.
The lock files also pick up an unrelated gh-aw version bump from
v0.75.4 → v0.76.1 because that is the version installed on the
maintainer's machine — those side-effect updates (container image tags,
gh-aw-actions/setup pin, sparse-checkout entry) would land on the next
compile regardless and are not produced by this change directly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 9, 2026 09:31
@Evangelink
Evangelink merged commit a89480d into main Jun 9, 2026
12 checks passed
@Evangelink
Evangelink deleted the dev/amauryleve/agentic-ai-disclaimer branch June 9, 2026 09:34

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 updates the repo’s agentic GitHub Actions workflows (gh-aw) to consistently disclose when user-visible content (issues/PRs/comments/discussions) is authored by GitHub Copilot but posted using a maintainer-owned token. It does this by setting safe-outputs.messages.footer across workflow sources and regenerating the corresponding compiled *.lock.yml outputs.

Changes:

  • Added a standardized Copilot disclosure footer via safe-outputs.messages.footer across agentic workflow sources (including shared imports).
  • Regenerated affected *.lock.yml files with gh aw compile --strict, picking up compiler/version side-effects (e.g., container tags, pinned action SHAs, generated env/config blocks).
  • Updated generated routing/maintenance artifacts (agentic_commands.yml, agentics-maintenance.yml) and action pin manifest (.github/aw/actions-lock.json) to reflect the new compile outputs.
Show a summary per file
File Description
.github/workflows/weekly-issue-activity.md Adds safe-outputs.messages.footer disclosure to weekly issue summary workflow source.
.github/workflows/weekly-issue-activity.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/test-improver.md Adds safe-outputs.messages.footer disclosure to test improver workflow source.
.github/workflows/test-improver.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/sub-issue-closer.md Adds safe-outputs.messages.footer disclosure to sub-issue closer workflow source.
.github/workflows/sub-issue-closer.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer and compile-version updates.
.github/workflows/shared/review-shared.md Adds footer disclosure in shared review import so review workflows inherit consistent attribution.
.github/workflows/shared/msbuild-review-shared.md Adds footer disclosure in shared MSBuild review import.
.github/workflows/shared/grade-tests-shared.md Adds footer disclosure in shared grade-tests import.
.github/workflows/shared/address-review-shared.md Adds footer disclosure in shared address-review import.
.github/workflows/review.agent.md Adds footer disclosure for /review-triggered expert review workflow.
.github/workflows/review-on-open.agent.md Adds footer disclosure for “review on PR open” workflow.
.github/workflows/review-after-autofix.agent.md Adds footer disclosure for post-autofix re-review workflow.
.github/workflows/repository-quality-improver.md Adds footer disclosure for repo-quality improver workflow source.
.github/workflows/repository-quality-improver.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/pr-fix.md Adds footer disclosure for PR-fix workflow source.
.github/workflows/perf-improver.md Adds footer disclosure for perf improver workflow source.
.github/workflows/perf-improver.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/markdown-linter.md Adds footer disclosure for markdown linter workflow source.
.github/workflows/malicious-code-scan.md Adds footer disclosure for malicious-code-scan workflow source.
.github/workflows/malicious-code-scan.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/link-checker.md Adds footer disclosure for link-checker workflow source.
.github/workflows/link-checker.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/grade-tests.agent.md Adds footer disclosure for /grade-tests workflow source.
.github/workflows/grade-tests.agent.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/grade-tests-on-pr.agent.md Adds footer disclosure for “grade tests on PR open/sync” workflow source.
.github/workflows/grade-tests-on-pr.agent.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/glossary-maintainer.md Adds footer disclosure for glossary maintainer workflow source.
.github/workflows/glossary-maintainer.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/efficiency-improver.md Adds footer disclosure for efficiency improver workflow source.
.github/workflows/efficiency-improver.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/duplicate-code-detector.md Adds footer disclosure for duplicate code detector workflow source.
.github/workflows/duplicate-code-detector.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/dependabot-pr-bundler.md Adds footer disclosure for Dependabot PR bundler workflow source.
.github/workflows/dependabot-issue-bundler.md Adds footer disclosure for Dependabot issue bundler workflow source.
.github/workflows/daily-file-diet.md Adds footer disclosure for daily file diet workflow source.
.github/workflows/code-simplifier.md Adds footer disclosure for code simplifier workflow source.
.github/workflows/build-failure-analysis.md Adds footer disclosure for build-failure-analysis workflow source.
.github/workflows/build-failure-analysis.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/build-failure-analysis-command.md Adds footer disclosure for build-failure-analysis command workflow source.
.github/workflows/build-failure-analysis-command.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/autofix.agent.md Adds footer disclosure for /autofix workflow source.
.github/workflows/address-review.agent.md Adds footer disclosure for address-review workflow source.
.github/workflows/add-tests.md Adds footer disclosure for add-tests workflow source.
.github/workflows/adhoc-qa.md Adds footer disclosure for adhoc QA workflow source.
.github/workflows/adhoc-qa.lock.yml Regenerated compiled workflow; includes GH_AW_SAFE_OUTPUT_MESSAGES with the new footer.
.github/workflows/agentics-maintenance.yml Updates generated maintenance workflow to newer compile version/pins.
.github/workflows/agentic_commands.yml Updates generated slash-command routing payload (includes /grade-tests routing).
.github/aw/actions-lock.json Adds an explicit pin entry for actions/checkout@v6 used by regenerated lock workflows.

Copilot's findings

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

@Evangelink Evangelink left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Note

🤖 Automated review by GitHub Copilot. Posted via a maintainer's GitHub token, so it appears under their account — the account owner did not write or approve this content personally. Generated by the Expert Code Review workflow. To request a follow-up action, reply by tagging @copilot directly.

Expert Review — PR #8959: Add AI/Copilot disclaimer footer to all agentic workflows

This is a retrospective review (PR already merged). The analysis covers all 22 review dimensions.


Dimension Verdicts

# Dimension Severity Verdict
1 Algorithmic Correctness MAJOR N/A — no code logic
2 Threading & Concurrency BLOCKING N/A — no code changes
3 Security & IPC Contract Safety BLOCKING N/A — no code changes; SHA pinning in lock files is correct
4 Public API & Binary Compatibility BLOCKING N/A — no C# changes
5 Performance & Allocations MAJOR N/A
6 Cross-TFM Compatibility MAJOR N/A
7 Resource & IDisposable Management MAJOR N/A
8 Defensive Coding at Boundaries MAJOR N/A
9 Localization & Resources MAJOR N/A
10 Test Isolation MAJOR N/A
11 Assertion Quality MAJOR N/A
12 Flakiness Patterns BLOCKING N/A
13 Test Completeness & Coverage MAJOR N/A
14 Data-Driven Test Coverage MODERATE N/A
15 Code Structure & Simplification MODERATE N/A
16 Naming & Conventions NIT N/A
17 Documentation Accuracy NIT LGTM
18 Analyzer & Code Fix Quality MAJOR N/A
19 IPC Wire Compatibility MAJOR N/A
20 Build Infrastructure & Dependencies MODERATE ISSUE
21 Scope & PR Discipline MODERATE ISSUE
22 PowerShell Scripting Hygiene MAJOR N/A

Dimension 17 — Documentation Accuracy — LGTM

The footer uses "Automated content" while the expert-reviewer.agent.md attribution banner uses "Automated review". This intentional differentiation is consistent with the PR description's goal of using more general wording for the footer (which covers all workflow output types, not just code reviews). The two phrases are complementary: banners at the top of review bodies remain review-specific, while footers appended to any safe-output type use the broader "content" label.

The {workflow_name}, {agentic_workflow_url}, {ai_credits_suffix}, and {history_link} template placeholders are consistent with the gh-aw safe-outputs runtime expansion API.


Dimension 20 — Build Infrastructure & Dependencies — ISSUE

SEVERITY: MODERATE

Finding 1: Footer defined redundantly in both parent workflows and their shared imports

For the review-family, grade-tests-family, and address-review-family workflows, the safe-outputs.messages.footer is now defined in both the parent .md file and the imported shared/*.md file. For example:

  • review.agent.md (line 20–21) defines the footer and imports shared/review-shared.md (line 22–23) which also defines the same footer.
  • Same pattern in: review-on-open.agent.md, review-after-autofix.agent.md, grade-tests.agent.md, grade-tests-on-pr.agent.md, address-review.agent.md.

The strings are identical and since the parent's definition takes precedence in gh-aw import merging, the behavior is correct. However, this creates a dual-maintenance burden: a future wording change to the footer requires updates in both the parent .md files and the shared imports.

Recommendation: Establish a clear convention — either (a) keep the footer only in the shared imports and remove it from parent workflows that delegate to them, relying on import inheritance; or (b) keep it only in parent workflows and remove it from shared files. Convention (a) is preferable if import merging reliably preserves messages.footer (unlike noop.report-as-issue, which needs explicit consumer redefinition per the comment in msbuild-review-shared.md). Whichever convention is chosen, document it in a comment in the shared files.

Finding 2: actions/checkout@v6 resolves to a different SHA than @v6.0.2

The actions-lock.json now contains a new entry for actions/checkout@v6 (SHA df4cb1c...) alongside the existing @v6.0.2 entry (SHA de0fac2...). These diverge because v6 is a floating major-version tag and a newer v6.x patch was released between the two lock-file compilations. This is a pre-existing pattern in build-failure-analysis.md (which uses actions/checkout@v6 for the PR-branch checkout step), properly pinned to a SHA by gh aw compile --strict. No action needed, but worth noting that the build-failure-analysis.md source could be hardened by pinning to @v6.0.2 (or whichever specific release is intended) to avoid silent SHA drift on the next recompile.


Dimension 21 — Scope & PR Discipline — ISSUE

SEVERITY: MODERATE

The PR bundles three distinct concerns into a single change:

  1. Primary: safe-outputs.messages.footer added to 27 top-level + 4 shared workflow .md files.
  2. Incidental: gh-aw compiler version bump v0.75.4 → v0.76.1 in all lock files (container tags 0.25.53 → 0.25.55, mcpg v0.3.18 → v0.3.19, gh-aw-actions/setup SHA bump).
  3. Incidental: Addition of /grade-tests slash command to agentic_commands.yml (auto-registered by the v0.76.1 compiler).

The PR description clearly acknowledges and explains items 2 and 3 as unavoidable side effects of using a different local compiler version. This is an acceptable trade-off given that gh-aw compiler bumps are idempotent and the lock files carry the DO NOT EDIT header.

For future PRs of this kind, consider: if the compiler version differs from what's in CI, pre-stage the lock file regeneration as a separate commit (or PR) to keep the disclaimer change isolated. This makes the disclaimer diff easier to audit and reduces reviewer cognitive load.


Overall Verdict

No blocking or major issues. The core change — adding safe-outputs.messages.footer to all user-visible agentic workflows — is correctly implemented. Coverage is complete: all 27 top-level workflows and 4 shared imports now carry the disclaimer, and workflows without their own safe-outputs section (e.g., msbuild-quality-review.md) correctly inherit it via their shared import. Lock files are properly regenerated in strict mode with SHA-pinned actions and containers.

The two MODERATE findings above are informational for future PR discipline and maintainability; neither warrants a follow-up change given the PR is already merged and the behavior is correct.

🤖 Automated content by GitHub Copilot. Posted via a maintainer's GitHub token, so it appears under their account — the account owner did not write or approve this content personally. Generated by the Expert Code Review (on PR ready) workflow.{ai_credits_suffix} ·

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.

2 participants