SuperAPI AI 工具集

contract

编程与开发

查看项目

更新于 10-16 05:50

技能介绍

用途:把 capsule 中定义的不变量(invariants)落实为可执行契约,包括防止非法状态的领域类型、边界处的校验以及证明约束生效的测试。适用于创建概念 capsule 之后,或需要在代码中强制不变量时。

前置条件:必须已存在概念 capsule(它定义不变量),否则先执行 /pragma:capsule;至少有一段可挂载契约的工作代码,若仅处于骨架阶段,先执行 /pragma:card + /pragma:slice。同时需阅读 capsule(术语表与不变量)、近期 cards(边界穿越)和现有源码。

主要流程:1)建立契约映射表,逐条列出不变量、当前强制级别(类型系统 / 构造器 / 测试 / 无)、位置与证据,强制强度由高到低为类型系统→构造器/校验器→测试→无;2)识别边界契约,为作用域内每个公开入口点列出前置条件、后置条件与错误信号,并使用术语表词汇;3)增量强制,一次一个不变量,优先处理“无”,再逐级升级,顺序为类型→构造器/校验器→测试,保持测试全程通过;4)更新契约映射,写入或更新 docs/contracts.md,含不变量映射表、各模块边界契约及契约预算(已强制与仍停留“英文描述”的部分及原因);5)验证并提交,运行完整验证工具链,提交信息格式为 Contract: enforce [invariant] at [boundary]。

约束:不得改变行为,契约只收紧约束;增量推进,每次一个不变量或边界;优先编译期类型强制,运行时为兜底;capsule 是权威,若其有误应先更新;不引入重型框架,仅用原生类型系统与标准断言模式。

输出:已强制的不变量及级别、契约预算、新增或澄清的边界契约、代码变更(类型、校验器、测试)、推荐的下一步(继续 /pragma:contract 或回到 /pragma:card + /pragma:slice)。生命周期状态为 governance,下一步 /pragma:consult。(具体安装方式与价格未提供。)