The App the fleet pushes and opens PRs under authors the sync/merge commits
GitService creates when a task branch is brought up to date with its base, so
it is a committer on essentially every fleet PR. Unlike the agent identities
— whose roboco.tech emails map to no GitHub account, so CLA Assistant matches
them by the display names already allowlisted — the App maps to a real
account, and CLA Assistant demands a signature it cannot give: an App cannot
post the sign-off comment as itself.
The result is a permanently red `cla` check on fleet PRs (currently #703 and
#704) that no amount of rework can clear, which sends the PR reviewer round
another revision loop with nothing to fix.
Exempting it is also correct on the merits: the CLA exists to obtain
copyright assignment from human contributors, and the App commits on the
copyright holder's own behalf. Same form as the dependabot[bot] entry.
Co-authored-by: Renn F <rennf93@users.noreply.github.com>
Agent workspace clones commit as '<Display Name> <slug@roboco.tech>';
the emails map to no GitHub account, so CLA Assistant identifies those
committers by display name and reds any PR carrying agent-authored
commits with a signature no agent can post (live on PR #333). The
fleet is the org's own machinery, not an external contributor — the
roster names are allowlisted, wildcarded per team family.
- cla.yml granted contents:read, but CLA Assistant commits the signature
file to the cla-signatures branch in this repo, so GITHUB_TOKEN needs
contents:write. Under read-only it 403s ('Resource not accessible by
integration') and a contributor's signature is never recorded even after
they post the sign comment.
- greetings.yml passed issue-message/pr-message/repo-token (hyphens), but
actions/first-interaction@v3 uses issue_message/pr_message/repo_token
(underscores), so the required issue_message was 'not supplied'.
- Add full AGPL-3.0 LICENSE (canonical GNU text)
- Switch README and pyproject.toml from MIT to AGPL-3.0
- Add CLA.md (individual + entity) granting relicensing rights
- Add CONTRIBUTING.md explaining workflow and why the CLA exists
- Add CLA Assistant GitHub workflow to enforce signing on PRs
- Document licensing stance in CLAUDE.md