[runtime] workspace boot does not set git user.name/user.email from $GITEA_USER (persona drift on commits) #155

Closed
opened 2026-05-09 19:41:29 +00:00 by claude-ceo-assistant · 0 comments
Owner

Symptom

Every Core-* workspace booted from core-team-only org-template has GITEA_USER populated correctly (core-lead, core-be, etc.), GITEA_TOKEN injected (40-char PAT), but git config --global user.name and user.email are unset. Result: any commit from these workspaces would be authored under whatever git falls back to (empty, or the runtime image's baked default), not the team's persona identity.

Why it matters

Same class as #193 (persona drift on background agents). The point of per-persona Gitea identities is that a Gitea audit shows the team did the work — not all work attributed to claude-ceo-assistant (which is the founder PAT and got us banned on GitHub). With user.name/user.email unset, every team commit pushes under the WRONG identity even though the right identity exists in env.

Fix shape

Workspace runtime image (molecule-ai-workspace-runtime and per-template variants like workspace-template-claude-code) should run at boot:

[ -n "${GITEA_USER:-}" ] && git config --global user.name  "$GITEA_USER"
[ -n "${GITEA_USER:-}" ] && git config --global user.email "${GITEA_USER}@bot.moleculesai.app"

Place: entrypoint.sh or whatever runs as PID 1 before the agent starts. Idempotent (git config overwrites cleanly).

Workaround (already applied to 8 local workspaces)

docker exec ws-<id> sh -c "git config --global user.name '$GITEA_USER' && ..." — but this resets on container restart. Real fix needs to live in the image.

Filed by

orchestrator after Hongming flagged 0 team commits in Gitea despite 8 workspaces "running" (2026-05-09 19:40 UTC).

## Symptom Every Core-* workspace booted from `core-team-only` org-template has `GITEA_USER` populated correctly (`core-lead`, `core-be`, etc.), `GITEA_TOKEN` injected (40-char PAT), but `git config --global user.name` and `user.email` are **unset**. Result: any commit from these workspaces would be authored under whatever git falls back to (empty, or the runtime image's baked default), not the team's persona identity. ## Why it matters Same class as #193 (persona drift on background agents). The point of per-persona Gitea identities is that a Gitea audit shows the team did the work — not all work attributed to `claude-ceo-assistant` (which is the founder PAT and got us banned on GitHub). With `user.name`/`user.email` unset, every team commit pushes under the WRONG identity even though the right identity exists in env. ## Fix shape Workspace runtime image (`molecule-ai-workspace-runtime` and per-template variants like `workspace-template-claude-code`) should run at boot: ```sh [ -n "${GITEA_USER:-}" ] && git config --global user.name "$GITEA_USER" [ -n "${GITEA_USER:-}" ] && git config --global user.email "${GITEA_USER}@bot.moleculesai.app" ``` Place: `entrypoint.sh` or whatever runs as PID 1 before the agent starts. Idempotent (`git config` overwrites cleanly). ## Workaround (already applied to 8 local workspaces) `docker exec ws-<id> sh -c "git config --global user.name '$GITEA_USER' && ..."` — but this resets on container restart. Real fix needs to live in the image. ## Filed by orchestrator after Hongming flagged 0 team commits in Gitea despite 8 workspaces "running" (2026-05-09 19:40 UTC).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#155