- P0-1 money-loss:AccountServiceImpl settlePaid/refundFrozen 更新 0 行原只 log.error 不抛→改抛 TRADE_ACCOUNT_FROZEN_NOT_ENOUGH(错误码 1-106-001-002),让 handlePayoutNotify(@Transactional)的 status CAS 与账户动作一并回滚,杜绝"状态已置终态、资金没动"半态 commit 破 balance+frozen+total_withdraw=total_income 恒等式;对齐既有 freeze 0 行抛错范式 - P0-2 切渠道误驱动:PayoutClientFactory 加 byChannel(channel)(current() 委托之、fail-fast 收敛一处);compensateStuckPayouts 改用 byChannel(w.getChannel()) 按提现单记录渠道查终态,而非当前 Nacos 渠道——切渠道(mock→wxpay)不再用错渠道 client 误驱动 1→2/1→4 - 单测+5:0行抛错(settle/refund)/回滚透传(handlePayoutNotify)/byChannel(注册·未注册fail-fast)/compensate 渠道路由;mini trade-server 46 测全绿(41→46)零回归 - Codex 佐证:同 bizNo 并发/成功失败回调赛跑/审核驳回赛跑均被 uk_biz_no/status CAS 挡住(安全),无新增 P0 - 余 P1/P2(mock 渠道崩溃卡单兜底/ad 回调空 secret 铸币面/setSql 预防)待 Codex 完整报告后续修 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
52 lines
2.3 KiB
Plaintext
52 lines
2.3 KiB
Plaintext
node_modules/
|
||
.pnpm-store/
|
||
|
||
dist/
|
||
build/
|
||
coverage/
|
||
.next/
|
||
.turbo/
|
||
.vite/
|
||
|
||
.env
|
||
.env.*
|
||
!.env.example
|
||
|
||
.idea/
|
||
*.log
|
||
.DS_Store
|
||
.gstack/
|
||
|
||
# ── 例外 1:源码树(src/)下名为 build 的目录是合法源码,绝非构建产物 ──
|
||
# 第 5 行笼统的 build/(为构建产物设计)会误吞 Java/前端源码中名为 build 的包/目录,例如:
|
||
# 后端 com.wanxiang.huijing.game.module.runtime.{dal.dataobject,dal.mysql,service}.build(编译任务域,4 文件)、
|
||
# 前端 game-admin/src/views/infra/build。
|
||
# 构建产物绝不落在 src/ 下,故一律豁免 src/ 下的 build/,避免克隆/CI 缺源码而编译失败。
|
||
!**/src/**/build/
|
||
!**/src/**/build/**
|
||
|
||
# ── 例外 2:game-admin(huijing 前端 fork)模块根级例外 ──
|
||
# huijing 约定将「模块根」build/(vite 插件配置源码,不在 src 下,故需单独豁免)与 .env*(前端构建配置,非密钥)纳入版本库。
|
||
!game-admin/build/
|
||
!game-admin/build/**
|
||
!game-admin/.env
|
||
!game-admin/.env.dev
|
||
!game-admin/.env.local
|
||
!game-admin/.env.prod
|
||
!game-admin/.env.stage
|
||
!game-admin/.env.test
|
||
|
||
# ── 例外 3:game-studio 联调 env(staging 后端地址 + studio token,非密钥,须入库供 mini-desktop 克隆联调)──
|
||
# 同 gitignore-swallows-frontend-source 记忆:根 .env.* 笼统忽略会吞掉 game-studio/.env.staging,
|
||
# 致 mini-desktop 匿名克隆后拿不到联调配置、vite --mode staging 起不来。故显式豁免。
|
||
!game-studio/.env.staging
|
||
|
||
# ── Python 字节码缓存:QA 编排器/评估脚本运行即生成,纯缓存可重建;目录名固定,无误吞源码风险(不同于上面 build/ 的教训)──
|
||
__pycache__/
|
||
.pytest_cache/
|
||
|
||
# ── 存储分层 H3(2026-06-16 agent-specs 目录治理,配套 .agents/rules/engineering-conventions.md §10.3)──
|
||
# docs/agent-specs/ 只放文档(*.md);spike 代码/批跑证据(hash 目录/jsonl/截图)/模型原始输出等可重生成产物不入文档树。
|
||
# __pycache__/ 与 node_modules/ 已由上方全局规则拦截;新 spike 原始 json/png 默认 untracked、勿 git add 批量产物。
|
||
# 注意(遵 gitignore-swallows-frontend-source 教训):此处不设 *.json/*.png 笼统忽略,以免误吞 contracts/ 等业务目录下的合法同类文件——分层靠规范 + 收口第 8 步执行,不靠笼统 glob。
|