## MODIFIED Requirements ### Requirement: Orchestrator exposes status via API only Orchestrator SHALL 通过 HTTP API 暴露所有任务和 Agent 状态信息,不连接任何外部聊天或通知平台。平台接入由各 Agent 自行处理。 #### Scenario: Task state change queryable via API - **WHEN** 任务 #42 状态变更(assigned、completed、failed 等) - **THEN** 变更 SHALL 通过 `GET /api/v1/tasks` API 可查询 - **AND** 变更 SHALL 记录在 task_events 表中 #### Scenario: Agent state change queryable via API - **WHEN** Agent `worker-03` 状态变更(online、offline 等) - **THEN** 变更 SHALL 通过 `GET /api/v1/agents` API 可查询 ## REMOVED Requirements ### Requirement: Matrix room as coordination channel **Reason**: Orchestrator 不连接任何聊天平台。平台接入是 Agent 侧的职责。 **Migration**: 各 Agent(OpenClaw/Jeeves、Hermes 等)自行连接聊天平台,通过 Orchestrator HTTP API 获取状态后展示。 ### Requirement: Slash commands for orchestration **Reason**: Orchestrator 不处理命令。命令解析和路由由各 Agent 自行处理。 **Migration**: 各 Agent 解析用户命令,调用 Orchestrator HTTP API 执行操作。 ### Requirement: Matrix notifications for receipts **Reason**: Orchestrator 不推送通知。通知由各 Agent 根据所在平台能力自行处理。 **Migration**: Agent 通过 API 轮询或 webhook 获取 receipt 状态变更,自行决定通知方式和格式。 ### Requirement: Per-agent Matrix thread **Reason**: Orchestrator 不了解任何聊天平台概念。展示方式由各 Agent 根据平台能力决定。 **Migration**: Agent 通过 `GET /api/v1/tasks?agent_id=xxx` 获取任务历史,自行选择展示方式。