refactor(standards): Delete the ai-assisted standard
What does this MR do and why?
Deletes the ai-assisted standard and folds its one unique assertion into contributing.
The standard's description: asserted a uniform trailer pair "on every commit where AI authored or substantively modified the diff", while its check was two greps of CONTRIBUTING.md. The gap is not that the commit-level claim went unchecked; it is that the claim is unfalsifiable. standards/ai-assisted/templates/ai-assisted-snippet.md defined a trailerless commit as legitimately non-AI-assisted, so a missing trailer and a human-authored commit are the same observation and nothing can refute "every AI-assisted commit carries the pair". The file-shaped proxy was also green over a dead practice: gitlab-com/public-sector/pipeline has gone 114 non-merge commits and nearly four months with no disclosure trailer, 99 of them human-authored, and ai-assisted reported PASS throughout because CONTRIBUTING.md still contained the two strings. That is the shape recorded in the catalog's own .gitlab-ci.yml:65-74, where kaniko passed every renovate assertion for three months while receiving no updates. Clause 1's disposition for a claim that cannot be derived from a source or checked by something able to fail is deletion, and applied here it reaches the standard's reason to exist, so the whole standard goes. The convention stays documented and stays checked: standards/contributing/check.sh gains check_file_contains CONTRIBUTING.md "AI-Tools:", which was the deleted standard's entire unique contribution to the estate's checked surface, its other assertion having duplicated contributing/check.sh:19 verbatim. Net checked coverage is unchanged, standards go from 20 to 19, and one blocking gate with zero control backing in compliance/unified.yaml goes away.
Standards affected
ai-assisted is deleted: SKILL.md, check.sh, and templates/ai-assisted-snippet.md, whose content is carried verbatim by standards/contributing/templates/CONTRIBUTING.md and whose only two consumers were the two links in the deleted SKILL.md.
contributing gains one assertion, file-contains:CONTRIBUTING.md on AI-Tools:, and loses none. description: and rule item 4 are restated to claim only what the checker verifies, that the file documents both trailer names, and unasserted: now names commit history. The trailer form, the when-to-disclose guidance and the contributor attestation move into a Details block. ## Verify was regenerated by just sync-verify.
Standards are auto-discovered, so the mechanical change is the directory plus the registry slug. just check, just list and just agent enumerate by find standards -mindepth 1 -maxdepth 1 -type d -exec test -f '{}/check.sh'; the site reads standards/registry.yaml. No control in compliance/unified.yaml names ai-assisted (verified: the grep exits 1, and the 31 controls name 10 other standards or none), so validate-matrix and validate-binding are unaffected. The pipeline catalog contains no ai-assisted reference and no conformance component, so it needs no companion MR.
Purge sites
| File | What was removed |
|---|---|
standards/ai-assisted/SKILL.md |
deleted |
standards/ai-assisted/check.sh |
deleted |
standards/ai-assisted/templates/ai-assisted-snippet.md |
deleted |
standards/registry.yaml |
the ai-assisted slug in the Mandatory group |
README.md |
the contracts-table row; the contributing row now reads "AI-disclosure trailer names" |
AGENTS.md |
the mandatory-set table row |
CODEOWNERS |
/standards/ai-assisted/ in the Legal and policy section |
standards/agents-md/templates/AGENTS.md |
the mandatory-set sentence |
templates/docs/AGENTS.md |
the mandatory-set sentence |
templates/lab/AGENTS.md |
the mandatory-set sentence |
templates/paper/AGENTS.md |
the mandatory-set sentence |
ARCHITECTURE.md |
the illustrative exemption example, re-pointed at agents-md |
site/src/pages/deviations.astro |
the illustrative exemption example, re-pointed at agents-md |
Thirteen files, plus standards/contributing/{check.sh,SKILL.md} for the fold-in and a CHANGELOG.md entry under Unreleased / Removed.
Left in place on purpose. Every mention of the convention stays, because the convention stays: this repo's own CONTRIBUTING.md AI-disclosure section (which the new assertion reads), standards/contributing/templates/CONTRIBUTING.md, templates/{docs,lab,paper}/CONTRIBUTING.md, the trailer bullets in standards/agents-md/templates/AGENTS.md and the three template AGENTS.md files, the AI-Assisted:/AI-Tools: checkbox in .gitlab/merge_request_templates/Default.md, the "DCO + federal-employee + AI-assisted" file summaries in AGENTS.md, site/src/pages/templates/index.astro and site/src/pages/templates/lab.astro, and the "AI-assisted trailers" topic phrase in site/src/pages/index.astro. Dated CHANGELOG.md entries are history and are not rewritten.
Deviation implications
No consumer holds an exemption against ai-assisted. The slug appeared only in the two illustrative examples above, compliance/deviations.yaml carries no entry for it, and its per-assertion: field preserves the granularity for any consumer that wants it, as assertion: file-contains:CONTRIBUTING.md:AI-Tools: under contributing.
No project that passed before fails now. ai-assisted already asserted AI-Tools: at blocking tier on any project containing a CONTRIBUTING.md, and contributing gates on the same file, so the assertion changes standards without changing which projects trip it. Both strings ship together in the canonical template.
Test plan
-
just guardpasses locally: 11 primitives, 19 files, 0 violations -
just checkpasses locally (self-conformance): 19 standards passed, 0 failed -
just build && just agentsucceeds: 58 pages, agent surface complete, no/standards/ai-assisted/route emitted -
just validatepasses: registry (19 declared, 19 on disk), matrix, binding (31 controls, 19 standards), versions, templates, skills, expiry -
check.shchanged, sojust check-one STANDARD=contributingwas run against this repo: 8 passed, 0 failed, including the newAI-Tools:assertion -
templates/change is AGENTS.md prose only, no placeholder or structural change -
design/untouched
Reviewer checklist
- Voice is GitLab Inc. neutral
- No em-dashes in customer-facing prose
- No filler words
- Trailers present (
Signed-off-by:,Changelog: removed,AI-Assisted:,AI-Tools:) - CODEOWNERS section matches paths touched (Legal and policy covers
CONTRIBUTING.mdand/standards/contributing/) - CHANGELOG entry records the subtraction, the reason, and the 114-commit measurement