Files
msgexchange-v2/AGENTS.md
T
windyboy ca7c36ef38 docs(acm2-75): 精简重构架构文档并对齐两段事务口径
- architecture.md:§1–§7 全文精简重构——图收敛为拓扑、主流程改七步时序+类别差异表、
  约束红线去行话、数据归属去黑话、关键决策按章程瘦身为 D1/D2
- specification.md:INV-17b 补静态参考数据单事务口径
- implementation/reference/README/requirements:对齐扫描谓词与两段事务表述
- AGENTS.md:新增文字纪律与用词归属规则
2026-09-15 13:23:40 +08:00

2.9 KiB
Raw Blame 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): ...)。