Skip to content

contrib-tools: adopt Assisted-by commit message trailers for AI-assisted changes #4452

Description

@myitcv

Is your feature request related to a problem? Please describe.

The cueckoo common guidance currently says, under "Commit Messages":

No AI authorship attribution in commit messages

That rule predates what has since become a de facto ecosystem norm: the
Assisted-by: trailer for disclosing AI involvement in a change. The
Linux kernel's AI-contribution policy reserves Signed-off-by: for
humans (it asserts the DCO, which only a person can do) and introduces
Assisted-by: as the disclosure trailer, and that convention is being
adopted more widely (e.g. Artsy's merged RFC choosing Assisted-by
over Co-authored-by precisely because it keeps responsibility with
the human contributor).

Given how much CUE project work is now AI-assisted, we should disclose
that assistance rather than forbid its mention — and ideally the
disclosure should be deterministic, not dependent on an agent
remembering an instruction.

Describe the solution you'd like

Two parts, in order:

  1. Flip the guidance policy (contrib-tools,
    cmd/cueckoo/cmd/guidance.go). Replace the "No AI authorship
    attribution" rule with:

    • AI-assisted commits carry an Assisted-by: trailer identifying
      the tool and model, e.g.
      Assisted-by: Claude Code (claude-fable-5).
    • Signed-off-by: remains reserved for humans (DCO).
    • Co-authored-by: must not name an AI — it implies personhood and
      dilutes responsibility.
      Agents following the guidance then add the trailer themselves. Note
      cueckoo rewrite-commit-msg already preserves arbitrary trailers,
      so the existing tooling composes.
  2. Deterministic backstop: a cueckoo-managed prepare-commit-msg git
    hook that appends the trailer when it detects an agent environment
    (e.g. CLAUDECODE=1 for Claude Code; an override variable for other
    tools, since there is no standard "an agent is driving" signal).
    Implementation sketch:

    • git interpret-trailers --if-exists doNothing so an
      agent-authored trailer is never duplicated;
    • installation must compose with existing hooks
      (git-codereview's commit-msg, and hand-rolled
      prepare-commit-msg hooks adding Signed-off-by).

Part 1 is being implemented now in contrib-tools. Part 2 can follow as
a separate change on this issue.

Describe alternatives you've considered

  • Guidance-only (part 1 alone): works for agents that load and follow
    the guidance, which today is Claude Code via the CLAUDE.md @-import;
    silent for any other agent. The hook closes that gap.
  • Per-tool configuration (e.g. Claude Code settings/hooks committed per
    repo): Claude-only, and multiplies per-tool maintenance.
  • Adopting Co-authored-by: for AI: rejected — see above.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions