Skip to content

Fix agent repeatedly fails with Signed-off-by post-script block on PR #5273 #272

Description

@ggallen

What happens

The fix agent on fullsend-ai/fullsend#5273 has failed twice consecutively with:

BLOCKED — agent commit contains a Signed-off-by trailer
Agents must not use 'git commit -s' or append Signed-off-by trailers.
DCO is a human attestation; the DCO app waives the check for bots.
  • Run 1 (iteration 3): 29623317319 — failed 2026-07-18 00:37 UTC
  • Run 2 (iteration 4): 29624869450 — failed 2026-07-18 01:21 UTC

The fix agent succeeded on iterations 1 and 2 (commit 15b826a3) without signing. The failure is non-deterministic — the agent sometimes follows the repo's signing convention and sometimes follows the skill's prohibition.

Root cause

Conflicting instructions in the agent prompt chain:

  1. fix-review/SKILL.md line 200 tells the agent to discover repo conventions including "signing":

    Determine:
    - Commit conventions (message format, signing)
    
  2. code-implementation/SKILL.md line 174 has the same instruction:

    - **Commit conventions** — signing requirements, message format
    
  3. The target repo's CONTRIBUTING.md line 23 says:

    Add `Signed-off-by` to your commits with `git commit -s`.
    
  4. The target repo's AGENTS.md line 15 says:

    Human-proposed commits **must** be signed off: use `git commit -s`
    

    (The agent exemption follows later in the same paragraph.)

  5. Both skills also say "NEVER use git commit -s" — but this comes much later (fix-review line 350, code-implementation line 633), and the agent resolves the conflict inconsistently.

The post-script gate (post-fix.sh lines 161-175, post-code.sh lines 250-264) correctly blocks the push, but the agent wastes the entire run before hitting it.

Why the code agent doesn't fail

The code agent's initial commit on this same PR (72c93da7) did not include a Signed-off-by trailer. The conflict resolution is non-deterministic — both agents read the same discovery instruction and the same prohibition, but sometimes one wins over the other.

Suggested fix

Remove "signing" from the convention discovery lists in both skills so the agent never picks up signing instructions from target repos:

  • fix-review/SKILL.md line 200: Commit conventions (message format, signing)Commit conventions (message format)
  • code-implementation/SKILL.md line 174: Commit conventions — signing requirements, message formatCommit conventions — message format

The existing "NEVER use git commit -s" prohibitions and post-script hard gates remain as defense-in-depth.

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

    Labels

    bugSomething isn't workingfix-agentready-to-codeTriggers code agent dispatch

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions