Skip to content

Replace the four remaining hardcoded Generated-by trailers with the self-identifying form #1000

Description

@justinmclean

Summary

Four places still instruct an agent to write a commit trailer naming a specific vendor and model
version. PR #734 fixed this for the spec-loop prompts; apply the same fix to the four it did not
touch, three of which are skills.

Background

The Generated-by: trailer should name the agent and model that actually produced the commit.
PR #734 changed the spec-loop prompts from a frozen Generated-by: Claude (Opus 4.7) to
Generated-by: <agent> (<model>), with an instruction to fill in the real values and two
worked examples (Claude (Opus 4.8), OpenCode (Big Pickle)).

The same reasoning applies to four other locations that were missed. Three are skills, which
matters more than the loop prompts: adopters run skills, so a hardcoded vendor name lands in
other projects' commit history. PRINCIPLE 9 says vendor neutrality is non-negotiable.

Still hardcoded:

  • skills/setup-override-upstream/SKILL.md:261Generated-by: Claude Code (Claude Opus 4.7)
  • skills/setup-shared-config-sync/SKILL.md:173 and :324
    Generated-by: Claude Code (Opus <version>) (the version is a placeholder, but the vendor and
    product are not)
  • skills/security-issue-fix/SKILL.md:659Generated-by: Claude Opus 4.6 (1M context)
  • tools/skill-evals/evals/setup-shared-config-sync/step-5-draft-commit/fixtures/output-spec.md:20
    — the eval expects Claude Code (Opus <version>), so a correctly self-identifying non-Claude
    agent would fail this eval

That last one is the sharpest: after #734, the framework instructs one thing and tests for
another.

Not in scope: eval fixture files under evals/*/fixtures/*/report.md that contain a
Generated-by: Claude … line. Those are simulated inbound commits — test data, where a real
tool name is realistic and correct. Leave them alone.

Where to look

  • tools/spec-loop/PROMPT_build.md — the wording PR docs(spec-loop): derive commit trailer from the running agent and model #734 landed; copy its shape, including the
    two examples and the "do not hardcode either" instruction.
  • The four locations listed above.
  • AGENTS.md § Commit and PR conventions — the authoritative rule for the trailer, and the
    Co-Authored-By prohibition that must survive any rewording.

Acceptance criteria

  • All four locations use the <agent> (<model>) form with an instruction to fill in the
    real values.
  • The eval output-spec no longer expects a specific vendor's product name.
  • Any Co-Authored-By prohibition adjacent to an edited line is preserved.
  • No report.md fixture is changed.
  • prek run --all-files passes.

Estimated effort

~1 hour for someone new to the codebase.

Getting started

[How to contribute](https://github.com/apache/airflow-steward/blob/main/CONTRIBUTING.md#your-first-contribution)

This issue was drafted with the help of an AI-assisted tool and reviewed by a Magpie maintainer before posting. If anything here is unclear or looks wrong, say so on the issue: a real person is reading.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions