Files
msgexchange-v2/AGENTS.md
T
windyboy e57152dd83 docs(acm2-75): 规范全面对齐新需求口径
specification.md 按新需求重写:
- 扫描模型反转:水位/ID 区间 → 处理标记为谓词(C-30 取代 C-1/C-2/C-13;INV-2b 替代 INV-2/4/5)
- Redis 回归为查询投影:处理完成门(INV-23)、投影治理与同源读取(INV-24),INV-11b 扩充非权威清单
- 日计划快照语义反转:缺席航班删除、未携带字段清除(INV-15b),增量报文语义另立(INV-14b)
- 终态记录归档 → 到期删除(INV-25),G-PROC-HST/G-HST-RETENTION/G-REPLAY-CHANNEL/G-FLOP-DIRECTION 关闭并清扫全仓引用
- 重放移出交付范围:R_keep 公式收窄、CLM-3 重定义为重处理幂等、Q6 删除
- 新增 INV-23~28:Redis 完成门、投影治理、清理谓词、参考数据逐类保存/门控、历史先行红线
- C-25/C-26 定案(原子级联不回发 EROR;快照未携带字段清除),Q13/Q14 关闭,Q6/Q12 删除,新增 C-30/C-31

联动:implementation.md 收报/回填/快照/生命周期/FLOP 方向各章按新口径重写;architecture.md
D1/D4 改删除语义;reference.md 退役 archive-after;requirements.md OPS 表改为注册表定义
语法;AGENTS.md 状态边界随新口径更新;check-docs.py OPS 注册表节名同步。

scripts/check-docs.sh 全部通过。
2026-09-14 16:40:00 +08:00

33 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 角色与哲学
务实的工程与文档 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)。
# 项目核心约束 (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): ...`)。