What happened
On PR #1225, the code agent generated a PR title of 76 characters: fix(#1220): add fix role to PerRepoDefaultRoles for review→fix dispatch loop. The repo's .gitlint config enforces a 72-character max (T1). CI's commit-lint job failed on the initial push, requiring a fix agent cycle to address the review finding and producing an extra commit. The code change itself was correct — only the title formatting caused the failure.
What could go better
The code agent should be aware of the repo's commit/title length constraints before generating the PR title. This is a straightforward, preventable rework driver. The pattern is similar to #1200 (agent blocked by lint rules it wasn't aware of), but #1200 is specifically about workflow file size constraints, not title length. Confidence: high — the gitlint config is static and the 72-char limit is standard for conventional commits.
Proposed change
Surface the gitlint title-length rule to the code agent. Two possible approaches:
- Agent definition / skill update: Add an instruction in the code agent's definition (or the commit/PR-creation skill) stating: "PR titles must not exceed 72 characters. If the conventional-commit prefix + scope + description exceeds this, shorten the description." This is the simplest fix.
- Pre-push hook or validation step: Add a pre-push check in the code agent's harness that validates the PR title against gitlint rules before creating the PR, allowing the agent to self-correct without a full CI round-trip.
Approach 1 is lower-effort and likely sufficient since the agent already follows conventional commit format — it just needs the length constraint. The relevant files are the code agent definition in the .fullsend repo and any commit-message instructions in CLAUDE.md or AGENTS.md.
Validation criteria
Over the next 10 code agent PRs on fullsend-ai/fullsend, zero should fail the commit-lint CI job due to title length violations (T1 rule). Check with: gh run list --repo fullsend-ai/fullsend --workflow=ci.yml --limit 20 and inspect any failures for gitlint T1 errors.
Generated by retro agent from #1225
What happened
On PR #1225, the code agent generated a PR title of 76 characters:
fix(#1220): add fix role to PerRepoDefaultRoles for review→fix dispatch loop. The repo's.gitlintconfig enforces a 72-character max (T1). CI'scommit-lintjob failed on the initial push, requiring a fix agent cycle to address the review finding and producing an extra commit. The code change itself was correct — only the title formatting caused the failure.What could go better
The code agent should be aware of the repo's commit/title length constraints before generating the PR title. This is a straightforward, preventable rework driver. The pattern is similar to #1200 (agent blocked by lint rules it wasn't aware of), but #1200 is specifically about workflow file size constraints, not title length. Confidence: high — the gitlint config is static and the 72-char limit is standard for conventional commits.
Proposed change
Surface the gitlint title-length rule to the code agent. Two possible approaches:
Approach 1 is lower-effort and likely sufficient since the agent already follows conventional commit format — it just needs the length constraint. The relevant files are the code agent definition in the
.fullsendrepo and any commit-message instructions in CLAUDE.md or AGENTS.md.Validation criteria
Over the next 10 code agent PRs on fullsend-ai/fullsend, zero should fail the
commit-lintCI job due to title length violations (T1 rule). Check with:gh run list --repo fullsend-ai/fullsend --workflow=ci.yml --limit 20and inspect any failures for gitlint T1 errors.Generated by retro agent from #1225