Skip to content

Fix and code agent definitions should explicitly prohibit git commit -s and Signed-off-by trailers #552

Description

@fullsend-ai-retro

What happened

The fix agent repeatedly uses git commit -s, adding Signed-off-by trailers to its commits. The post-fix.sh guardrail correctly rejects these per the repo's AGENTS.md policy: "Autonomous agent commits are exempt and must never supply the DCO with -s or with Signed-off-by." Each violation wastes an entire agent run (time and tokens).

This has been observed on multiple PRs across fullsend-ai/fullsend:

Root cause

The prohibition against git commit -s exists in the skills (skills/fix-review/SKILL.md line 357 and skills/code-implementation/SKILL.md line 703), but NOT in the agent definitions (agents/fix.md and agents/code.md). The agent reads the target repo's AGENTS.md early in context, which prominently mentions git commit -s for human commits. The skill instruction comes later in context and sometimes loses to the earlier positive instruction. The in-sandbox validation loop (#999 / PR #1050) now catches the trailer, but with only 2 retry iterations, recovery is unreliable — the agent often burns iteration 1 on a different issue and adds the trailer on iteration 2.

Proposed change

Add an explicit constraint to the ## Constraints section of both agent definitions:

agents/fix.md — add to the existing Constraints list:

- You MUST NOT use `git commit -s` or add `Signed-off-by` trailers. Autonomous
  agent commits are exempt from DCO sign-off. The post-script rejects commits
  that include this trailer.

agents/code.md — add the same constraint to its Constraints list.

The skill-level prohibition must remain as a second layer of defense, but the agent definition is where the model is most likely to internalize the rule since it appears earlier in context.

Validation criteria

Fix and code agent runs should not be rejected for Signed-off-by trailers. Monitor the next 10 fix/code agent runs across fullsend-ai/fullsend for this failure mode.

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions