From 82e1fdaac5bfa96f43789230821ca63539aa259d Mon Sep 17 00:00:00 2001 From: Manfred Riem <15701806+mnriem@users.noreply.github.com> Date: Thu, 10 Sep 2026 09:29:39 -0500 Subject: [PATCH 1/2] docs: require agent, model, and settings in AI disclosure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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> --- .github/ISSUE_TEMPLATE/agent_request.yml | 13 +++++++++++++ .github/ISSUE_TEMPLATE/bug_report.yml | 13 +++++++++++++ .github/ISSUE_TEMPLATE/feature_request.yml | 13 +++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 6 ++++-- CONTRIBUTING.md | 22 +++++++++++++++------- 5 files changed, 58 insertions(+), 9 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/agent_request.yml b/.github/ISSUE_TEMPLATE/agent_request.yml index 4e98030af6..05b77a117a 100644 --- a/.github/ISSUE_TEMPLATE/agent_request.yml +++ b/.github/ISSUE_TEMPLATE/agent_request.yml @@ -139,3 +139,16 @@ body: label: Additional Context description: Any other relevant information about this agent placeholder: Screenshots, community links, comparison to existing agents, etc. + + - type: textarea + id: ai-disclosure + attributes: + label: AI Disclosure + description: >- + Per our [Contributing guidelines](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#ai-contributions-in-spec-kit), + any AI assistance used to create this issue must be disclosed. If you used AI, name the agent/tool, model(s), + settings/mode (reasoning effort; autonomous vs. human-supervised), and extent. Otherwise leave this as "N/A". + This does not change how your issue is handled — it just gives maintainers visibility into model/agent usage. + value: "N/A" + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index ca386d644c..a9f1ec2abb 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -138,3 +138,16 @@ body: label: Additional Context description: Add any other context about the problem placeholder: Screenshots, related issues, workarounds attempted, etc. + + - type: textarea + id: ai-disclosure + attributes: + label: AI Disclosure + description: >- + Per our [Contributing guidelines](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#ai-contributions-in-spec-kit), + any AI assistance used to create this issue must be disclosed. If you used AI, name the agent/tool, model(s), + settings/mode (reasoning effort; autonomous vs. human-supervised), and extent. Otherwise leave this as "N/A". + This does not change how your issue is handled — it just gives maintainers visibility into model/agent usage. + value: "N/A" + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 149ce45c19..3555be2841 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -124,3 +124,16 @@ body: label: Additional Context description: Add any other context, screenshots, or examples placeholder: Links to similar features, mockups, related discussions, etc. + + - type: textarea + id: ai-disclosure + attributes: + label: AI Disclosure + description: >- + Per our [Contributing guidelines](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#ai-contributions-in-spec-kit), + any AI assistance used to create this issue must be disclosed. If you used AI, name the agent/tool, model(s), + settings/mode (reasoning effort; autonomous vs. human-supervised), and extent. Otherwise leave this as "N/A". + This does not change how your issue is handled — it just gives maintainers visibility into model/agent usage. + value: "N/A" + validations: + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c9fce2cd8d..9a60a03212 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,6 +16,8 @@ - [ ] I **did not** use AI assistance for this contribution -- [ ] I **did** use AI assistance (describe below) +- [ ] I **did** use AI assistance (fill in the disclosure below) - + + +**AI disclosure:** N/A diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3d1f2f229c..4c3adac162 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -237,23 +237,31 @@ Number each test sequentially (T1, T2, ...). List prerequisite tests first. 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. That being said, if you are using any kind of AI assistance (e.g., agents, ChatGPT) while contributing to Spec Kit, -**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). +**this must be disclosed in the pull request or issue**. When AI assistance was used, the disclosure must name: -If your PR responses or comments are being generated by an AI, disclose that as well. +- **The agent/tool** — e.g., GitHub Copilot, Claude Code, ChatGPT. +- **The model(s)** — e.g., Claude Opus 4.x, GPT-5. +- **The settings/mode** — e.g., reasoning effort, and whether it ran autonomously or under human supervision. +- **The extent** — e.g., documentation comments vs. code generation. + +If your PR responses or comments are being generated by an AI, disclose that as well, naming the same agent, model(s), and settings/mode. 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. An example disclosure: -> This PR was written primarily by GitHub Copilot. +> Implemented with GitHub Copilot using Claude Opus 4.x in agent/autonomous mode; code generation. Or a more detailed disclosure: -> I consulted ChatGPT to understand the codebase but the solution +> I consulted ChatGPT (GPT-5, default settings) to understand the codebase, but the solution > was fully authored manually by myself. -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 -determine how much scrutiny to apply to the contribution. +Failure to disclose this is first and foremost rude to the human operators on the other end of the pull request. + +To be clear, this disclosure does not change the level of scrutiny a contribution receives — the same evidence bar applies to +everyone, human and AI-assisted alike. It simply gives maintainers visibility into which models and settings are being used and to +what extent, which in turn helps us judge whether our [`AGENTS.md`](./AGENTS.md) guidance needs refinement over time. 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 where human supervision or expertise is not in the loop, it's generating code that cannot be reasonably maintained or evolved. @@ -262,7 +270,7 @@ where human supervision or expertise is not in the loop, it's generating code th When submitting AI-assisted contributions, please ensure they include: -- **Clear disclosure of AI use** - You are transparent about AI use and degree to which you're using it for the contribution +- **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 - **Human understanding and testing** - You've personally tested the changes and understand what they do - **Clear rationale** - You can explain why the change is needed and how it fits within Spec Kit's goals - **Concrete evidence** - Include test cases, scenarios, or examples that demonstrate the improvement From 7f2c8e1aa7b0ff0e70e5c57f1ef5661ea2cbb70f Mon Sep 17 00:00:00 2001 From: Manfred Riem <15701806+mnriem@users.noreply.github.com> Date: Thu, 10 Sep 2026 12:50:16 -0500 Subject: [PATCH 2/2] 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> --- AGENTS.md | 2 +- CONTRIBUTING.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 17ef40deb1..77e7fa00df 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -522,7 +522,7 @@ Disclosure is **continuous**, not a one-time event. A single AI-disclosure parag ### Comments -- 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>)"). +- If you are an agent working on behalf of a human, **disclose your identity in your PR comment** — name the agent and model and the human you are acting for (e.g., "Posted on behalf of @user by GitHub Copilot (model: <name-if-known>)"). - **Re-state agent identity in each review-round summary comment.** A prior PR-body disclosure does not cover later comments or commits. - Post **one** top-level summary comment per review round listing what changed and the commit SHA. Do not reply on every individual comment. - Reply inline only when context is needed (disagreement, deferral, non-obvious fix). Keep it to a sentence or two. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4c3adac162..4eb6cda51d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -244,9 +244,9 @@ That being said, if you are using any kind of AI assistance (e.g., agents, ChatG - **The settings/mode** — e.g., reasoning effort, and whether it ran autonomously or under human supervision. - **The extent** — e.g., documentation comments vs. code generation. -If your PR responses or comments are being generated by an AI, disclose that as well, naming the same agent, model(s), and settings/mode. +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. -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. +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. An example disclosure: @@ -254,7 +254,7 @@ An example disclosure: Or a more detailed disclosure: -> I consulted ChatGPT (GPT-5, default settings) to understand the codebase, but the solution +> I consulted ChatGPT (GPT-5, default settings, human-supervised) to understand the codebase, but the solution > was fully authored manually by myself. Failure to disclose this is first and foremost rude to the human operators on the other end of the pull request.