feat(missions): commit as the operator, overridable per deployment
ci / gates (push) Failing after 6s
ci / rust (push) Skipped
ci / frontend (push) Skipped
ci / e2e (push) Skipped
ci / publish (push) Skipped

Delivery commits now carry "Omar Sobh <[email protected]>" by default, so
pushed branches associate with the operator's forge account the way their
own commits do. CLAWMATES_COMMIT_NAME / CLAWMATES_COMMIT_EMAIL override
it — a shared instance wants a bot identity, not a person's.

This is attribution, not the fix. What made 019fc450's phase fail was the
*absence* of any identity: the server container has none of its own, so
git commit exits 128 regardless of which name would have been used. That
was fixed in 25d9805; this only changes the value. The push credential is
GITEA_TOKEN throughout and is untouched by any of it.

Since the author line now names a person, the commit body says plainly
that agents authored the work — otherwise autonomous commits would be
indistinguishable from hand-written ones in git log. Also fixes 13 stray
spaces that a string continuation had baked into every message body.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
Omar Sobh
2026-08-02 16:32:02 -07:00
co-authored by Claude Opus 5
parent 1a979f500f
commit ddab8e35f5
2 changed files with 46 additions and 13 deletions
+3 -3
View File
@@ -775,9 +775,9 @@ async fn delivery_commits_under_its_own_identity() {
.unwrap();
let author = String::from_utf8_lossy(&author.stdout).trim().to_string();
assert_eq!(
author, "ClawMates delivery <[email protected]>",
"delivery must supply its own identity, not inherit whatever the \
checkout happens to have configured"
author, "Omar Sobh <[email protected]>",
"delivery must supply a configured identity, not inherit whatever \
the checkout happens to have configured"
);
let base_author = Command::new("git")