efd8a07c01
The agentctl WorkspaceTracker stamps every per-repo GitStatusUpdate with RepositoryName, but the lifecycle PublishGitStatus translation into GitEventPayload was dropping that field. The orchestrator then forwarded a status with empty repository_name, the frontend store routed everything into the empty-key bucket, and the Changes panel's multi-repo grouping never triggered — no header, no per-repo split. - GitStatusData gains RepositoryName (omitempty so single-repo payloads stay byte-identical on the wire). - PublishGitStatus copies update.RepositoryName onto the payload. - Test asserts the field survives the publish → subscribe round trip via the in-memory event bus on the GitEvent.<sessionID> subject. Restart the agentctl process for any running multi-repo task to pick up the new field; new launches get it automatically. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>