SuperAPI AI 工具集

contract-freeze

编程与开发

查看项目

更新于 11-05 16:18

技能介绍

用途:contract-freeze 用于在变更集规划或具体实现之前,把系统边界划分成相互隔离的有界上下文,并冻结显式的跨模块接口契约,避免边界含糊或数据归属冲突导致后续返工。

主要能力:

  1. 有界上下文隔离:要求每个上下文独占其数据存储与内部状态,禁止直接跨数据库查询或修改外部实体,跨边界交互必须通过显式公共接口、领域事件或防腐层(ACL)。
  2. 契约规范与消费方夹具:以严格类型声明(如 TypeScript 类型、Protocol Buffers、JSONSchema、OpenAPI 或 Go 接口)定义跨模块契约,声明协议、方向、带类型的命令/事件载荷、错误模型与模拟提供方夹具,使下游可独立构建。
  3. 状态标记:STAGED 表示上下文已映射、公共接口已冻结、模拟夹具可评审;UNRESOLVED 表示领域边界模糊或数据归属冲突,无法干净分离。

使用方式:按执行协议,先将领域边界划分为单一数据归属的隔离有界上下文,再为所有跨边界流量定义类型化接口规范、错误模型与模拟桩,最后输出 STAGED 的契约规范,或在归属冲突时报告 UNRESOLVED。输出结构包括:有界上下文拓扑(上下文、数据归属、公共端口、边界规则)、冻结接口规范(上下游、协议、方向、输入/输出载荷、幂等性与错误模型不变量)、测试桩与消费方夹具、汇总与差距说明。

路由场景:需要跨冻结契约做全新管道验证时走 spike-skeleton;大规模重构且契约冻结后走 seam-plan;单模块功能且契约就绪、准备做文件影响分析时走 changeset;领域边界或模式仍有歧义时走 clarify。

限制:资料未提供具体安装方式、运行环境要求、收费与价格信息;其实际执行依赖配合的技能路由,且当数据归属冲突时只能报告 UNRESOLVED 而不能强行分离。