Skip to content

v2.2.0

Choose a tag to compare

@n-shadloo n-shadloo released this 14 Aug 08:41
· 12 commits to main since this release
271dfcd

v2.2.0

Minor release. No attribution trailers by default, in every mode. Commits and
pull-request descriptions now carry no Co-authored-by:, Signed-off-by:,
Reviewed-by:, and no AI or agent identity of any kind. MINOR rather than PATCH
because the opt-in mechanism that replaces the old behavior is new functionality.

This changes a default you may be relying on. Mode 4 previously permitted AI
attribution; that carve-out is removed, and an autonomous commit now carries exactly
the trailers a mode-1 commit would — none. If you depended on autonomous commits
carrying an agent co-author, you now have to ask for it, per session or as a standing
line in your repository's agent context file. Nothing else about the four modes
changes, and the read-only guarantee on modes 1–3 is untouched.

What changed

The default is no attribution, in every mode. The commit author is whatever
git config user.name / user.email resolves to — the repo owner. The skill does not
look up, infer, or attribute the work to anyone else, and it will not invent a name or
an email address.

Mode 4's attribution carve-out is gone. It remains the sole execution exception,
but it is now an exception to the read-only rule and to nothing else. Being asked to do
the work is not a request to be credited for it.

Trailers are excluded from repo-convention detection. Convention matching covers
subject shape, scope vocabulary, and tense — never trailers. A repository whose every
commit carries Signed-off-by no longer produces one, because a trailer is an
assertion about who did the work and who vouches for it, which is not something to
infer from pattern matching. There is no contributor-detection step anywhere in the
workflow.

Still emitted by default, because neither is attribution: BREAKING CHANGE:,
required by the Conventional Commits grammar; and issue references (Closes #123,
Refs: #123) when you supply the issue or it is unambiguous from the branch name. It
never guesses an issue number.

Opting in

Markdown-only — no config file, no flag. A trailer is written when one of these holds:

  • You ask in the session — "sign this off", "add Sam as co-author", "credit the
    agent". That applies to the session's work; the next session starts from the default
    again.

  • A standing instruction exists in the consuming repository's own agent context
    file (AGENTS.md, CLAUDE.md, or equivalent). One line is enough:

    Sign off every commit with `Signed-off-by:` using my git user.name and user.email.

Supported on request: Co-authored-by:, Signed-off-by:, Reviewed-by: (and
Acked-by: / Tested-by:, Reported-by: / Suggested-by: / Helped-by:),
issue-reference footers, and AI or agent attribution. Named humans come only from
values you supply.

Files updated

  • SKILL.md — version bump to 2.2.0; ground rules rewritten around the new default;
    trailer carve-out added to convention detection (step 4); footers step, self-check,
    mode 4, and the "Footers / trailers" rules, which now carry the opt-in mechanism.
  • AGENTS.md — the same, self-contained: ground rules, step 4, step 5, self-check,
    mode 4, and a rewritten "Trailers" section with worked default and opt-in examples.
  • README.md — new "Attribution and trailers" section covering the default and its
    rationale, the absence of a mode-4 exception, per-session and persistent opt-in with
    example wording and output, and the supported trailer list.
  • GEMINI.md, .cursor/rules/git-authoring.mdc — mode contract and attribution rule
    updated to match.
  • references/conventional-commits.md — trailer catalogue reframed as off-by-default,
    available on request. The grammar reference is unchanged; the sign-off example stays
    as reference material, labelled opt-in.
  • references/examples.md — the trailers example now shows the default form first,
    then the same commit with attribution after an explicit request.
  • references/scopes-and-repos.md — the Django and Linux-kernel trailer patterns stay
    as reference material, marked explicitly as non-authorising.
  • references/pull-requests.md — PR attribution aligned to the same default and opt-in.

Upgrade notes

Drop-in replacement for 2.1.1. The only behavioral difference is the one above: if you
want any attribution trailer, ask for it in the session or add a standing line to your
repository's agent context file.

Full Changelog: v2.1.1...v2.2.0