# plan.md — Council Multi-Agent Plan (Merged) > Shared by all agents: arch-reviewer, backend-reviewer, ticket-reviewer, pm-reviewer --- # PM Reviewer Section ## 角色 📋 **pm-reviewer**:项目经理 ## 负责文档 docs/04_IMPLEMENTATION_ROADMAP.md、docs/DEPLOYMENT.md、docs/05_AI_PARTICIPATION.md ## 文档评审任务清单 - [ ] 评审 docs/04_IMPLEMENTATION_ROADMAP.md(Agent 分工与开发计划) - [ ] 评审 docs/DEPLOYMENT.md(Docker 部署方案) - [ ] 评审 docs/05_AI_PARTICIPATION.md(AI 参与可行性分析) - [ ] 撰写 `reviews/pm-reviewer-on-docs.md`(结构化评审报告) - [ ] 投票:是否可以开始编码 ## Phase 分解 ### Phase 1 — Draft - 读取并分析上述三份文档 - 识别问题并撰写结构化评审报告 - 将评审报告提交到 main ### Phase 2 — Review - 等待其他 Agent 的评审结果 - 整合反馈,更新评审结论 - 投票是否可以开始编码 ### Phase 3 — Finalize - 汇总最终投票结果并更新 plan.md - 若全员同意,则标记 `[CONSENSUS: YES]` ## Claim 状态 - [ ] 评审 docs/04_IMPLEMENTATION_ROADMAP.md — `[Claimed: council/pm-reviewer]` - [ ] 评审 docs/DEPLOYMENT.md — `[Claimed: council/pm-reviewer]` - [ ] 评审 docs/05_AI_PARTICIPATION.md — `[Claimed: council/pm-reviewer]` - [ ] 撰写 reviews/pm-reviewer-on-docs.md — `[Claimed: council/pm-reviewer]` --- # Backend Reviewer Section ## 角色 🔐 **backend-reviewer**:数据库与后端安全专家 ## 负责文档 docs/01_SHOPXO_TECHNICAL_RESEARCH.md(SQL 设计 + 安全审查) ## 文档评审结论(docs/01_SHOPXO_TECHNICAL_RESEARCH.md) ### SQL 设计部分 | 检查项 | 结论 | 说明 | |---|---|---| | vr_tickets 表 DDL | ❌ 缺失 | 文档中无任何 CREATE TABLE 语句 | | vr_events 表 DDL | ❌ 缺失 | 同上 | | vr_sessions 表 DDL | ❌ 缺失 | 同上 | | vr_seats / vr_orders 表 | ❌ 缺失 | 同上 | | ShopXO 原生表(sxo_*)分析 | ✅ 充分 | 充分覆盖 sxo_order / sxo_goods_spec_base 等核心表 | | 索引策略 | ⚠️ 需补充 | 文档未提及 vr 插件表索引设计 | | 外键约束与级联策略 | ⚠️ 需补充 | 未覆盖 | ### 安全审查部分 | 检查项 | 结论 | 说明 | |---|---|---| | SQL 注入防御 | ✅ 通过 | ThinkPHP Db 类自动绑定参数,无拼接 SQL | | BuyService 原子扣库存 | ✅ 通过 | WHERE inventory >= N + dec() 原子操作,事务回滚机制安全 | | QR 码生成逻辑 | ⚠️ 需补充 | base64 编码方式安全,但未分析:QR payload 是否含 PII、暴力枚举风险 | | 核销码可预测性 | ⚠️ 未分析 | sxo_order_extraction_code 的 code 字段生成算法未知 | | 订单扩展字段安全 | ⚠️ 未分析 | extension_data JSON 存储需防注入 | | 权限控制 | ⚠️ 未覆盖 | 核销 API 的 admin 权限校验链未验证 | ## 任务清单 - [ ] **Task-1**: 定义 vr_events(场次表)、vr_sessions(座位表)、vr_tickets(票券表)、vr_orders(票务订单表)完整 DDL,含主键/索引/外键 - `[Claimed: council/backend-reviewer]` - [ ] **Task-2**: 分析 BuyService OrderInsertHandle 原子扣库存逻辑,输出安全审查报告 - `[Claimed: council/backend-reviewer]` - [ ] **Task-3**: QR 码生成逻辑注入风险分析(payload 构造 + 暴力枚举防护) - `[Claimed: council/backend-reviewer]` - [ ] **Task-4**: 核销 API 权限链审查(admin 端鉴权路径) - `[Claimed: council/backend-reviewer]` - [ ] **Task-5**: 将审查结论写入 `reviews/backend-reviewer-on-docs.md` - `[Claimed: council/backend-reviewer]` ## 执行计划 ### Phase 1 — Draft(Round 2) 1. 从 shopxo-evaluator worktree 读取 BuyService.php 源码(OrderInsertHandle 部分) 2. 读取 sxo_order_extraction_code 生成逻辑 3. 读取核销 API admin 鉴权逻辑 4. 起草 vr_* 表 DDL 初稿 ### Phase 2 — Review(Round 3) 5. 合并 arch-reviewer 的 ARCHITECTURE.md 审查意见(若与数据库设计交叉) 6. 完整 review 所有发现,写入 reviews/ ### Phase 3 — Finalize(Round 4) 7. 将最终 DDL + 安全报告 merge 入 main 8. 投票 ## 依赖 - arch-reviewer:ARCHITECTURE.md 中若有数据库层设计,需同步 - ticket-reviewer:核销系统设计文档中若定义了表结构,需对齐 - 其他 round 2 执行,无跨 Agent 阻塞依赖 --- # Ticket Reviewer Section ## 角色 🎫 **ticket-reviewer**:票务系统专家 ## 负责文档 docs/03_VERIFICATION_SYSTEM.md + ARCHITECTURE.md(核销逻辑) (详细任务待 ticket-reviewer 补充) --- # Arch Reviewer Section ## 角色 🏗️ **arch-reviewer**:架构师 ## 负责文档 ARCHITECTURE.md + docs/05_AI_PARTICIPATION.md(架构部分) (详细任务待 arch-reviewer 补充) --- ## 投票汇总 | Agent | Vote | 说明 | |---|---|---| | pm-reviewer | TBD | 待 Round 1 完成 | | backend-reviewer | `[CONSENSUS: NO]` | 文档缺少 vr_* 插件表 DDL,安全审查不完整,不能开始编码 | | ticket-reviewer | TBD | 待 Round 1 完成 | | arch-reviewer | TBD | 待 Round 1 完成 | > 汇总:`[CONSENSUS: NO]` — 执行前需先补全表结构设计和安全评审。