shinnosuke
2026-09-18 c2f0ec3b3891bc177bdc58c2a111ab9c4fea911d
AGENTS.md
@@ -12,28 +12,33 @@
采用单上下文布局:根目录 `CONTEXT.md`,ADR 位于 `docs/adr/`。详见 `docs/agents/domain.md`。
### 工作范围:只动支付
### 工作范围:按业务域分工,不要越界
本仓库由多人分工,且约定**互不越界**:另一位同事负责支付以外的全部业务,本会话(AI 协作)只负责
**支付链路**——汇付/斗拱进件、支付、核销后的资金确认、自动结算与结算记录、退款,以及验证这条链路
所必需的本地库与工具改动。
本仓库由多人**按业务域分工**(支付链路一人,其余业务一人),彼此约定**互不越界**——越界改动会在
git 合并时产生大量冲突。本节适用于**所有**在仓库里工作的人和 AI 会话,与具体是谁无关。
其他业务(家属卡、洗车、停车、票券包、权益规则、资讯、各类申请审核等)**只做只读排查**:可以读代码、
查库、跑 SQL、给出结论和建议;**不要修改这些业务的代码、迁移和前端**。改多了会在 git 合并时产生大量
冲突,这是约定要避免的代价。
需要修其他业务的缺陷时,把「现象 + 根因 + 证据 + 建议改法」整理成 Markdown 交给用户转给同事,不要直接动手。
共享文件更要克制(`talent-card-admin/src/api/admin.ts`、`src/router/index.ts`、`src/layouts/AdminLayout.vue`、
`talent-card-server/src/main/resources/application.yml`、`AdminBusinessService.java`、`CONTEXT.md`):
只做支付相关的**增量小改**,不要顺手重构或格式化别人的区域。
- **只改用户本次指派范围内的代码、迁移和前端。** 范围以用户的说明为准;用户没说清、或任务看起来横跨
  多个业务域时,先问,不要自己扩大范围。
- **范围外的业务只做只读排查**:可以读代码、查库、跑 SQL、给出结论和建议,但不要直接改它的代码、
  迁移和前端。域划分大致是:**支付链路**=汇付/斗拱进件与开通、支付、核销后的资金确认、自动结算与
  结算记录、退款;**其余业务**=家属卡、洗车、停车、票券包、权益规则、资讯、各类申请审核等。
  (根目录 `CONTEXT.md` 是**术语表**,里面没有代码位置。)
- 需要修范围外的缺陷时,把「现象 + 根因 + 证据 + 建议改法」整理成 Markdown(放
  `.scratch/<feature-slug>/issues/`)交给用户转给该业务的负责人,不要直接动手。
- **迁移编号是全仓共享的**:新增迁移前先看 `talent-card-server/src/main/resources/db/migration/` 里当前
  的最大版本号,避免与他人撞号。
- **共享文件更要克制**(`talent-card-admin/src/api/admin.ts`、`src/router/index.ts`、
  `src/layouts/AdminLayout.vue`、`talent-card-server/src/main/resources/application.yml`、
  `AdminBusinessService.java`、`CONTEXT.md`):只做自己范围内的**增量小改**,不要顺手重构或格式化
  别人的区域。
### 服务器测试与数据库
后端测试跑在共享的 MySQL 测试库上。跑测试用 `talent-card-server/scripts/run-server-tests.ps1`,
重置库用 `talent-card-server/scripts/reset-test-db.ps1`,并遵守:已执行的迁移只追加不修改、同一
checkout 一次只跑一个 Maven 构建、不要 `drop database`。详见 `docs/agents/testing.md`(含 3 项已知
基线失败,不要为证明它们"是既有的"而重复造 worktree)。
checkout 一次只跑一个 Maven 构建、不要 `drop database`。详见 `docs/agents/testing.md`(**开发库与
测试库是哪两个库、什么版本**、3 项已知基线失败,以及一类会随测试库累积而出现的环境相关失败;不要为
证明它们是"既有的"而重复造 worktree)。
### Git 提交