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
What happened
The fix agent repeatedly uses
git commit -s, addingSigned-off-bytrailers 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-sor withSigned-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 -sexists in the skills (skills/fix-review/SKILL.mdline 357 andskills/code-implementation/SKILL.mdline 703), but NOT in the agent definitions (agents/fix.mdandagents/code.md). The agent reads the target repo's AGENTS.md early in context, which prominently mentionsgit commit -sfor 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
## Constraintssection of both agent definitions:agents/fix.md— add to the existing Constraints list: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