# Assistant commit register

Part of [The AI Tells Index](https://feedsquad.com/ai-tells). A tell signals low effort. It does not identify an author. Skilled writers produce every shape listed here, some of them daily, and automated detectors misread those writers for it at rates measured above 60 percent on non-native English prose. Nothing in this index proves that a machine wrote anything. Read an entry as one piece of evidence to weigh against the false-positive notes printed beside it.

## Facts

- Id: assistant-commit-register
- Category: Model register (model-register)
- Subcategory: commit-message
- Also known as: canned policy assurance, preserved existing behaviour, unquantified test-coverage claim
- Status: Active. Currently signals low-effort writing.
- Severity: medium
- Evidence grade: community-observed (named by practitioners, no formal measurement exists)
- Languages: en
- Added: 2026-08-15
- Updated: 2026-08-15
- Page: https://feedsquad.com/ai-tells/assistant-commit-register

## Description

Commit messages and edit summaries written in assistant register. The message assures the reviewer that conventions were followed, names the things that were not changed, and claims a quality it never measured. What it rarely contains is the reason for the change.

## Why it reads as machine-written

The register comes from a model reporting back to whoever asked for the edit. Assurance is the natural closing move in that exchange and pure noise in a repository log, where a reader wants the reason and the blast radius. vale-ai-tells is the only taxonomy that covers this surface, with a dedicated rule family for commit messages that includes rules for unquantified claims, test enumeration and trailing justification. Wikipedia records the same shapes in edit summaries, where they show up more often than in articles.

## Detection

Type: deterministic (a regular expression, run as written)

Scope: document

ECMAScript regular expression. The build validator compiles it and tests it against this entry's own specimens.

```regex
\b(?:all\s+)?(?:existing\s+)?(?:behaviou?r|functionality|logic)\s+(?:is|was|remains|has\s+been)\s+(?:preserved|unchanged|maintained|untouched)\b|\b(?:adheres?\s+to|in\s+(?:full\s+)?(?:compliance|accordance)\s+with|follows)\s+(?:the\s+)?(?:project|repository|repo|coding|style|contribution)\s+(?:guidelines|conventions|standards|rules)\b|\ball\s+tests\s+(?:are\s+)?(?:pass(?:ing|ed)|green)\b
```

Flags: i

## Examples

Constructed specimens. Written for this index. Never quoted from anyone's posts.

### Specimen 1

Before, exhibiting the tell:

> fix(auth): tighten the session check. All existing behaviour is preserved and the change adheres to the project conventions. All tests passing.

After, repaired:

> fix(auth): reject sessions older than 12 hours. Sessions minted before the window now return 401 instead of silently refreshing, which is what let the 3 August incident run for six hours. Two integration tests cover the boundary either side of the cutoff.

Note: The assurances go. What replaces them is the reason, the behaviour change and the incident that prompted it. Figures in this repair are invented for the specimen.

### Specimen 2

Before, exhibiting the tell:

> chore(api): rename the handler. Functionality remains unchanged and all tests are green.

After, repaired:

> chore(api): rename fetchUser to loadUserProfile. The old name collided with the hook added in the June refactor and cost two people an afternoon of debugging on 9 July. Callers updated in the same commit, none outside this package.

Note: A rename still needs a reason and a blast radius, and both fit in two sentences. Figures in this repair are invented for the specimen.

## False positives

Who legitimately writes this way.

Careful committers document invariants deliberately, and several teams require a line about what was left alone, which produces the same sentence for a good reason. Regulated codebases require a compliance note in the message. Junior engineers are taught to write the summary before the reason. Repository templates generate the assurance automatically, which puts it in messages nobody typed. Read the diff before counting a hit. The tell is an assurance the diff does not support, or a quality claim with no number attached, in a message that never says why the change was needed.

## Model attribution

No product owns this register. It follows from the assistant framing of the task, not from any one vendor, and it appears wherever a model is asked to write the message for an edit it just made.

## Platform notes

- wikipedia: Edit summaries are the closest public analogue to a commit message, and the same assurance shapes appear there. The signs guide files them with communication intended for the user, not with the prose tells.

## Sources

1. vale-ai-tells, 111 machine-checkable rules
   https://github.com/tbhb/vale-ai-tells
   (tier: community; accessed 2026-08-14)
2. Wikipedia: Signs of AI writing
   https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing
   (tier: community; accessed 2026-08-14)

## Status history

Ids are permanent. A retired tell keeps its id and its page.

- 2026-08-15, Active: Active but graded community-observed, because vale-ai-tells is the only taxonomy that covers commit messages as a surface and no measurement of the register exists. Wikipedia edit summaries carry the same shapes, which is corroboration of the pattern, not of a rate. Pattern verified on 2026-08-15 against both specimens and against three ordinary commit sentences, including one that documents a legacy column left in place on purpose.

## License

CC BY 4.0. https://creativecommons.org/licenses/by/4.0/

Attribution: The AI Tells Index, feedsquad.com/ai-tells

Reuse the data, including commercially. Keep the attribution line.

---

Dataset version 1.0.0. Schema version 1.
Part of [FeedSquad](https://feedsquad.com). Built by [Herman Foundry](https://hermanfoundry.com) from Levi, Finnish Lapland.