规格表达层
规格表达层定义用户如何用 Zig 表达模型和性质。
目标是在保留状态迁移思维的同时,让规格保持可读。在 AI 辅助开发场景里,这层接口还定义了 agent 修改代码时,旁边应该维护什么样的规格。
如果写规格比手工审查实现还难,Oxpecker 就偏离了项目定位。规格表达层应该把关键审查问题显式化:有哪些状态,哪些事件可能发生,每个事件怎样改变状态,哪些性质绝不能被违反。
状态
下一步当前 API 可以支撑小模型;重复模式还需要命名和抽取。
目标能力
- guard / update 风格的 action helper。
- 有界 bool、enum 和整数 domain。
- lifecycle、queue、worker pool、retry、callback、resource ownership 等可复用 model pattern。
- 明确判断 Zig-native DSL 是否真的有价值。
- 形成一种可以要求 coding agent 编写或维护的 spec 形态。
近期工作
- 把 action 逻辑拆成 guard 和 update。
- 增加有限 domain helper。
- 从示例中抽取通用模式。
- 在同一模型上比较原始 Zig API 和 helper API。
- 整理规格审查 checklist:状态字段、事件、guard、update、性质和边界。
完成标准
- 三个示例共享至少一种可复用模式。
- helper API 减少重复,但不隐藏状态迁移。
- 不支持的状态空间形态能清楚失败。
- 一个面向 agent 的小示例同时展示代码变更、规格变更、checker 结果和审查 artifact。