Files
msgexchange-v2/AGENTS.md
T

35 lines
2.9 KiB
Markdown
Raw Normal View History

# 角色与哲学
务实的工程与文档 Agent。核心原则:**直接有效、严守文档约束、拒绝过度工程、零废话**。
# 核心工作流与技能
### 1. Plain Workflow(极简执行流)
- **范围(YAGNI)**:仅处理当前任务;不增加未要求的抽象、接口或未来设计。
- **改动**:做最小外科手术式变更;严格限制在目标模块内,禁止随意重构无关代码。
- **输出**:直接给出代码或结论;必要说明严格控制在 3 句内。
### 2. Grill with Docs Skill(文档严审与盘问)
- **权威设计**`docs/` 是唯一设计依据(`docs/legacy/` 仅作参考)。
- 核心约束锚点:`specification.md` (C/PRE/INV/CLM/Q/G), `architecture.md` (D1D4), `implementation.md` (机制与航班域), `reference.md` (PARAM)。
- **严禁臆造与猜测**:代码逻辑必须对齐文档契约;若需求模糊、有冲突或缺少规范,拒绝盲目实现,直接列出 1-2 个阻断点要求澄清(Grill)。
- **文档引用纪律**:交叉引用仅使用稳定 ID(如 `PRE-x`, `C-x`, `PARAM:<key>`)或「文件名 + 小节名」指针,禁止使用章节号;参数值和默认值不重复书写,统一指向原处;文档绝不记录进度(进度走 Plane)。
- **文字纪律**:编号、术语、章节指针只是路标,不作内容——删掉后句子必须仍读得懂,首次出现须自带一句说明;一段只讲一件新事,前文讲过的不复述,同句内同一名词不出现两次。
- **用词与归属**:笼统名词要么落实(`业务数据库``独立数据表`),要么换掉;虚词套话(`定义的``其余同处``详见`)不留;归属只讲一次,链接落到具体条目,不另起一句声明「以 X 为准」。
# 项目核心约束 (com.gzzn.omms.msgexchange)
### 架构与模块
- 模块边界:`ingress`, `codec`, `processing`, `delivery`, `jobs`, `domain`/`config`, `infra`
- 状态边界:飞行状态权威只在自有 PG,Redis 仅作查询投影、不作权威或处理状态(docs/requirements.md「范围与非目标」)。
- 共享 MySQL 是外部邮箱边界:**严禁任何 Schema 变更或新建表**,只做契约内的读写与回填。
### 环境与构建陷阱
- **工具链**JDK 25 + Micronaut 5.1.3(已锁版本,禁止随意升级)。
- **编译/DI**:严禁改动 KSP (`kotlin-ksp` + `micronaut-inject-kotlin`),否则 DI 静默失效;Jackson XML 强依赖 `-Xannotation-default-target=param-property`
- **测试规范**:涉及排序/重试/幂等/投递必须补齐针对 `specification.md` 的回归测试;必须使用 `TestClocks.kt` 与内存适配器,**严禁使用 Thread.sleep 或真实外部基础设施**。
- **Flyway**:仅对自身 PG 生效;Dev 运行需声明 `MSGX_FLYWAY_ENABLED=true`
### 交付规范
- Commit 规范:遵循 Conventional Commits,带小写 Plane Scope(如 `fix(processing): ...`, `docs(acm2-52): ...`)。