工程纪律

wesgine 的工程纪律规则(ENG-1 ~ ENG-5)与 CI 验证。


ENG-1:先定义验证标准,再写代码

把模糊任务翻译成可验证目标:


ENG-2:多层架构先验证链路再验证逻辑

Web → Go handler → cell.Runtime → SSE:先确认每层数据都能到下一层。


ENG-3:修复后必须有可观测确认

修了 SSE 断流 → 必须实际发一条 chat 确认流完整。

不是 go vet 通过。


ENG-4:包装上游时对齐资源参数

消费 wesgine cell.Runtime() 返回的 event channel 时,注意 buffer 对齐。


ENG-5:诊断基础设施是功能的一部分

Handler 中的 slog.Info 不是调试用临时代码,而是运维必需。


CI 强门

make verify

编译、go vet、自定义 analyzer、audit-lock 闸门、design 文档验证、测试。

一个目标跑完,序列只在 Makefile 的 verify 目标里定义一份。


闸门集

闸门目录 scripts/audit-lock/ 即清单:


自研分析器

internal/lint/ 包含自研静态分析器,在 CI 中通过 go vet 运行。

包括 hypervisornobusiness 分析器——拒绝 Hypervisor 未分类的导出方法。