You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: require agent, model, and settings in AI disclosure (#4512)
* docs: require agent, model, and settings in AI disclosure
Make AI-assistance disclosure a hard requirement: when AI was used, the
author must name the agent/tool, the model(s), the settings/mode
(reasoning effort; autonomous vs. human-supervised), and the extent.
This is stricter than the prior "model optional" stance and is a
deliberate maintainer policy choice. It is framed as transparency, not a
quality lever: disclosure does not change the level of scrutiny a
contribution receives — the same evidence bar applies to everyone. It
gives maintainers visibility into which models/settings are used and to
what extent, which helps judge whether AGENTS.md guidance needs
refinement over time.
- CONTRIBUTING.md: upgrade the requirement, extend the PR
responses/comments clause, refresh the example disclosures, and add the
transparency rationale. Keep the trivial-fix exception.
- PULL_REQUEST_TEMPLATE.md: add structured Agent/tool, Model(s),
Settings/mode, and Extent fields prefilled with N/A.
- bug_report, feature_request, agent_request issue forms: add a required
AI Disclosure field defaulted to N/A.
Assisted-by: GitHub Copilot (model: Claude Opus 4.8, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* docs: align disclosure clauses across CONTRIBUTING and AGENTS
Address review feedback on the AI-disclosure policy for consistency:
- CONTRIBUTING.md: require the extent dimension in the AI-generated PR
responses/comments clause too, so all four disclosure dimensions are
listed consistently.
- CONTRIBUTING.md: explicitly exempt the catalog-submission issue forms
(extension/preset/bundle), which feed content-neutral validation
automation and carry no disclosure field, so the "any issue" wording is
no longer contradicted.
- CONTRIBUTING.md: make the detailed example show the supervision mode.
- AGENTS.md: drop "if applicable" from the PR-comment model disclosure so
it matches the new hard requirement to name the model.
Assisted-by: GitHub Copilot (model: Claude Opus 4.8, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* docs: name concrete model in AGENTS.md disclosure examples
Align AGENTS.md agent-disclosure guidance with the new hard requirement
to name the model (this PR's CONTRIBUTING.md change):
- Fix the awkward "name the agent and model and the human" phrasing in the
PR-comment bullet to "name the agent, its model, and the human you are
acting for".
- Replace the "<name-if-known>" placeholders in both the Assisted-by commit
trailer example and the PR-comment example with a concrete model, so the
examples no longer undercut the hard requirement.
- Keep a single, explicitly scoped exception (model: unknown) for the rare
case where an agent genuinely cannot determine its own model.
Assisted-by: GitHub Copilot (model: Claude Opus 4.8, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* docs: name settings/mode and extent in AGENTS.md comment disclosure
CONTRIBUTING.md now requires every AI-generated PR response/comment to
name the agent, model(s), settings/mode, and extent. Align the AGENTS.md
"Comments" guidance and its example, which previously named only the
agent, model, and human — so an agent following AGENTS.md would still fall
short of the public policy. The example now shows the mode and the extent
of AI involvement, and links back to CONTRIBUTING.md.
Assisted-by: GitHub Copilot (model: Claude Opus 4.8, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* docs: exempt Spec Kit's own bundled agentic workflows from disclosure
The hard AI-disclosure requirement targets human-authored contributions.
The repository's own automated prompts under .github/workflows/ (bug-fix and
community-catalog PR/commit generators) run as a fixed, known agent and open
draft PRs for maintainer review, so their agent identity is inherent to the
workflow rather than self-declared per contribution. State this exemption
explicitly alongside the existing catalog-submission exemption so the policy
and the repo's own automation don't contradict each other.
Assisted-by: GitHub Copilot (model: Claude Opus 4.8, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
-[ ] I **did not** use AI assistance for this contribution
19
-
-[ ] I **did** use AI assistance (describe below)
19
+
-[ ] I **did** use AI assistance (fill in the disclosure below)
20
20
21
-
<!-- If you used AI, briefly describe how (e.g., "Code generated by Copilot", "Consulted ChatGPT for approach"): -->
21
+
<!-- If you used AI assistance, replace "N/A" below with a free-form disclosure that names the agent/tool, model(s), settings/mode (reasoning effort; autonomous vs. human-supervised), and extent (docs vs. code generation). This does not change how much scrutiny your PR receives — the same evidence bar applies to everyone. It just gives maintainers visibility into model/agent usage. -->
Copy file name to clipboardExpand all lines: AGENTS.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -514,16 +514,17 @@ Disclosure is **continuous**, not a one-time event. A single AI-disclosure parag
514
514
- **Every commit you author must carry an `Assisted-by:` trailer** identifying the agent and whether it acted autonomously or under direct human supervision, for example:
Assisted-by: GitHub Copilot (model: Claude Opus 4.8, autonomous)
518
518
```
519
519
520
+
Name the actual model you are running as — the same hard requirement contributors are held to in [CONTRIBUTING.md](./CONTRIBUTING.md#ai-contributions-in-spec-kit). Only in the rare case where an agent genuinely cannot determine its own model may it write `model: unknown` instead.
520
521
Use `supervised` instead of `autonomous` only when a human actually authored or line-by-line reviewed the change before it was committed.
521
522
- **Never push solo-authored commits that hide agent authorship behind the operator's git identity.** If an agent generated the change, the trailer must say so even when the commit is attributed to a human account.
522
523
- Preserve any tool-generated `Co-authored-by:` trailers (e.g. Copilot Autofix) — do not strip them to make a commit look hand-written.
523
524
524
525
### Comments
525
526
526
-
- If you are an agent working on behalf of a human, **disclose your identity in your PR comment** — name the agent (and model, if applicable) and the human you are acting for (e.g., "Posted on behalf of @user by GitHub Copilot (model: <name-if-known>)").
527
+
- If you are an agent working on behalf of a human, **disclose your identity in your PR comment** — name the agent, its model, the settings/mode (e.g. autonomous vs. human-supervised), the extent of AI involvement in the comment, and the human you are acting for (e.g., "Posted on behalf of @user by GitHub Copilot (model: Claude Opus 4.8, autonomous); comment fully AI-drafted."). This matches the disclosure the public [CONTRIBUTING.md](./CONTRIBUTING.md#ai-contributions-in-spec-kit) policy requires for AI-generated PR responses and comments.
527
528
- **Re-state agent identity in each review-round summary comment.** A prior PR-body disclosure does not cover later comments or commits.
528
529
- Post **one** top-level summary comment per review round listing what changed and the commit SHA. Do not reply on every individual comment.
529
530
- Reply inline only when context is needed (disagreement, deferral, non-obvious fix). Keep it to a sentence or two.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+16-8Lines changed: 16 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -336,23 +336,31 @@ Number each test sequentially (T1, T2, ...). List prerequisite tests first.
336
336
We welcome and encourage the use of AI tools to help improve Spec Kit! Many valuable contributions have been enhanced with AI assistance for code generation, issue detection, and feature definition.
337
337
338
338
That being said, if you are using any kind of AI assistance (e.g., agents, ChatGPT) while contributing to Spec Kit,
339
-
**this must be disclosed in the pull request or issue**, along with the extent to which AI assistance was used (e.g., documentation comments vs. code generation).
339
+
**this must be disclosed in the pull request or issue**. When AI assistance was used, the disclosure must name:
340
340
341
-
If your PR responses or comments are being generated by an AI, disclose that as well.
341
+
-**The agent/tool** — e.g., GitHub Copilot, Claude Code, ChatGPT.
342
+
-**The model(s)** — e.g., Claude Opus 4.x, GPT-5.
343
+
-**The settings/mode** — e.g., reasoning effort, and whether it ran autonomously or under human supervision.
344
+
-**The extent** — e.g., documentation comments vs. code generation.
342
345
343
-
As an exception, trivial spacing or typo fixes don't need to be disclosed, so long as the changes are limited to small parts of the code or short phrases.
346
+
If your PR responses or comments are being generated by an AI, disclose that as well, naming the same agent, model(s), settings/mode, and extent.
347
+
348
+
As an exception, trivial spacing or typo fixes don't need to be disclosed, so long as the changes are limited to small parts of the code or short phrases. The catalog-submission issue forms (extension, preset, and bundle submissions) feed content-neutral validation automation rather than code review, so they carry no disclosure field and are exempt from this requirement. Spec Kit's own bundled agentic workflows (the automated bug-fix and community-catalog prompts under `.github/workflows/`) are likewise exempt: they run as a fixed, known agent and open draft PRs for maintainer review, so their agent identity is inherent to the workflow rather than self-declared per contribution.
344
349
345
350
An example disclosure:
346
351
347
-
> This PR was written primarily by GitHub Copilot.
352
+
> Implemented with GitHub Copilot using Claude Opus 4.x in agent/autonomous mode; code generation.
348
353
349
354
Or a more detailed disclosure:
350
355
351
-
> I consulted ChatGPT to understand the codebase but the solution
356
+
> I consulted ChatGPT (GPT-5, default settings, human-supervised) to understand the codebase, but the solution
352
357
> was fully authored manually by myself.
353
358
354
-
Failure to disclose this is first and foremost rude to the human operators on the other end of the pull request, but it also makes it difficult to
355
-
determine how much scrutiny to apply to the contribution.
359
+
Failure to disclose this is first and foremost rude to the human operators on the other end of the pull request.
360
+
361
+
To be clear, this disclosure does not change the level of scrutiny a contribution receives — the same evidence bar applies to
362
+
everyone, human and AI-assisted alike. It simply gives maintainers visibility into which models and settings are being used and to
363
+
what extent, which in turn helps us judge whether our [`AGENTS.md`](./AGENTS.md) guidance needs refinement over time.
356
364
357
365
In a perfect world, AI assistance would produce equal or higher quality work than any human. That isn't the world we live in today, and in most cases
358
366
where human supervision or expertise is not in the loop, it's generating code that cannot be reasonably maintained or evolved.
@@ -361,7 +369,7 @@ where human supervision or expertise is not in the loop, it's generating code th
361
369
362
370
When submitting AI-assisted contributions, please ensure they include:
363
371
364
-
-**Clear disclosure of AI use** - You are transparent about AI useand degree to which you're using it for the contribution
372
+
-**Clear disclosure of AI use** - You are transparent about AI use, naming the agent/tool, model(s), settings/mode, and the degree to which you're using it for the contribution
365
373
-**Human understanding and testing** - You've personally tested the changes and understand what they do
366
374
-**Clear rationale** - You can explain why the change is needed and how it fits within Spec Kit's goals
367
375
-**Concrete evidence** - Include test cases, scenarios, or examples that demonstrate the improvement
0 commit comments