# SmartFarm V1 开发前主清单 本文档是 SmartFarm V1 开发前设计工作的唯一进度账本。它记录目标、评审门、证据、自动决策、阻塞项和完成标准,不替代各专题文档。 更新时间:`2026-07-30` 当前总状态:`持续目标执行中,尚未达到开发启动条件` ## 一、持续目标 在不编写智慧农业业务代码、不修改数据库业务数据的前提下,自主完成: - 业务规则。 - 页面需求。 - 低保真和高保真原型。 - 技术与架构决策。 - 数据模型和字段字典。 - API 契约。 - 事件、队列、定时任务、权限和通知。 - 五个项目的代码文件改造蓝图。 - 测试、验收、发布和回退计划。 - 管理员、商户、用户、客服和现场人员教程计划。 - 可直接分配的开发任务、依赖、验收条件和里程碑。 最终要求是让团队在开始开发时不需要临时猜测业务规则、页面行为、字段、接口或代码边界。 ## 二、执行边界 ### 允许自主执行 - 只读检查源码、数据库结构与配置、浏览器运行页面和现有接口。 - 编辑 `smartfarm_docs`、项目 Skill、工作指引和 Figma 设计文件。 - 按风险最低、最符合 CRMEB 现有架构的方案作出可逆设计决定。 - 建立页面、数据、接口、文件和测试之间的追踪关系。 - 执行 Markdown、链接、表格、文档一致性和设计稿视觉验证。 ### 开发启动评审前禁止 - 编写或修改智慧农业业务代码。 - 写入、迁移或清理数据库业务数据。 - 修改当前生产/演示环境的业务配置。 - 执行不可逆文件、版本库、数据库或外部服务操作。 - 把尚未验证的推荐方案描述为现有系统事实。 ### 只有以下情况询问项目方 1. 两种方案代表完全不同的商业模式。 2. 需要购买付费第三方服务。 3. 需要写数据库、修改业务代码或执行不可逆操作。 4. 无法从源码、数据库、运行页面和现有文档中判断。 5. 需要验证码、授权或人工审批。 ## 三、状态定义 | 状态 | 含义 | | --- | --- | | 未开始 | 尚无足够产出 | | 进行中 | 正在分析或编写,不能作为下游冻结依据 | | 草案完成 | 已有结构化产出,但仍需一致性或证据审计 | | 待专项验证 | 推荐方向明确,但缺少源码、运行态或数据证据 | | 已确认 | 结论、证据和影响文档一致,可进入下游 | | 已阻塞 | 符合持续目标规定的询问条件且无法继续推进 | | 不适用 | 有明确理由不进入 V1 | ## 四、事实来源优先级 出现冲突时按以下顺序处理,并把最终结论写回文档: 1. 项目方最新明确业务要求。 2. [12-v1-business-decisions-and-glossary.md](12-v1-business-decisions-and-glossary) 的已确认业务规则。 3. 当前源码、只读数据库、真实运行页面和接口响应所证明的现状事实。 4. [24-g3-g4-decision-register.md](24-g3-g4-decision-register) 中已经确认并有证据的技术决定。 5. [23-crmeb-visual-baseline-audit.md](23-crmeb-visual-baseline-audit) 与 [25-user-uniapp-reuse-audit.md](25-user-uniapp-reuse-audit) 的审计结论。 6. `00-22` 其他专题文档中的草案和建议。 7. 聊天记录中的临时讨论。 任何决定不得只存在于聊天、Figma 评论或会议记录中。 ## 五、总评审门 | 评审门 | 目标 | 当前状态 | 主要证据 | 通过条件 | | --- | --- | --- | --- | --- | | `G0` 治理基线 | 目标、边界、清单和工作规约可跨会话恢复 | 已确认 | `26`、`27`、工作区 `AGENTS.md`、项目 Skill | 每次工作可从主清单恢复 | | `G1` 业务冻结 | 云仓、租地、认养、溯源、结算无业务歧义 | 自主预审通过 | `07`、`08`、`09`、`12`、`13`、`14`、`28`、`43` | 决策覆盖与跨文档审计通过 | | `G2` 产品与设计 | 四端页面、状态、复用、低/高保真可开发 | 自主预审通过 | `17`、`18`、`23`、`25`、`30`、`35`、`45`、Figma | 108 页、15 Flow 和交接 QA 通过 | | `G3` 技术设计 | 数据、接口、事件、权限和外部边界冻结 | 自主预审通过 | `15`、`19`、`20`、`24`、`31` 至 `37` | 90 表、242 写操作、104 事件、48 任务闭合 | | `G4` 文件蓝图 | 五个项目的改动精确到文件和扩展点 | 自主预审通过 | `21`、`24`、`25`、`29`、`35`、`42` | 新建/修改/复用/回归边界均有证据 | | `G5` 质量与交付 | 测试、验收、发布、回退和教程可执行 | 自主预审通过 | `22`、`38` 至 `44` | 用例、教程和发布检查可直接分配 | | `G6` 开发启动 | 工作包、负责人角色、依赖和完成定义齐全 | 启动准备自主预审通过 | `42`、`44`、`45`、本清单 | RC-1、角色、依赖、首轮 Ready 队列和人工会前动作齐全 | ## 六、G0 治理基线 - [x] 建立本主清单。 - [x] 建立 [27-autonomous-project-work-guide.md](27-autonomous-project-work-guide)。 - [x] 在 `Home.md` 和 `_Sidebar.md` 建立入口。 - [x] 建立工作区级 `AGENTS.md`,覆盖五个项目和文档仓库。 - [x] 更新后端项目 `AGENTS.md` 的必读顺序和开发前边界。 - [x] 更新项目 Skill,使新会话先读取主清单和工作指引。 - [x] 明确自主决定、询问条件和证据标准。 - [x] 明确法律、税务和会计科目不作为当前阻塞项。 `G0` 通过结论:治理载体建立后,每次继续工作必须先读取“当前活动队列”和最近变更记录。 ## 七、G1 业务冻结 ### 已有证据 - [x] 平台、商户、用户、客服和现场人员职责已定义。 - [x] 商户定位为供应链供货与商品履约方。 - [x] 用户租地、认养、产出邮寄和真实资产分配规则已定义。 - [x] 云仓先付款后选择、单一明细单一去向和超时自动代销已定义。 - [x] 云仓活动 SKU、批次、真实二次销售、三种结算和到期回购已定义。 - [x] 商户供货货款与用户本金/收益/回购账本已分离。 - [x] 平台券、平台补贴和低价销售差额承担规则已定义。 - [x] 农业异常、分批履约、溯源审核和版本规则已定义。 ### 仍需完成 - [x] 对 `00-25` 执行全部业务决策编号覆盖审计,见 [28-v1-requirement-traceability-matrix.md](28-v1-requirement-traceability-matrix)。 - [x] 检查所有业务默认值在页面、字段、API 和测试中的一致性。 - [x] 为三种云仓结算模式建立固定数字算例和逆向冲正算例。 - [x] 为邮寄、自提、代销、首次退款和到期回购建立异常决策表。 - [x] 为租地减产、认养死亡/替换、延期和分批邮寄建立异常决策表。 - [x] 确认所有 P0 业务规则均能映射到页面、状态、数据、接口和测试。 ## 八、G2 产品、页面与 Figma ### 视觉与复用基线 - [x] 平台、商户、用户和服务端源码与运行态基线已审计。 - [x] 数据库菜单、主题、站点和 DIY 装修已只读核验。 - [x] 用户端 uni-app 路由、分包、DIY、主题和组件复用已审计。 - [x] Figma 正式文件、页面骨架、变量和文本样式已建立。 - [x] 以运行态、源码和数据库事实完成四端结构化视觉参考页;原始登录态截图列为开发阶段可选回看资料。 ### 页面需求 - [x] 冻结平台端菜单与页面编号。 - [x] 冻结商户端菜单与页面编号。 - [x] 冻结用户端入口、分包、页面编号和返回路径。 - [x] 冻结服务端原 PC 客服、农业桌面与移动现场入口。 - [x] 为四端 `108` 个 P0 页面追踪对象建立字段矩阵,见 `30`。 - [x] 为每个 P0 页面建立按钮、权限与 `allowed_actions` 矩阵。 - [x] 为每个 P0 页面建立状态、空态、加载、错误和无权限矩阵。 - [x] 为每个用户端页面记录现有页面基准、直接复用、扩展复用和新增领域组件。 ### 原型 - [x] 云仓活动创建、商品配置、发布预检低保真。 - [x] 用户抢购、支付、继续抢购、稍后选择低保真。 - [x] 邮寄补运费、自提核销、自动代销低保真。 - [x] 用户持仓、批次进度、结算和回购低保真。 - [x] 商户供货、验收、履约和货款低保真。 - [x] 租地、地块分配、生产、采收和邮寄低保真。 - [x] 认养、资产/份额分配、生产、产出和邮寄低保真。 - [x] 现场记录、异常上报、审核和溯源发布低保真。 - [x] 完成低保真自动评审并回写业务与技术决策。 - [x] 完成 CRMEB 风格的桌面、H5 和小程序高保真。 - [x] 完成 Prototype Flow、组件交接和视觉验收。 Figma 文件:[SmartFarm V1 - CRMEB Baseline & Product Design](https://www.figma.com/design/b0XfSLEsVgNyMpBg3ZU99T) ## 九、G3 技术设计 ### 必须完成的专项验证 - [x] `SPIKE-001`:CRMEB 商品规格身份在编辑、复制和删除后的稳定性。 - [x] `SPIKE-002`:普通订单创建、支付和退款的最小云仓扩展点。 - [x] `SPIKE-003`:用户余额和商户账单可复用的正式入账接口。 - [x] `SPIKE-004`:现有支付能力承载独立补运费单的方式。 - [x] `SPIKE-005`:uni-app 页面、组件、DIY 和普通秒杀链路。 - [x] `SPIKE-006`:服务端认证、路由和移动布局可行性。 - [x] `SPIKE-007`:地图在平台、H5 和微信小程序中的兼容边界。 ### 数据模型 - [x] 把 `15` 从实体草案转为正式 ER 图。 - [x] 为所有 V1 表建立字段类型、长度、默认值、可空、枚举和备注。 - [x] 确认业务唯一键、普通索引、组合索引和锁范围。 - [x] 确认地图坐标命名、坐标系、精度、空值和公开范围。 - [x] 确认金额、数量、比例和时间精度。 - [x] 确认订单、退款、库存、账本和批次事务边界。 - [x] 确认历史快照、软删除、版本、冲正和审计字段。 - [x] 确认数据升级、初始化、验证和回滚文件规范。 ### API、事件与权限 - [x] 为 `19` 中每个 P0 API 补齐请求和响应字段。 - [x] 为每个写接口补齐权限、数据范围、幂等键和事务说明。 - [x] 为每个错误分支分配稳定错误码。 - [x] 冻结支付、退款、订单和库存事件的真实触发点。 - [x] 冻结 outbox、队列消费、重试、死信和修复任务。 - [x] 冻结定时任务频率、分片、游标、超时和互斥策略。 - [x] 冻结平台、商户、用户和服务端权限码。 - [x] 冻结通知渠道、模板变量、发送时机和失败策略。 - [x] 冻结地图供应商、密钥、坐标、超时、降级和跨端边界。 - [x] 冻结物流、支付、短信、文件和二维码其余第三方边界。 ## 十、G4 五项目代码文件蓝图 - [x] 后端路由、控制器、验证器、Repository、DAO 和 Model 逐项有现有依据。 - [x] 后端领域服务、事件监听器、队列和定时任务逐项有依赖关系。 - [x] 平台端路由、API、页面、组件和权限按钮逐项明确。 - [x] 商户端路由、API、页面、组件和权限按钮逐项明确。 - [x] 用户端分包、页面、API、Store、DIY 和复用组件逐项明确。 - [x] 服务端 PC/移动布局、路由、API 和权限逐项明确。 - [x] 每个文件标记 `N` 新建、`M` 修改、`R` 复用或 `X` 不改。 - [x] 每项改动关联业务决策、页面、API、表和测试编号。 - [x] 普通商品、普通秒杀、订单、支付、退款和财务回归范围明确。 - [x] 现状缺陷修复与智慧农业功能任务分离。 ## 十一、G5 测试、发布与教程 - [x] 建立需求到测试的完整追踪矩阵。 - [x] 固定云仓、租地、认养、溯源和异常测试数据。 - [x] 补齐规则单元测试、Repository、API 和事件任务用例。 - [x] 补齐并发库存、重复回调、重复结算和金额尾差用例。 - [x] 补齐平台、商户、用户和服务端权限隔离用例。 - [x] 补齐普通商城和原营销能力回归用例。 - [x] 建立升级、初始化、停用入口、回退和恢复演练步骤。 - [x] 建立日志、监控、对账和异常处理检查表。 - [x] 完成平台管理员使用教程。 - [x] 完成商户供货与货款教程。 - [x] 完成普通用户租地、认养和云仓教程。 - [x] 完成客服与现场人员教程。 ## 十二、G6 开发任务与启动评审 - [x] 按农业资产、租地认养、溯源、云仓、账本、服务端和公共适配拆分工作包。 - [x] 每个任务包含负责人角色、依赖、输入、输出和验收标准。 - [x] 每个任务关联页面、API、表、文件和测试编号。 - [x] 形成前端、后端、设计、测试和联调工作量估算方法。 - [x] 形成不依赖未确认日期的优先级和迭代顺序。 - [x] 明确演示节点、集成节点和回归节点。 - [x] 完成 Codex 开发启动预评审记录;项目成员姓名、任务认领和人工签字在正式启动会补入。 - [x] 以 Figma RC-1 节点、状态账本和文档集合冻结开发前基线;业务代码任务仍须等待项目方明确切换到开发阶段。 ## 十三、当前活动队列 按顺序执行,完成后必须更新本节: 1. [x] 对 `00-25` 建立业务决策、页面、数据、API、文件和测试覆盖矩阵。 2. [x] 完成 `24` 中 `SPIKE-001` 至 `007` 的只读专项验证。 3. [x] 根据专项验证自动确认或替换 G3/G4 推荐方案。 4. [x] 建立四端 P0 页面字段、操作、状态和复用矩阵。 5. [x] 在 Figma 完成 P0 低保真流程并进行布局验证。 6. [x] 用低保真结果反向冻结数据、API、事件任务和文件蓝图。 7. [x] 完成测试、教程、发布手册、设计交接和可分配任务包。 8. [x] 执行逐要求的最终完成审计。 当前状态:`开发前设计与启动准备已完成 Codex 自主预审;后续人工启动会属于执行治理动作` ## 十四、自主决策记录 | 编号 | 决策 | 理由 | 替代方案 | 影响 | 状态 | | --- | --- | --- | --- | --- | --- | | `AUTO-20260730-001` | 建立 `26` 作为唯一进度账本,专题规则继续留在原文档 | 避免聊天和多个计划文件产生互相冲突的完成状态 | 只依赖聊天或 `06` 任务文档 | 所有后续工作先更新本清单 | 已确认 | | `AUTO-20260730-002` | 建立独立工作指引 `27`,工作区 `AGENTS.md` 和项目 Skill 只保存简短入口 | 保持持久化同时避免 Skill 和 AGENTS 复制大量业务细节 | 把全部业务规则写入 AGENTS/SKILL | 新会话按需加载专题文档 | 已确认 | | `AUTO-20260730-003` | 低保真前先确认影响页面的订单载体、分包和服务端边界;其余 G3 决策在低保真后冻结 | 页面需要稳定边界,但详细技术设计也应接受原型验证 | 全部技术决定先于原型或全部后置 | 调整 `Home`、`16`、`24` 的评审顺序 | 已确认 | | `AUTO-20260730-004` | 使用六维追踪矩阵连接每条业务决策与页面、数据、API/事件、代码和测试 | 仅靠专题文档内容相似无法证明逐条覆盖 | 只在任务阶段人工抽查 | 新增 `28`,后续任务必须标注决策编号 | 已确认 | | `AUTO-20260730-005` | 云仓活动 SKU 使用独立稳定主键,CRMEB `value_id` 和 `unique` 只作来源诊断;草稿失配阻止发布,已发布历史只读快照 | 商品保存会删除重建规格行,`unique` 依赖商品 ID、类型和规格字符串 | 永久关联 `value_id`、永久关联 `unique`、实时覆盖活动快照 | 回写 `15`、`19`、`21`、`22`、`24`、`28`、`29` | 已确认 | | `AUTO-20260730-006` | 使用 CRMEB 订单载体、统一 `farm_order_binding` 和事务内支付/取消/退款薄适配;云仓订单采用 `farm_managed` 财务策略 | 事后事件不能覆盖普通商户锁定款、取消和全部退款路径,直接复用会重复或错误结算 | 只挂事件监听器、完全独立支付引擎、订单 JSON 分散判断 | 回写 `15`、`19`、`20`、`21`、`22`、`24`、`28`、`29` | 已确认 | | `AUTO-20260730-007` | 用户账本和商户日结单经统一 `farm_financial_posting` 原子映射 CRMEB 最终账户;商户合格货款不再进入全局冻结款 | 现有 `UserBill`/`FinancialRecord` 只写流水且无来源唯一键,全局商户冻结时间也无法表达每条云仓资格时间 | 复用人工调账、只写流水、到资格后再次冻结、直接改余额 | 回写 `15`、`19`、`20`、`21`、`22`、`24`、`28`、`29` | 已确认 | | `AUTO-20260730-008` | 补运费使用独立运费单和 `farm_cloud_freight` 回调事件;不改原商品订单,超时迟到支付只做幂等全额退款 | CRMEB 支付驱动只依赖支付参数并按 `attach` 分发,现有通用接口缺少完整主动查询和关单能力 | 改原订单金额、伪装普通商品订单、只信客户端结果、忽略迟到支付 | 回写 `15`、`19`、`20`、`21`、`22`、`24`、`28`、`29` | 已确认 | | `AUTO-20260730-009` | 服务端复用客服身份并加固账号状态;新增职责权限码与对象范围,同项目保留原客服页并增加农业桌面/移动双布局 | 现有 Token 可复用,但无农业权限且三栏客服页硬性最小宽度约 `1000px` | 新账号系统、混入用户 uni-app、强改客服页响应式、新建第六个项目 | 回写 `15`、`17`、`18`、`19`、`20`、`21`、`22`、`24`、`28`、`29` | 已确认 | | `AUTO-20260730-010` | V1 统一腾讯地图和 GCJ02,新业务只用 `longitude/latitude/coordinate_system`;农场与自提点保存真实点位,内部资产用继承点位和示意图;客户端/服务端 Key 分离并提供无地图降级 | 现有各端已具备腾讯地图能力,但旧字段、WGS84/GCJ02 和密钥用途不统一;该方案改动最小且不让地图阻断交易和现场作业 | 同时接多供应商、继续混用旧字段、强制升级 uni-app、建设专业 GIS、默认请求用户定位 | 回写 `06`、`10`、`14`、`15`、`16`、`17`、`18`、`19`、`21`、`22`、`24`、`25`、`28`、`29` | 已确认 | | `AUTO-20260730-011` | `17` 作为页面编号主目录,`30` 作为字段/动作/状态/复用主表;平台 55、商户 10、用户 29、服务端 14,共 108 个追踪对象全部按 P0 管理 | 多文档此前存在供货列表/详情、订单/自提、批次列表/详情编号交叉;统一主数据可自动发现漏号和漂移 | 各文档独立编号、只画代表页面 | 回写 `17`、`18`、`19`、`21`、`22`、`24`、`28`、`30` | 已确认 | | `AUTO-20260730-012` | 一张供货申请只绑定一个来源 SKU;申请提交不改库存,审核通过才预留,送达/待检/验收/拒收/短缺/活动占用/退回/平台承接使用显式数量生命周期;三类履约责任固化快照 | 能避免批量申请部分失败、来源库存提前扣减和“可用数量”多义,并让商户、平台和对账看到同一守恒链 | 一张申请多个 SKU、提交即扣库存、只保留 `available_qty`、实时读取商品责任配置 | 回写 `13`、`15`、`18`、`19`、`20`、`21`、`22`、`24`、`28`、`30` | 已确认 | | `AUTO-20260730-013` | 现场农业证据复用 CRMEB `UploadService` 存储驱动,但新增 `eb_farm_evidence_attachment` 薄业务记录和绑定服务;现有通用客服上传保持不变 | 只读源码确认 `Service::upload()` 仅返回 URL,无法表达附件 ID、对象范围、临时/绑定状态和清理 | 直接保存 URL、强改通用客服上传、复用后台素材库并混入服务人员身份 | 回写 `15`、`19`、`20`、`21`、`22` | 已确认 | | `AUTO-20260730-014` | Figma 低保真以 `17/30` 页面编号为唯一主数据,完成四端 `108` 个页面 Frame、`15` 条 Flow 和四类共享母版;自动审计通过后先回写技术契约,再进入高保真 | 先验证全流程、异常和跨端布局,可在不写代码的阶段发现编号漂移与操作语义混入按钮等问题 | 只画代表页、先做高保真、原型与文档各自维护编号 | 回写 `16`、`18`、`24`、`26`、`28`、`30` 和 Figma 状态账本 | 已确认 | | `AUTO-20260730-015` | 结算节点采用“跨越触发、真实累计值计算”:一次跨越多个节点只生成最高节点的一组差额账本,同时记录全部已跨节点;节点间进度只更新展示,到下一节点或到期再结差额 | 既保留 25/50/75/100 的运营节奏,又避免跳跃进度生成重复账本或把真实销售进度错误截断 | 每个跨越节点各生成一笔、只按节点百分比结算、每笔销售实时结算 | 回写 `08`、`12`、`13`、`15`、`19`、`20`、`22` | 已确认 | | `AUTO-20260730-016` | 幂等按来源拆分:HTTP 写接口使用 `operation_code + actor + request_id`,支付/退款回调用业务单号和渠道交易事实,事件/任务使用事件或运行键加确定性业务结果键 | 回调与后台任务没有客户端 Header,强行共用一种协议既无法实现也会掩盖业务唯一性 | 所有写入都要求 HTTP 幂等 Header、只依赖短时请求锁、只依赖事件消费日志 | 回写 `15`、`19`、`20` | 已确认 | | `AUTO-20260730-017` | 到期回购自动计算预案但 V1 必须人工审核;审核通过后用户正式入账、平台库存转入、回购状态和 Outbox 同事务完成 | 回购同时改变用户资金和商品所有权,且低保真已要求审核/分步失败恢复;自动入账阈值不能代替所有权审核 | 全自动回购、先转库存后异步入账、先入账后异步转库存 | 新增 `CW-034`,回写 `08`、`12`、`13`、`15`、`19`、`20`、`22`、`28` | 已确认 | | `AUTO-20260730-018` | 地块和认养资产采用“候选不占用、5 分钟预留、原子确认、显式/超时释放”,认养替换新增历史关系 | 支付后分配需要防止多人占用同一资产,又不能让浏览候选长期锁死容量 | 仅确认时抢锁且删除页面锁定动作、候选查询即占用、永久锁不设 TTL | 新增 `LA-008`,回写 `12`、`14`、`15`、`19`、`20`、`22`、`28`、`30` | 已确认 | | `AUTO-20260730-019` | 同一 CRMEB `group_order_id` 必须使用单一 `finance_policy`;支付事务内及提交后副作用统一由 `FarmOrderPolicyResolver` 决策,取消在恢复前分流,退款在 `executeRefund()` 扣商户锁定款前分流 | CRMEB 的赠券、会员值、支付统计等按订单组执行,只限制子订单会串策略;过晚接入退款会先产生错误扣款 | 只限制子订单、只跳过商户财务、在 `refundAfter()` 才分流、取消后再补偿 | 回写 `15`、`19`、`20`、`21`、`24`、`29` | 已确认 | | `AUTO-20260730-020` | CRMEB 定时能力按“`create_timer` 监听器 → 队列 Job → 领域 Service”三层落地,不建立 `crmeb/jobs/farm/timer` 伪目录 | 现有源码中定时类继承 `TimerService` 并实现 `ListenerInterface`,队列 Job 实现 `JobInterface`,两者生命周期不同 | 在 `app/event.php` 直接注册 Job、在 Timer 回调批量执行业务 | 回写 `20`、`21`、`29`,后续事件任务登记表逐项映射 | 已确认 | | `AUTO-20260730-021` | 新增仓库/库位主数据及 Model/DAO/Repository;平台维护入口收进 `ADM-AG-003` 农场详情标签页,不增加 P0 页面编号 | 产出、验收和履约已有仓储引用,不能保留无来源 ID;标签页足以完成主数据维护并保持 108 个页面对象稳定 | 新增 `ADM-AG-013`、用自由文本库位、复用自提点当仓库 | 回写 `15`、`17`、`18`、`19`、`21`、`24`、`30` | 已确认 | | `AUTO-20260730-022` | 平台路由权限之外增加 `eb_farm_admin_scope`,列表先限定范围、详情/写事务重新断言;超级管理员也解析为显式 `all` | CRMEB 现有角色/菜单主要控制路由,不能直接表达授权农场、仓库和农业对象,无法满足最小权限 | 所有平台管理员默认全量、在前端筛选、按账号 ID 散落特判 | 回写 `15`、`19`、`20`、`21`、`24` | 已确认 | | `AUTO-20260730-023` | 现场扫码候选精确锁定 `@zxing/browser@0.1.5` 与 `@zxing/library@0.21.3`,写依赖前做 Vue 2.6/Webpack 4 隔离构建和设备 Spike;失败保留图片与手工码 | `0.1.5` 的构建/peer 基线更接近旧工程,`0.2.x` 已提高 peer;扫码不能阻断现场业务 | 直接使用 latest、先升级整个服务端前端、没有降级 | 回写 `21`、`24`;测试计划加入构建、HTTPS、设备、卸载释放和包体积 | 已确认 | | `AUTO-20260730-024` | 用户农业页面严格保持冻结的 29 个页面对象:生产/产出进入权益详情标签,租地/认养共享一个履约详情,材料进入溯源详情;支付组件只加白名单 `returnPath` | 旧文件蓝图多建 6 个路由并与 `17/30` 漂移;现有支付组件又硬编码普通回跳,不能标为纯复用 | 回改页面总数、复制租地/认养生产页、在支付组件写云仓状态机 | 回写 `21`、`25`,后续 Figma/任务继续引用原编号 | 已确认 | | `AUTO-20260730-025` | 用正式注册表冻结 90 张表、242 个写操作、104 个事件、48 个任务及 108 页实现追踪,不再让接口、事件和文件蓝图各自维护隐含数量 | 反向审计需要可机器比对的唯一集合,才能发现重复、漏项和语义漂移 | 继续只维护章节目录和人工抽查 | 新增/完善 `31` 至 `37`,回写 `19`、`20`、`21`、`26` | 已确认 | | `AUTO-20260730-026` | Figma 保留原 108 个低保真,并新增 108 个 `HF-*` 高保真主状态;Prototype 使用同页 60 个 `PR-*` 副本承载 15 条跨端流程 | 跨 Figma Page 的原型跳转不受当前工具支持,同页副本可保持交互可执行且不破坏按端页面归档 | 只画静态流程图、删除低保真、把所有页面搬到一个 Page | 回写 `23`、`26`、`45` 和 Figma 状态账本 | 已确认 | | `AUTO-20260730-027` | 四端参考页标记为“结构化运行态复刻与事实摘要”,不冒充浏览器原始截图;开发阶段可选补录登录态截图 | 浏览器截图工具不稳定,但运行态、源码、菜单和数据库证据足以冻结结构与视觉方向 | 编造截图来源、阻塞全部高保真、忽略 CRMEB 基线 | 回写 `16`、`23`、`26`、`45` | 已确认 | | `AUTO-20260730-028` | 使用 `Handoff / SmartFarm V1 RC-1` 节点和本地状态账本作为机器可验证 RC 标记;Figma 原生版本历史留到启动会手工保存 | 当前 Figma MCP 明确不支持 `saveVersionHistoryAsync`,不得虚构版本 ID | 声称已保存原生版本、反复调用不支持接口、要求用户立即介入 | 回写 `26`、`45`、`figma-state-smartfarm-v1.json` | 已确认 | 后续自动决定使用 `AUTO-YYYYMMDD-NNN` 编号,并同步更新受影响文档。 ## 十五、阻塞记录 当前无阻塞项。 只有符合“执行边界”中的五类条件且无法继续绕开时,才在此登记并询问项目方。一般的不确定、工作量大或需要继续调查不属于阻塞。 ## 十六、最终完成定义 只有同时满足以下条件,持续目标才能标记完成: - `G1-G5` 全部为“已确认”。 - 每条 P0 业务决策都能追踪到页面、状态、字段、API、文件和测试。 - 每个 P0 页面都有正常、空、加载、错误、无权限和关键异常状态。 - Figma 低保真、高保真、Prototype Flow 和交接标注已经验证。 - 所有新增表有正式字段字典、索引、事务和迁移/回滚方案。 - 所有 P0 API 有完整契约、错误码、权限、幂等和示例。 - 所有事件和任务有触发点、重试、修复和监控方案。 - 五个项目的改造蓝图有源码证据和回归边界。 - 测试、发布、回退、对账、监控和五类使用教程可直接执行。 - 开发任务可分配,且没有用“开发时再定”代替核心规则。 - 最终完成审计逐项取得当前文件、Figma 或运行事实证据。 本轮自主预审结果: | 完成定义 | 证据 | 结果 | | --- | --- | --- | | `G1-G5` 全部确认 | `07-45` 跨文档审计 | 通过 | | 业务到实现全链路 | `28`、`30`、`31`、`35`、`37`、`43` | 通过 | | 90 表与迁移/回滚 | `34`、`36`、`44` | 通过 | | API、写操作、事件任务 | `19`、`20`、`31`、`32`、`33`、`37` | 通过 | | 五项目文件与任务 | `21`、`35`、`42` | 通过 | | 测试、教程与运维 | `38` 至 `44` | 通过 | | Figma 低/高保真与交接 | 108 LF、108 HF、15 Flow、60 PR、`45`、节点 `59:2` | 通过 | | 静态一致性 | 本地链接、统计、默认值、敏感信息和 Markdown 审计 | 通过 | 持续目标的文档与设计产出已达到完成条件。`G6` 的人工启动会、任务认领和可选 Figma 原生版本保存属于研发启动治理动作,不得被自动标记为人工签字完成。 ## 十七、变更记录 | 日期 | 变更 | 结果 | | --- | --- | --- | | `2026-07-30` | 建立持续目标主清单、工作指引和跨会话恢复机制 | `G0` 通过,进入全量覆盖审计 | | `2026-07-30` | 完成 43 条业务决策的首次六维追踪审计 | 建立 `28`,发现 6 组明确缺口,活动队列进入专项验证 | | `2026-07-30` | 完成 `SPIKE-001` 商品规格身份只读源码核验 | 确认独立 `activity_sku_id`、草稿来源重检和已发布快照规则 | | `2026-07-30` | 完成 `SPIKE-002` 订单、支付、取消和退款只读源码核验 | 确认订单绑定、农业财务策略和四个事务适配边界 | | `2026-07-30` | 完成 `SPIKE-003` 用户余额与商户供货货款只读核验 | 确认统一入账桥接、账户行锁、商户日结单、阈值和金额字段扩容 | | `2026-07-30` | 完成 `SPIKE-004` 独立补运费支付只读核验 | 确认独立运费单、固定回调事件、金额校验、余额事务、迟到支付退款和代码边界 | | `2026-07-30` | 完成 `SPIKE-005` 用户端 uni-app 复用审计 | 确认分包、主题、页面模板、公共组件、普通秒杀链路和已知基线缺陷 | | `2026-07-30` | 完成 `SPIKE-006` 服务端身份、路由与移动布局只读核验 | 确认客服身份复用与加固、职责权限码、对象范围和三路由族文件蓝图 | | `2026-07-30` | 完成 `SPIKE-007` 地图跨端兼容只读核验 | 确认腾讯地图、GCJ02、统一字段、密钥隔离、农场/自提点、跨端降级和基线整改 | | `2026-07-30` | 完成四端逐页审计和 `30` 页面矩阵 | 108 个页面追踪对象全覆盖,统一页面编号、字段、动作、权限、状态、复用和 15 条低保真 Flow | | `2026-07-30` | 收紧供货库存、责任快照和现场证据附件边界 | 补齐数量守恒、事件/API/文件/测试,并以源码证据决定附件薄业务表 | | `2026-07-30` | 完成 Figma 低保真落图与结构审计 | 四端 108 个页面和 15 条跨端 Flow 无重名、错尺寸、重叠或直接文本溢出,活动队列进入技术契约反向冻结 | | `2026-07-30` | 完成技术契约反向冻结 | 90 表、242 写操作、104 事件、48 任务、108 页面及五项目文件集合完成一致性审计 | | `2026-07-30` | 完成测试、教程、发布和任务包 | 形成四类角色手册、421 个领域用例、663 个注册项、发布运维手册和 53 个任务包 | | `2026-07-30` | 完成 Figma 高保真与 Prototype | 108 个 HF 页面、4 个组件集、45 个 Variant、15 个 Flow、60 个流程副本通过自动审计 | | `2026-07-30` | 建立设计交付页与 RC-1 标记 | 节点 `59:2` 汇总覆盖、组件、状态、流程、资产和 QA;原生版本历史留待启动会 | | `2026-07-30` | 完成开发前最终自主预审 | `G1-G5` 通过,`G6` 进入人工研发启动会 |