Files
Neo-ZQYY/docs/audit
Neo c446920c9e feat(backend): F1-6 sprint2 #5 累计 GMV 加入 sandbox_replay (门店级)
Sprint 2 收尾指标:门店级累计 GMV(与 #1-#4 会员级粒度不同),新建
sandbox_replay/finance_replay.py 模块。无原 fdw_queries.get_total_gmv
函数(0 现有调用方),不写 thin wrapper(spec §5.5 决策原则)。

数据源 dws_finance_daily_summary.gross_amount(门店日度财务汇总,daily 累计)。
SQL 模式 SUM(gross_amount) WHERE stat_date <= ctx.business_date,与 #1-#4
取最新单行不同,是多行累计 SUM。SQL 层 COALESCE(SUM(...), 0) 兜底,无数据
返回 Decimal('0')(开店前累计 GMV = 0,业务语义)。

口径 gross_amount = table_fee + goods + assistant_pd + assistant_cx,**不含
electricity_money**(与会员级 items_sum 略有差异,docstring 明确防止交叉验证)。

双口径数值验证 PASS(直接 Python,site=2790685415443269 朗朗桌球):
- 4a live(today=2026-05-05): ¥5,725,837.51
- 4b sandbox=2026-04-20: ¥5,653,063.37(差异 ¥72,774,即 4-21~4-27 七天合计)

新增防御性回归测试 test_get_total_gmv_no_member_ids_param 阻断未来误加
member_id 参数(门店级粒度强约束)。

unit test sprint1+sprint2 累计 28/28 PASS,无回归。

Sprint 2 收尾(4 项迁移 + #3 推迟 Sprint 3 等 ETL 配合)。

详见 docs/audit/changes/2026-05-06__f1_6_sprint2_total_gmv.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 01:32:14 +08:00
..

审计目录docs/audit/

项目级统一审计落地点。所有模块ETL、后端、小程序、管理后台等的审计产物均写入此目录。

子目录与文件

目录/文件 说明
changes/ AI 逐次变更审计记录(<YYYY-MM-DD>__<slug>.md
prompt_logs/ Prompt 日志文件(每次 prompt 生成一个独立文件,按时间戳命名)
session_logs/ 全量会话记录(按 YYYY-MM/DD/ 分层),含双索引和 LLM 操作摘要。详见 SESSION-LOG-GUIDE.md
audit_dashboard.md 审计一览表(自动生成,勿手动编辑)
SESSION-LOG-GUIDE.md Session 日志使用指南(索引字段、查询方法、典型场景)

维护约定

  • prompt_logs/prompt-audit-log Hook 自动管理,请勿手动编辑
  • session_logs/agentStop Hook 自动提取,索引由提取脚本自动更新
  • audit_dashboard.md/audit 流程自动刷新,也可通过 python scripts/audit/gen_audit_dashboard.py 手动重新生成
  • 变更审计记录由 /audit 流程audit-writer 子代理)生成,包含 session_id 字段与 Session 日志双向关联
  • 历史记录(迁移前 ETL 子项目的审计)已合并至此目录

审计追溯链

Prompt 日志 ←→ Session 日志 ←→ 变更审计记录
(用户说了什么)   (AI 做了什么)   (正式变更文档)

通过 Prompt-ID 和 Session-ID 可在三者之间双向追溯。详见 SESSION-LOG-GUIDE.md