## ADDED Requirements ### Requirement: Matrix room as coordination channel Orchestrator SHALL 使用 Matrix 房间作为实时协同通道:Agent 状态变更、任务分配、完成通知、人类审批等事件 SHALL 推送到 Matrix。 #### Scenario: Task assigned notification - **WHEN** 任务 #42 被分配给 Agent `worker-03` - **THEN** Matrix 协同房间 SHALL 收到通知:`📋 #42 → worker-03 [code:typescript]` #### Scenario: Agent offline alert - **WHEN** Agent `worker-03` 连续 3 次心跳失败 - **THEN** Matrix 房间 SHALL 收到告警:`⚠️ worker-03 offline — 2 running tasks affected` ### Requirement: Slash commands for orchestration 人类 SHALL 能通过 Matrix slash command 触发编排操作。 #### Scenario: /fleet status - **WHEN** 人类发送 `/fleet status` - **THEN** Bot SHALL 回复所有 Agent 当前状态表格:Agent ID、类型、状态、当前任务数、能力 #### Scenario: /assign command - **WHEN** 人类发送 `/assign worker-03 #42` - **THEN** 任务 #42 SHALL 被手动分配给 worker-03 #### Scenario: /retry command - **WHEN** 人类发送 `/retry #42` - **THEN** 失败的任务 #42 SHALL 被重新入队 ### Requirement: Matrix notifications for receipts 每个 receipt 回写 SHALL 触发 Matrix 通知,包含任务状态、摘要、artifact 链接。 #### Scenario: Task completed notification - **WHEN** 任务 #42 的 receipt 验证通过,状态为 `completed` - **THEN** Matrix 房间 SHALL 收到通知:`✅ #42 completed by worker-03 — PR #15 — "修复登录验证 bug"` #### Scenario: Task failed notification - **WHEN** 任务 #42 失败 - **THEN** Matrix 房间 SHALL 收到通知:`❌ #42 failed — worker-03 — "构建超时"` ### Requirement: Per-agent Matrix thread 每个 Agent SHALL 有独立的 Matrix thread(或 topic),用于该 Agent 的执行日志、状态更新、调试输出。 #### Scenario: Agent execution log - **WHEN** Agent worker-03 开始执行任务 #42 - **THEN** worker-03 的 thread SHALL 收到执行开始消息,后续日志更新也在此 thread