feat(M09-D4): 完成商品选购与运营工作台

This commit is contained in:
Codex
2026-08-11 08:06:13 +08:00
parent 60264cbd11
commit e91b979128
32 changed files with 1065 additions and 60 deletions
+31 -25
View File
@@ -1,11 +1,11 @@
# 自助棋牌室系统开发总纲(V5.7
> 文档版本:V5.7(中文 Git 提交门禁 + `1a3ea7b` 最新已推送源码校准 + M09-D3 在制收口 + 持续工程开发版)
> 文档版本:V5.7(中文 Git 提交门禁 + `60264cb` 最新已推送源码校准 + M09-D4 在制收口 + 持续工程开发版)
> 更新日期:2026-08-11Asia/Shanghai
> 直接前序版本:V5.6;本文完整继承 V5.6 的全部功能、架构、协议、部署、安全、测试、验收和持续开发要求。
> 最新已审计提交证据:`1a3ea7bdf0bc55f85a87ef3c251fc7bbeb7d1620`,且接管时 `HEAD == origin/main`;其后的 M09-D3 工作区代码随本次中文工程提交固化。
> 默认执行起点:保护并继续完成当前 M09-D3 在制工作;通过编译、全量测试、真实 MySQL 往返静态门禁并以中文提交推送后,进入 `M09-D4 → M09-REGRESSION → M10-A/B/C/D → M10-RC1`
> 最新已审计提交证据:`60264cbd11e3cbb759d40405ba364238a8a2c559`,且接管时 `HEAD == origin/main`;其后的 M09-D4 工作区代码随本次中文工程提交固化。
> 默认执行起点:M09-D4 已通过编译、Windows 全量、真实 MySQL 往返静态门禁并随本次中文工程提交固化;推送校验后进入 `M09-REGRESSION → M10-A/B/C/D → M10-RC1`
> 唯一交接目标:Codex 只阅读根目录 `V5.7.md`,即可保护当前工作区,直接继续工程编码、测试、中文提交、推送和远端校验,自动推进至 `CODE_COMPLETE`,外部条件具备后继续至 `PRODUCTION_ACCEPTED`
> **V5.7 最高优先级控制规则:** 本文开头“V5.7 增量控制层”和全文最后“第 30 章 V5.7 最终固定游标”共同构成唯一当前执行入口,优先于中间完整继承的 V5.6/V5.5/V5.4 历史标题、旧 HEAD、旧队列、旧示例和旧入口。中间历史正文继续作为完整需求与验收依据,但不得据此把执行游标回退到已经有工程证据的阶段。
@@ -15,18 +15,19 @@
# V5.7 增量控制层
## V5.7-0 M09-D3 收口覆盖层(2026-08-11 最新真实仓库)
## V5.7-0 M09-D4 收口覆盖层(2026-08-11 最新真实仓库)
本节记录 `1a3ea7b + M09-D3 在制工作区` 的真实工程进展,优先于下方审计快照中的 M09-D1 恢复说明、旧 HEAD 和旧游标描述:
本节记录 `60264cb + M09-D4 在制工作区` 的真实工程进展,优先于下方审计快照中的 M09-D1 恢复说明、旧 HEAD 和旧游标描述:
- Git 中文提交门禁已由 `2de796143ff418d681fdb972040b8555a8e058d1` 提交并推送;M09-D1 已由 `93af128002c27ea548e9ed7d0c9af7b8f264002a``feat(M09-D1): 完成商品目录与库存流水底座` 中文业务提交闭环,接管时 `HEAD == origin/main`
- M09-D2 已由 `1a3ea7bdf0bc55f85a87ef3c251fc7bbeb7d1620``feat(M09-D2): 完成商品订单与库存占用生命周期` 中文业务提交闭环并推送,接管时 `HEAD == origin/main`
- M09-D3 当前工作树已完成寄存记录、寄存明细、不可变状态事件和逐项数量流水 4 张表;来源限定为已完成商品订单或受控员工手工创建。
- M09-D3 已完成寄存记录、寄存明细、不可变状态事件和逐项数量流水 4 张表;来源限定为已完成商品订单或受控员工手工创建。
- 顾客本人或授权员工可分次领取;领取凭证仅保存 SHA-256,部分领取后自动轮换,终态消费,创建和动作重放均不重新泄露已签发原文。行锁、版本 CAS、幂等事件和有限事务重试保证并发不超领。
- 顾客与管理 API、`goods.storage.read/manage`、租户/门店范围、审计和通知 outbox 已接线;M09-D3 静态门禁、后端 build/full test 已通过。
- WSL MySQL 8.4.10 的 `up → verify → down → up → verify` 已通过,计数为 217 up、159 verify、199 down;跨租户/跨寄存人拒绝、超量拒绝、部分取出、旧凭证失效、并发全量取出单赢家、取消、过期和不可变流水均有真实数据库证据。
- M09-D3 工程与本文档伴随记录待`feat(M09-D3): 完成商品寄存与安全取出闭环` 中文业务提交取得 SHA;文档不得虚构尚未产生的提交号
- 唯一执行游标已推进到 `M09-D4`,下一目标为顾客小程序与运营后台商品订单、库存、寄存取出界面。M09-D1/D2/D3 若出现回归只做针对性修复,不得删除重做
- M09-D3 已由 `60264cbd11e3cbb759d40405ba364238a8a2c559` `feat(M09-D3): 完成商品寄存与安全取出闭环` 中文业务提交闭环并推送
- M09-D4 当前工作树已新增登录态顾客目录、小程序选购/商品订单/寄存取出页面,以及按目录、库存、订单、寄存 capability 分域的 Vue 商品运营工作台;一次性领取码只在签发当次页面内存显示
- M09-D4 已通过 Windows 71.6 秒全量与 MySQL 8.4.10 的 217 up、159 verify、199 down 往返;唯一执行游标随本次中文提交推进到 `M09-REGRESSION`。M09-D1/D2/D3/D4 若出现回归只做针对性修复,不得删除重做。
## V5.7-1 本次升级的唯一事实边界
@@ -7071,14 +7072,14 @@ TARGET=CODE_COMPLETE_THEN_RELEASE_CANDIDATE_THEN_PRODUCTION_ACCEPTED
execution_cursor_v57:
document_version: V5.7
audited_snapshot_sha256: cc802fecbea399698e0a9c1b38127bc12ff260d8f4d6a084828108307f557d6f
evidence_head: 1a3ea7bdf0bc55f85a87ef3c251fc7bbeb7d1620
evidence_origin_main: 1a3ea7bdf0bc55f85a87ef3c251fc7bbeb7d1620
evidence_head: 60264cbd11e3cbb759d40405ba364238a8a2c559
evidence_origin_main: 60264cbd11e3cbb759d40405ba364238a8a2c559
base_branch: main
remote: ssh://git@git.txyundm.cn:2222/panda/qipai.git
current_stage: M09-D4
current_stage_status: TODO_AFTER_M09_D3_WORKTREE_CLOSURE
last_completed_functional_stage: M09-D3
last_engineering_commit: 1a3ea7bdf0bc55f85a87ef3c251fc7bbeb7d1620
current_stage: M09-REGRESSION
current_stage_status: TODO_AFTER_M09_D4_CURRENT_COMMIT
last_completed_functional_stage: M09-D4
last_engineering_commit: 60264cbd11e3cbb759d40405ba364238a8a2c559
last_tooling_commit: 2de796143ff418d681fdb972040b8555a8e058d1
m09_d1_business_commit: 93af128002c27ea548e9ed7d0c9af7b8f264002a
m09_d1_static_gate: PASS
@@ -7093,13 +7094,19 @@ execution_cursor_v57:
m09_d2_mysql_84_roundtrip: PASS_201_UP_150_VERIFY_187_DOWN
m09_d2_concurrent_payment_deduct: PASS
m09_d2_cancel_timeout_refund_inventory: PASS
m09_d3_business_commit: PENDING_CURRENT_CHINESE_ENGINEERING_COMMIT
m09_d3_business_commit: 60264cbd11e3cbb759d40405ba364238a8a2c559
m09_d3_static_gate: PASS
m09_d3_backend_build_and_full_test: PASS
m09_d3_mysql_84_roundtrip: PASS_217_UP_159_VERIFY_199_DOWN
m09_d3_one_time_credential: PASS
m09_d3_concurrent_retrieval: PASS
default_next_stage: M09-REGRESSION
m09_d4_business_commit: PENDING_CURRENT_CHINESE_ENGINEERING_COMMIT
m09_d4_static_gate: PASS
m09_d4_windows_full_test: PASS_71_6_SECONDS
m09_d4_admin_build_and_test: PASS
m09_d4_mysql_84_roundtrip: PASS_217_UP_159_VERIFY_199_DOWN
m09_d4_one_time_credential_not_persisted: PASS
default_next_stage: M10-A
actual_head_policy: REAL_REPOSITORY_EVIDENCE_WINS
worktree_protected: true
unresolved_deletions_policy: EXCLUDE_FROM_STAGE_COMMIT_UNTIL_USER_CONFIRMS
@@ -7113,13 +7120,12 @@ execution_cursor_v57:
auto_continue_until_code_complete: true
```
真实 `D:\qipai` 若有 `1a3ea7b` 之后的提交,Codex 必须以 `git merge-base`、diff、迁移、代码、测试、提交和远端 SHA 判断进度,自动跳到第一个未完成阶段。当前 M09-D3 的推进依据是寄存取出工程、迁移、测试与真实 MySQL 共同证据,不是 docs-only 状态变更;伴随业务提交尚未完成,先保护并提交当前工作树,再继续 M09-D4
真实 `D:\qipai` 若有 `60264cb` 之后的提交,Codex 必须以 `git merge-base`、diff、迁移、代码、测试、提交和远端 SHA 判断进度,自动跳到第一个未完成阶段。当前 M09-D4 的推进依据是顾客/运营工程、静态门禁、Windows 全量与真实 MySQL 共同证据,不是 docs-only 状态变更;伴随业务提交完成后进入 M09-REGRESSION
## 30.2 最终唯一队列
```text
M09-D4
→ M09-REGRESSION
M09-REGRESSION
→ M10-A
→ M10-B
→ M10-C
@@ -7130,13 +7136,13 @@ M09-D4
→ PRODUCTION_ACCEPTED
```
Git 中文门禁和 M09-D1/D2 已由真实工程提交闭环;M09-D3 当前伴随业务提交必须完成中文 commit、push 和远端校验后继续 M09-D4。不能依据文档中的 `DONE` 单独跳过其他阶段;已完成阶段若出现回归,只做针对性修复,不得重启整个模块。
Git 中文门禁和 M09-D1/D2/D3 已由真实工程提交闭环;M09-D4 当前伴随业务提交必须完成中文 commit、push 和远端校验后继续 M09-REGRESSION。不能依据文档中的 `DONE` 单独跳过其他阶段;已完成阶段若出现回归,只做针对性修复,不得重启整个模块。
M09-D3 的唯一允许推进条件:
M09-D4 的唯一允许推进条件:
```text
M09_D3_WORKTREE_PROTECTED=PASS
M09_D3_STATIC_GATE=PASS
M09_D4_WORKTREE_PROTECTED=PASS
M09_D4_STATIC_GATE=PASS
BACKEND_BUILD=PASS
BACKEND_FULL_TEST=PASS
MYSQL_84_ROUNDTRIP=PASS
@@ -7147,7 +7153,7 @@ PUSH_VERIFIED=PASS
REMOTE_COMMIT_SUBJECT_CN=PASS
```
任一项未通过时保持 `CURRENT_STAGE=M09-D3`,修复后重跑;不能先更新为 DONE 或进入 M09-D4
任一项未通过时保持 `CURRENT_STAGE=M09-D4`,修复后重跑;不能先更新为 DONE 或进入 M09-REGRESSION
## 30.3 每次提交和推送的最终语言门禁
@@ -7208,4 +7214,4 @@ USER_FACING_LANGUAGE=ZH_CN
请阅读 V5.7.md,按当前进度继续开发。
```
Codex 读取后直接核验真实仓库,保护已完成阶段与未决删除;若 M09-D3 工作树尚未提交,完成 `feat(M09-D3): 完成商品寄存与安全取出闭环` 中文 commit、push 和远端校验,然后从 M09-D4 建立顾客与运营端商品工作台并沿唯一队列持续推进。禁止先生成替代计划文档,禁止只改 Markdown,禁止删除已完成工程重做,禁止把未决删除混入业务提交,禁止把英文摘要推送到远端,禁止把外部阻塞扩大为内部停工理由。
Codex 读取后直接核验真实仓库,保护已完成阶段与未决删除;若 M09-D4 工作树尚未提交,完成 `feat(M09-D4): 完成商品选购与运营工作台` 中文 commit、push 和远端校验,然后从 M09-REGRESSION 完成商品域全链路对账并沿唯一队列持续推进。禁止先生成替代计划文档,禁止只改 Markdown,禁止删除已完成工程重做,禁止把未决删除混入业务提交,禁止把英文摘要推送到远端,禁止把外部阻塞扩大为内部停工理由。