UNPKG

aiwg

Version:

Cognitive architecture for AI-augmented software development with structured memory, ensemble validation, and closed-loop correction. FAIR-aligned artifacts, 84% cost reduction via human-in-the-loop, standards adopted by 100+ organizations.

199 lines (141 loc) 5.99 kB
# No AI Attribution Rules **Enforcement Level**: CRITICAL **Scope**: All commits, PRs, documentation, code, and generated content **Issue**: #295 ## Principle AI tools are tools. A compiler doesn't sign your binary. An IDE doesn't watermark your code. A linter doesn't add "Formatted by ESLint" to every file. AIWG enforces the same standard: the AI assistant produces output, the human owns it. ## Mandatory Rules ### Rule 1: No Attribution in Commits **FORBIDDEN** (applies to ALL platforms - Claude Code, Codex, Copilot, Cursor, Warp, any AI tool): ``` Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Co-Authored-By: GitHub Copilot <noreply@github.com> Co-Authored-By: Codex <noreply@openai.com> Signed-off-by: Claude Code Signed-off-by: Cursor AI Generated by Claude Code Generated by Codex CLI Generated by Copilot Written by Claude Written by AI ``` **REQUIRED**: ``` feat(auth): add token refresh logic Tokens now auto-refresh 5 minutes before expiry to prevent session interruptions during long operations. ``` Clean conventional commit. No attribution. No branding. ### Rule 2: No Attribution in Pull Requests **FORBIDDEN** (any platform, any tool): ```markdown 🤖 Generated with [Claude Code](https://claude.ai/claude-code) Generated with [Codex](https://openai.com/codex) Built with GitHub Copilot Created with Cursor AI --- *This PR was created with AI assistance* *AI-assisted pull request* ``` **REQUIRED**: ```markdown ## Summary - Add token refresh logic for session continuity - Handle edge case where refresh token is also expired ## Test plan - [ ] Verify token refreshes before expiry - [ ] Verify graceful handling of expired refresh tokens ``` ### Rule 3: No Attribution in Code **FORBIDDEN** (any tool, any language): ```typescript // Generated by Claude Code // Generated by Codex // Generated by Copilot // AI-assisted implementation /* Created with Claude Sonnet 4.5 */ /* Written by AI */ // @ai-generated // @copilot-generated ``` **REQUIRED**: ```typescript // Code stands on its own. Comments explain WHY, not WHO typed it. ``` ### Rule 4: No Attribution in Documentation **FORBIDDEN**: ```markdown > This document was generated with AI assistance. *Written with Claude Code* <!-- AI-generated content --> ``` **REQUIRED**: Documentation that stands on its own without meta-commentary about its creation tool. ### Rule 5: No Emoji Branding **FORBIDDEN**: ``` 🤖 AI-generated Created with Claude 🧠 AI-assisted ``` Emoji used as branding markers waste tokens and add no information. ## Why This Matters ### Token Economics At scale, attribution adds up: | Attribution Pattern | Tokens | Per 100 commits | |-------------------|--------|-----------------| | `Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>` | ~15 | 1,500 | | `🤖 Generated with [Claude Code](https://claude.ai/claude-code)` | ~12 | 1,200 | | Both combined | ~27 | 2,700 | 2,700 wasted tokens per 100 commits. In active development that's daily context pollution. ### Context Window Pollution Every attribution line persists in: - `git log` output (loaded for commit style matching) - PR descriptions (loaded for review context) - Code comments (loaded when reading files) - Documentation (loaded via CLAUDE.md references) These accumulate silently and crowd out actual content. ### Advertising vs Attribution There is a difference between: - **Attribution**: Recording who made a decision and why (valuable, keep this) - **Advertising**: Stamping tool branding on every output (wasteful, remove this) AIWG provenance tracking (`@.claude/rules/provenance-tracking.md`) handles real attribution through structured records. Commit-level branding serves the tool vendor, not the developer. ## Platform-Universal Enforcement This rule applies across ALL agentic coding platforms. AIWG is multi-platform and this behavior must be consistent everywhere: | Platform | How AIWG Enforces | |----------|------------------| | **Claude Code** | `.claude/rules/no-attribution.md` + CLAUDE.md conventions | | **GitHub Copilot** | `.github/copilot-instructions.md` commit section | | **OpenAI Codex** | `~/.codex/instructions.md` conventions | | **Cursor** | `.cursor/rules/` conventions | | **Warp** | `WARP.md` conventions section | | **Factory AI** | `.factory/` agent definitions | | **Any future platform** | AIWG regeneration includes this rule | When `aiwg use` or `aiwg regenerate` runs for any platform, the generated context file MUST include no-attribution conventions. ## Integration ### CLAUDE.md Template Every AIWG-generated CLAUDE.md MUST include: ```markdown ## Commit Conventions - Follow conventional commits: `type(scope): subject` - **No AI attribution** in commits, PRs, docs, or code - Use imperative mood ("add feature" not "added feature") - No Co-Authored-By lines from any AI tool - No "Generated with" or "Written by" branding from any platform - The AI is a tool, not an author ``` ### All Platform Context Files Every platform-specific context file generated by AIWG MUST include equivalent instructions. The exact wording varies by platform, but the rule is the same: zero tool branding in output. ### Agent Definitions All agents across all platforms MUST follow these rules. No agent definition should instruct adding attribution to any output. This includes AIWG's own agents - AIWG itself does not brand the code it helps produce. ### aiwg new Scaffolding The `aiwg new` command MUST include this rule in the generated project's context files for all configured platforms. ## Exceptions **None.** If a user explicitly wants attribution, they can add it themselves. The default must be zero attribution. No platform, no tool, no agent overrides this. ## References - @.claude/rules/provenance-tracking.md - Real attribution via structured provenance - @CLAUDE.md - Project commit conventions --- **Rule Status**: ACTIVE **Last Updated**: 2026-02-06