Skip to content

Route Launchplane GitHub writes through managed automation identity #988

@shiny-code-bot

Description

@shiny-code-bot

Context

Recent agent-driven Launchplane closeout comments were authored as cbusillo even though the work was performed by Every Code/automation. Example evidence:

  • cbusillo/launchplane#929 comment 4579538475 was authored by cbusillo, type: User, with performed_via_github_app: null.
  • The nearby closeout comment after PR Add public ingress notification drivers #987 shows the same user attribution.
  • The local codex-skills GitHub helper resolves CODEX_GITHUB_TOKEN as shiny-code-bot, so helper-backed writes should not normally author as cbusillo.
  • Launchplane also has raw gh shell-out paths, including public-ingress issue notification code, which can inherit whichever GitHub identity is active in the runtime environment.

This makes it hard to distinguish human comments from agent/automation comments and can make local agent work appear as direct human GitHub activity.

Finish Line

Launchplane GitHub issue/PR/comment writes use a managed automation identity such as shiny-code-bot, or fail/warn explicitly before posting as a human account.

Scope

  • Inventory Launchplane GitHub write paths, including API-token paths and raw gh shell-outs.
  • Identify which paths can currently use a personal cbusillo token or active local gh auth.
  • Route automated writes through the intended bot/managed token for local worker, service, workflow, and monitor paths.
  • Add visible diagnostics for the resolved GitHub actor before write operations where practical.
  • Fail closed or require explicit override when an automated path would post as a human identity.
  • Keep true human actions separate from agent/automation closeout writes.

Known Evidence

Acceptance Criteria

  • A documented expected GitHub actor exists for Launchplane automation writes.
  • Automated local and service GitHub writes can be verified to use that actor.
  • Raw gh shell-outs are replaced, wrapped, or configured so they do not silently use active human auth.
  • Tests cover at least one path that would otherwise write via raw/active gh auth.
  • A short operator note explains how to verify the configured actor without exposing tokens.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions