petstore-docs/.agents/fixed-team-operating-model.md

153 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 宠小它 Fixed Agent Team Operating Model
本文件定义宠小它固定 agent 编制、持续队列和产品研发流程规范。目标是让 agent 按固定角色从 Ready 队列持续拉活,而不是每次临时重拆边界。
## 执行槽位
固定队形描述的是角色和责任,不等同于工具层可同时运行的子 agent 数量。实际执行采用“固定角色 + 动态并行 + 及时关闭”:
- 主控 PM 不占子 agent 槽位负责拆任务、review、集成、提交、发布协调和阻塞归因。
- agent 完成、阻塞、取消或仅用于探测后,必须及时关闭会话,释放队列资源。
- 优先并行互不冲突的写入边界,例如 `docs` + `frontend` + `backend`;同一 `Service Lock` 同时只允许一个 owner 修改。
- 如果创建新 agent 返回 thread limit先清理已完成或已阻塞 agent再按优先级重试。
## 固定队形
| Group | Owner Agent | Role 字段 | 常驻职责 | 主写入边界 | Paired QA |
|---|---|---|---|---|---|
| 门店端前端 | Store Miniapp FE | `Store Miniapp Frontend` | 老板/员工小程序页面、预约列表、开始服务、报告填写、我的、员工/服务类型管理 | `frontend/src/pages/home`、`appointment`、`report`、`mine`、门店端共享组件 | Core Flow QA / Report Share QA |
| 门店 Web 后台 | Store Admin FE | `Store Admin Frontend` | 门店 Web 管理后台(工作台/预约/报告/线索/客户/排班/设置) | `admin/**`(建成后) | Core Flow QA / Report Share QA |
| 宠主体验前端 | Customer Experience FE | `Customer Experience Frontend` | 宠主预约、报告 H5、分享落地、视频播放、留资、宠物档案和公开体验 | `frontend/src/pages/report-view`、`video-player`、宠主预约页、公开体验 utils/components | Core Flow QA / Report Share QA |
| 核心后端 | Backend Core | `Backend Core` | 预约状态机、门店、用户、宠物、日程、服务类型、微信/短信基础能力 | `backend/src/main/java/com/petstore/controller``service` 中核心域文件 | Core Flow QA |
| 报告媒体后端 | Report Media Backend | `Report Media Backend` | 服务报告、报告图片/视频、成片任务、公开报告数据、留资、评价 | `Report*`、`FileController`、`ReportHighlightVideoService` 等报告媒体域 | Report Share QA |
| 核心链路 QA | Core Flow QA | `Core Flow QA` | 老板/员工/宠主预约主链路、状态机、门店数据范围验收 | `docs/qa-reports`、必要 smoke 脚本 | Store Miniapp FE / Customer Experience FE / Backend Core |
| 报告分享 QA | Report Share QA | `Report Share QA` | 报告填写、分享页、H5、成片三态、隐私提示、埋点验收 | `docs/qa-reports`、必要 smoke 脚本 | Report Media Backend / Customer Experience FE |
| 后端运维 | Backend Ops | `Backend Ops` | 后端 jar、数据库配置、Nginx API、启动、回滚、API smoke | `backend/deploy`、运维报告;不改业务逻辑 | 关联业务 QA |
| 前端发布运维 | Frontend Release Ops | `Frontend Release Ops` | 微信小程序体验版、H5 构建、项目配置、前端 smoke | `frontend/project*.json`、构建/发布配置、运维报告;不改业务逻辑 | 关联业务 QA |
| PM 助手 | PM Assistant | `PM Assistant` | 任务源维护、RC 管家、依赖跟踪、验收证据归档、阻塞归因、进展同步 | `docs`;不改产品代码 | 主控 PM |
| 架构治理 | System Architect | `System Architect` | 跨模块边界、接口契约、状态机、数据一致性、owner 拆分 | `docs`;不改业务代码 | 关联业务 QA / Docs |
专项支持 agent
| Agent | Role 字段 | 职责 | 写入边界 |
|---|---|---|---|
| Data Model | `Data Model` | JPA entity、表结构、索引、软删除、状态字段、幂等和迁移顺序 | `docs`、必要时 backend entity/repository review默认不持锁 |
| Product Design | `Product Design` | 产品说明、用户流程、IA、文案、验收标准 | `docs` |
| Docs | `Docs` | 知识库、架构文档、实施计划、状态同步 | `docs` |
| Progress Digest | `Progress Digest` | 实现度看板、日报素材、阶段摘要 | `docs` |
## 队列字段
每个 Owner Agent 维护一个持续队列。队列项必须具备以下字段,缺一不可:
| 字段 | 说明 |
|---|---|
| `Task Name` | 以业务结果命名,不以角色前缀命名 |
| `Role` | 使用上表 Role 字段之一 |
| `Owner Agent` | 固定 agent 名称,例如 `Backend Core` |
| `Paired QA` | 对应 QA例如 `Core Flow QA` |
| `Workstream` | `Core Booking Flow`、`Report Sharing`、`Release`、`PM`、`Architecture` |
| `Track` | `Product`、`Coding`、`QA`、`Ops`、`Hotfix`、`Planning`、`Review` |
| `Status` | `Backlog`、`Ready`、`Doing / In Progress`、`Review`、`QA`、`Deploying`、`Blocked`、`Ready for Release`、`Released`、`Done` |
| `Priority` | `P0`、`P1`、`P2` |
| `Repo/Path` | 主要写入路径 |
| `Service Lock` | 后端 domain、前端 page group、docs 或发布资源锁 |
| `Depends On` | 依赖任务或接口 |
| `Acceptance` | QA 可执行的验收节点 |
| `RC Included` | 是否进入当前 Release Candidate |
| `Due Date` | 目标完成日期;没有明确日期时写 `TBD` |
| `Output Link` | commit、报告、发布记录、截图或其他证据链接 |
| `Blocker Owner` | 阻塞责任 owner未阻塞时写 `None` |
| `Commit / RC` | 相关提交号、RC id 或 `Not Frozen` |
| `Architecture Review Required` | 是否需要 System Architect 在开发前评审 |
| `Data Model Review Required` | 是否涉及 entity、表结构、索引、状态字段、幂等、软删除或数据迁移 |
| `Access / Privacy Review Required` | 是否涉及登录、门店数据范围、手机号、报告 token、媒体 URL、公开页或隐私提示 |
## 拉活策略
- 固定 agent 完成当前任务后,从自己 `Role + Owner Agent + Status = Ready` 的队列中取最高优先级任务。
- QA agent 不等发布后才工作。开发阶段先写验收清单和 smoke 草案RC 固定后再做发布后验证。
- Ops agent 不等所有开发结束才工作。后端/前端完成可部署单元后Ops 提前准备发布脚本、回滚点和 smoke 命令。
- PM Assistant 每轮负责把 agent 输出转换为固定任务源状态、依赖、阻塞和下一步任务。
- System Architect 只在跨模块边界、状态机、公开链接、媒体异步任务、数据一致性或服务拆分争议出现时拉活。
## 运行门禁
### 产品门禁
- 产品说明类任务默认只写 `docs/`;只有负责人明确要求“改代码 / 实现功能”时才进入编码类任务。
- 编码前必须确认需求来源产品说明、P0 落地清单、bug 复现、QA 报告或用户直接指令。
- 不确定的功能状态必须标记为“假设 / 待确认 / 未实现”,不得写成已完成。
### API 契约门禁
- 任一任务触碰后端 controller/service/entity/repository 或 `frontend/src/api`,必须读取 [rules/api-contract-boundary.md](rules/api-contract-boundary.md)。
- API 变更必须同时说明:请求参数、响应 shape、错误码/业务码、前端调用点、回归页面。
- 公开报告页和宠主入口必须明确是否允许匿名访问、token 口径和隐私提示。
### Data / Model 门禁
- 涉及 JPA entity、表结构、索引、软删除、状态字段、幂等、report token、手机号、媒体 URL 或异步任务状态时,`Data Model Review Required` 必须为 `Yes`
- 预约状态只允许 `new`、`doing`、`done`、`cancel`;新增状态必须先过 System Architect 和 Product Design。
- 成片任务必须保留 processing / failed / success 状态,以及失败原因的用户可读映射。
### Access / Privacy 门禁
- 涉及登录、门店数据范围、boss/staff 权限、宠主公开页、手机号、报告 token、媒体 URL 或留资时,`Access / Privacy Review Required` 必须为 `Yes`
- 报告公开访问 token 视为敏感公开链接;日志、报告和截图中不要暴露真实 token 全量值。
- 在真实权限未生产化前,报告必须明确标记 demo identity、mock login 或 pending不得写成生产权限能力已完成。
### Release Candidate 门禁
- PM Assistant 兼任 RC Steward负责维护 RC manifest、前后端提交号、纳入/排除范围、dirty diff 分类、发布状态和 QA 结论。
- Backend Ops 和 Frontend Release Ops 只部署 RC Steward 冻结的提交号或明确归档的构建产物。
- QA 只验收当前 RC发现阻塞问题时由 PM Assistant 建 Hotfix 任务并关联原 RC。
- 任一仓库存在未提交改动时RC manifest 必须说明是否纳入、排除或等待 owner confirmation。
## 写入锁规则
- 同一时间只允许一个后端 owner 修改同一个 domain/service 组合。
- `frontend/src/api/index.js` 是共享契约入口,改动必须通知受影响的 FE owner 和后端 owner。
- 共享 report 组件、report share utils、public URL utils 同时影响门店端和宠主端,必须声明实际 owner 和 paired reviewer。
- QA 不改业务代码Ops 不改业务逻辑PM Assistant 不改产品代码。
- System Architect 不改业务代码,不持有前后端写入锁;架构结论需要落地时,由对应 owner agent 持锁执行。
## 三条业务主线
### Core Booking Flow
目标:门店端和宠主端预约主链路稳定,状态机不产生脏数据。
常驻 owner
- Store Miniapp FE
- Customer Experience FE
- Backend Core
- Core Flow QA
### Report Sharing
目标:服务报告、公开 H5、分享卡片、成片三态、留资和隐私提示形成闭环。
常驻 owner
- Store Miniapp FE
- Customer Experience FE
- Report Media Backend
- Report Share QA
### Release / Operations
目标:后端 jar、API、微信小程序、H5 构建和回滚路径可重复。
常驻 owner
- Backend Ops
- Frontend Release Ops
- PM Assistant
- 关联业务 QA
## 状态同步节奏
- 每个 agent 输出必须包含:状态、修改文件、验证命令、结果、风险、需要主控 review 的问题。
- PM Assistant 每次同步时更新:任务状态、阻塞原因、依赖 owner、下一动作。
- Progress Digest 在用户要求或自动化任务触发时基于固定任务源、git 状态、QA/Ops 报告和实现度看板生成摘要。
- System Architect 负责提出架构结论、拆解 owner 任务和标记缺口;主控 PM 负责跨域冲突、优先级、RC 冻结和最终边界决策。