fix(desktop): draw Luke's own GitHub App bot as the GitHub bot it is
What was asked
Luke's own GitHub App bot (luke-agent[bot]) shows up as a reviewer, opener, and commit author on GitHub, but the PR views drew it as the agent whose PR it is, or as Luke. The developer asked for that special case to go: Luke should draw the bot as the GitHub App bot it is, the same way it draws devin-ai-integration[bot] or vercel[bot].
What changed
- Service (
github-people.ts):changesPeopleandnamedOverviewno longer callapp.appBot(token)on every read, andpersonOfno longer setsluke.namedOverviewno longer needs the token orGitHubAppat all, so I dropped itstokenparameter, and its caller incoding-agents-app.tschanged to match. - Wire (
coding-agent-wire.ts):GitHubPersonno longer hasluke.writtenAsstays. - UI (
actor-model.ts):githubActorhas noplace.agentand noLUKE_ACTORfallback, andGitHubPlace.agentis gone. - Desktop (
pull-request-people.tsx): removedPullRequestAgent, the agent card inuseNamer, and theagentprop threaded throughPersonRef,OpenedBy,ReviewersLine, andPullRequestPeople. The Pull request tab, the Files changed view, andChangesCardstop building the agent for it.StackFace.cardwas only used for that agent card, so it's gone too; every face now hangs its actor's own card. - "Opened by … as the GitHub App, since …" (from #2976): removed, because only the
lukemark could tell the window that the App's bot opened the PR. The developer chose to drop it rather than keep bot detection for it alone.
Goldens
I re-recorded these under LUKE_UPDATE_FIXTURES=1. Each one only loses the luke boolean property from the GitHubPerson definition (42 lines removed in total):
coding-agent-view-codingAgentChangesAnswerViewSchema.jsoncoding-agent-view-codingAgentOverviewAnswerViewSchema.jsoncoding-agent-wire-codingAgentChangesAnswerSchema.jsoncoding-agent-wire-codingAgentOverviewAnswerSchema.json
Tests
github-people.test.tsandpull-request-overview.test.ts: the App's bot now comes back as a plain bot ({ login, bot: true, avatarUrl }) with no mark.actor-model.test.ts:luke-agent[bot]is a GitHub bot actor like Devin.pull-request-people.test.ts: the opener, a reviewer, and a commit author that areluke-agent[bot]draw as GitHub bots with the GitHub App card. The Opened by line has no "as the GitHub App" words, whateverwrittenAssays.- The Pull request tab test checks that the opener draws as a GitHub bot.
use-coding-agents.test.tsfixtures were updated.
pnpm check:affected: typecheck, lint, knip, discarded-effect, and the host, web, service, and catalog tests passed, as did all 1639 desktop tests. The one failing file was src/main/app-menu.test.ts, which could not load Electron because the sandbox couldn't download its binary (fetch failed). That's a sandbox problem, not this change.
Made with Luke
Summary by cubic
Draws Luke's GitHub App bot (luke-agent[bot]) as the GitHub bot it is, the way the desktop already draws devin-ai-integration[bot] or vercel[bot], instead of as the agent whose pull request it is or as Luke.
- The service stops calling
app.appBot(token)on every read, and thelukeflag is gone fromGitHubPersonand out ofgithubActor's placement. - The desktop views drop
PullRequestAgent, the agent card a face hung in place of the actor's own, and theagentprop threaded through them; every face now hangs its actor's own card. - The "Opened by … as the GitHub App, since …" ending is removed, since only the
lukemark could tell it; whether to keep bot detection for that sentence alone is still open, which is why this is a draft.