From 264548d592605be9ba123c3f69b2df350b331a5d Mon Sep 17 00:00:00 2001 From: MiMoHo <37556964+MiMoHo@users.noreply.github.com> Date: Sun, 18 Oct 2026 17:49:32 +0200 Subject: [PATCH] docs(ai-policy): ask for the reasoning effort, make the agent optional Ask for the reasoning effort wherever the tool offers a setting and make the agent name optional, so the trailer reads `Assisted-by: MODEL_VERSION (REASONING_EFFORT)` or `Assisted-by: AGENT_NAME:MODEL_VERSION (REASONING_EFFORT)`. Existing commits with AGENT_NAME:MODEL_VERSION stay as they are. For an open-weight model run locally, the model version includes the quantization. The agent mostly describes the contributor's setup, and a public record of which agent each contributor runs helps attackers more than reviewers. The model, its quantization and the reasoning effort change what the contribution looks like, so they tell a reviewer more. Mention AI-Assisted-By: for content an LLM generated; the AI Policy check has recognised it since #742. Replace qwen3-coder-32b in the examples, which does not exist, with qwen3-coder-30b-a3b-instruct-q4_k_m. Assisted-by: Claude Opus 5.5 (xhigh) Signed-off-by: MiMoHo <37556964+MiMoHo@users.noreply.github.com> --- AGENT_MD_SNIPPETS.md | 2 +- AI_POLICY.md | 13 ++++++++----- CONTRIBUTING.md | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/AGENT_MD_SNIPPETS.md b/AGENT_MD_SNIPPETS.md index 4387edac..0f0808d0 100644 --- a/AGENT_MD_SNIPPETS.md +++ b/AGENT_MD_SNIPPETS.md @@ -12,7 +12,7 @@ All contributions generated or assisted by this agent must fully comply with: ### What this agent must always do -- Add an `Assisted-by: AGENT_NAME:MODEL_VERSION` git trailer to every commit containing AI-assisted content. +- Add an `Assisted-by: MODEL_VERSION (REASONING_EFFORT)` git trailer to every commit containing AI-assisted content, for example `Assisted-by: claude-opus-4-5 (medium)`. Ask the contributor for the reasoning effort if you do not know it, and leave it out only if the tool has no such setting. Leave out your own agent name unless the contributor asks for it, then write `AGENT_NAME:MODEL_VERSION (REASONING_EFFORT)`. - Ensure every pull request includes a disclosure of AI tool use in the PR description. - Produce focused, scoped pull requests that address exactly one concern. Do not touch unrelated files or introduce incidental refactors. - Verify all dependencies against actual package registries before suggesting them. Do not use hallucinated or unverified package names. diff --git a/AI_POLICY.md b/AI_POLICY.md index 79350579..9ee6473b 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -20,20 +20,23 @@ Every pull request containing AI-assisted code, documentation, or tests must dec For full traceability at the commit level, each commit containing AI-assisted content must include an `Assisted-by:` git trailer: ``` -Assisted-by: AGENT_NAME:MODEL_VERSION +Assisted-by: MODEL_VERSION (REASONING_EFFORT) +Assisted-by: AGENT_NAME:MODEL_VERSION (REASONING_EFFORT) ``` -The agent name and model version identify the AI tool. Basic development tools such as git, compilers, editors, and static analyzers are not listed - these are standard parts of any development workflow regardless of AI involvement. +The model version identifies the AI tool; for an open-weight model you run yourself, it includes the quantization. Add the reasoning effort whenever the tool lets you choose one, because the same model gives different results depending on it; leave it out only if the tool has no such setting. The agent name, meaning the tool or harness that ran the model, is optional. Existing commits with `AGENT_NAME:MODEL_VERSION` don't need to be rewritten. `Assisted-by:` covers any kind of help. If an LLM generated content, you can write `AI-Assisted-By:` instead to say so explicitly; the AI Policy check recognises both. Basic development tools such as git, compilers, editors, and static analyzers are not listed - these are standard parts of any development workflow regardless of AI involvement. The PR description disclosure explains how AI was used; the commit trailer ensures that provenance is permanently recorded in version history and available to future contributors, auditors, and tooling. Examples: ``` -Assisted-by: Devstral:devstral-small-2507 -Assisted-by: ClaudeCode:claude-sonnet-4-6 -Assisted-by: Qwen:qwen3-coder-32b +Assisted-by: claude-opus-4-5 (medium) +Assisted-by: ClaudeCode:claude-opus-4-5 (high) Assisted-by: Copilot:gpt-4o +Assisted-by: Devstral:devstral-small-2507 +Assisted-by: qwen3-coder-30b-a3b-instruct-q4_k_m +AI-Assisted-By: claude-opus-4-5 (low) ``` ### Author Accountability diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2f6d46f4..3952d133 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,7 +29,7 @@ Please read the [Developer Manuals][devmanual] to learn how to create your first Nextcloud allows contributions made with the help of AI tools. You are the author of everything you submit - AI assistance does not change that responsibility. -* **Disclosure:** Declare AI tool use in the PR description and add an `Assisted-by: AGENT_NAME:MODEL_VERSION` git trailer to each affected commit. +* **Disclosure:** Declare AI tool use in the PR description and add an `Assisted-by: MODEL_VERSION (REASONING_EFFORT)` git trailer to each affected commit, for example `Assisted-by: claude-opus-4-5 (medium)`. Leave out the effort only if the tool has no such setting; the agent name in front (`AGENT_NAME:`) is optional. If an LLM generated content, `AI-Assisted-By:` says so explicitly. * **Accountability:** You must be able to explain, defend, and modify every line you submit. If a reviewer asks why something works a certain way, "the AI wrote it" is not an answer.