Files
roboco/agents/prompts
Renn FandClaude Opus 4.7 27dccc7215 fix(gateway): four PM-lifecycle smoke regressions
* choreographer.escalate_up: AttributeError when target lookup returned
  None. Switched from role-based escalate_up_to_role (which mishandled
  slug-shaped escalation_target like "main-pm" because AgentRole only
  accepts underscore form) to slug-based task.escalate, with explicit
  None-handling that returns invalid_state instead of 500.

* prompts/roles/cell_pm.md + main_pm.md: enumerate the new lifecycle
  verbs (i_will_plan, delegate, submit_up, give_me_work, i_am_idle).
  Without this, PM agents fell back to calling i_will_work_on (the dev
  verb) and 404'd at /api/v2/flow/cell_pm/i_will_work_on. Workflow
  walkthroughs included.

* messaging.get_channel_by_slug + get_or_create_channel_by_slug: strip
  leading "#" so "#main-pm-board" resolves to the row stored as
  "main-pm-board". Agents follow Slack convention; gateway must accept
  it.

* agent_sdk session-end post-mortem hook: corrected payload shape from
  {content, kind:"reflect"} to {type:"task_reflection", title, content}
  so /api/journals/me/entries validates. Added pad-to-min-length so the
  50-char content gate doesn't reject thin post-mortems.

* test_choreographer_pm: updated escalate_up test to assert task.escalate
  is awaited, plus regression test for the None-target invalid_state path.

380 unit tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 00:54:05 +02:00
..
2026-05-02 03:11:49 +02:00