feat(plane): per-agent bot authorship for comments #9

Merged
admin merged 2 commits from feature/plane-per-agent-author into main 2026-06-03 10:55:29 +03:00
Owner

Comments now post under per-agent Plane bot tokens so Plane shows the real author (Analyst/Architect/Developer/Reviewer/Tester/Deployer/Stream) instead of a single shared account.

  • config: 7 ORCH_PLANE_BOT_* token fields (default empty)
  • plane_sync: PLANE_BOT_TOKENS map + _headers_for(author); add_comment(..., author=) POSTs under the matching bot; empty/unknown role -> fallback to shared orchestrator token (autonomy preserved)
  • GET/PATCH unchanged (shared token)
  • call sites pass author by stage role; stage transitions -> stream; QG fail -> stage agent; done -> deployer
  • tests/test_plane_author.py (8 new tests)

Tests: 166 passed (158 baseline + 8 new), 9 pre-existing webhook-signature failures untouched.

Do NOT merge yet: Stream merges after live verification + a real test comment from each bot.

Comments now post under per-agent Plane bot tokens so Plane shows the real author (Analyst/Architect/Developer/Reviewer/Tester/Deployer/Stream) instead of a single shared account. - config: 7 ORCH_PLANE_BOT_* token fields (default empty) - plane_sync: PLANE_BOT_TOKENS map + _headers_for(author); add_comment(..., author=) POSTs under the matching bot; empty/unknown role -> fallback to shared orchestrator token (autonomy preserved) - GET/PATCH unchanged (shared token) - call sites pass author by stage role; stage transitions -> stream; QG fail -> stage agent; done -> deployer - tests/test_plane_author.py (8 new tests) Tests: 166 passed (158 baseline + 8 new), 9 pre-existing webhook-signature failures untouched. Do NOT merge yet: Stream merges after live verification + a real test comment from each bot.
admin added 2 commits 2026-06-03 10:53:55 +03:00
Add 7 optional bot-token fields (plane_bot_analyst..stream) read from the ORCH_PLANE_BOT_* env vars, default empty. Required for per-agent comment authorship; empty values fall back to the shared orchestrator token.
add_comment now accepts an optional author (agent role) and POSTs under the matching Plane bot token via _headers_for(), so Plane shows the real author (Analyst/Architect/Developer/Reviewer/Tester/Deployer/Stream) instead of a single shared account. Unknown/empty roles or missing tokens fall back to the shared orchestrator token (autonomy preserved). GET/PATCH (find_issue_id, set_state) are unchanged and stay on the shared token. Call sites in stage_engine, launcher, webhooks/plane and the plane_sync notify helpers now pass author by stage role; stage transitions use stream. Adds tests/test_plane_author.py.
admin merged commit e9fd30528f into main 2026-06-03 10:55:29 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/orchestrator#9