Skip to content

feat(discord-bot): Discord→GitHub identity map for commit co-authors - #120

Merged
patroza merged 1 commit into
fork/discordfrom
feat/discord-user-identity-map
Jul 28, 2026
Merged

feat(discord-bot): Discord→GitHub identity map for commit co-authors#120
patroza merged 1 commit into
fork/discordfrom
feat/discord-user-identity-map

Conversation

@omegent-app

@omegent-app omegent-app Bot commented Jul 27, 2026

Copy link
Copy Markdown

Summary

  • Adds an operator-maintained identity map (T3_IDENTITY_MAP_PATH) that maps Discord users → GitHub (and optional Jira) identities.
  • On every Discord turn, injects resolved thread starter + current requester plus ready-to-paste Co-authored-by: trailers so agents can attribute commits as bot & human without inventing emails.
  • Absent path → feature off (same pattern as project aliases).

Companion ops PR: stage identity-map.yaml, guest unit export, and operator docs.

Operator flow (after both PRs)

  1. Copy ops/infra/microvm/host/secrets.example/identity-map.yaml~/.config/t3-microvm/identity-map.yaml
  2. Fill Discord snowflakes + githubLogin + githubId (gh api users/LOGIN --jq '.id')
  3. ./host/stage-secrets.sh + restart discord-bot
  4. Until guest image rebuild: also set T3_IDENTITY_MAP_PATH=/run/secrets/identity-map.yaml in discord-bot.env

Test plan

  • vp test run apps/discord-bot/src/identityMap.test.ts apps/discord-bot/src/presentation/threadContext.test.ts apps/discord-bot/src/config.test.ts
  • vp run typecheck in apps/discord-bot
  • Deploy bot with map staged; mention from mapped user; confirm prompt contains Co-authored-by
  • Commit via agent and verify GitHub shows multi-author avatars

@patroza
patroza force-pushed the fork/integration branch 13 times, most recently from 09e9535 to 50761d7 Compare July 28, 2026 06:28
Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.
@patroza
patroza force-pushed the feat/discord-user-identity-map branch from 305138d to 40de82a Compare July 28, 2026 06:38
@patroza
patroza changed the base branch from fork/integration to fork/discord July 28, 2026 06:38
@patroza
patroza merged commit 4e4d04f into fork/discord Jul 28, 2026
2 checks passed
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza added a commit that referenced this pull request Jul 28, 2026
#152)

Stack sync rebases the prior integration tip onto the new fork/changes
base before compose. Overlay commits that touch the lockfile (e.g. #120)
conflict there; prefer the replayed side via durable commit:\"*\" so
compose can continue and regenerate the integration lock at the end.

Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 28, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 29, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 29, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 29, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 29, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 29, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
patroza pushed a commit that referenced this pull request Jul 29, 2026
…120)

Load an operator-maintained identity map (T3_IDENTITY_MAP_PATH) and inject
resolved Co-authored-by trailers for the thread starter and current requester
on every Discord turn so agents can attribute commits without inventing emails.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant