SuperAPI AI 工具集

flow-settle

部署与运维

查看项目

更新于 10-23 23:07

技能介绍

flow-settle 是 CocoPlus 体系中的一个技能,目标是对已保留的 CocoFlow 提案进行结算(settle)。这些提案可能涉及 Snowflake DDL、SQL 文件写入或流水线配置变更,它们被有意保留在实时项目之外,直到操作者决定接受或丢弃。

使用前提

在执行任何操作前,需要确认当前目录下存在 .cocoplus/ 目录。如果不存在,应输出提示:“CocoPlus not initialized in this directory. Run $pod init to begin.”,然后停止。

提案位置

提案存放在 .cocoplus/proposals/<stage-id>/<timestamp>/ 路径下。

命令

$flow settle --accept <stage-id>:列出该阶段待处理的提案,显示最新提案摘要,要求显式确认,然后通过底层功能正常的审批门禁将提案应用到实时项目或环境,最后向 .cocoplus/proposals/proposal-log.jsonl 追加一条 ACCEPTED 记录。

$flow settle --discard <stage-id>:将最新的待处理提案标记为已丢弃,保留提案目录以便追溯审查,然后向 .cocoplus/proposals/proposal-log.jsonl 追加一条 DISCARDED 记录。

$flow settle --list:按阶段分组显示所有待处理提案。

不变量

在 --accept 之前,不得触碰 Snowflake、已提交的 SQL 或流水线配置。

丢弃不会删除提案,只改变结算状态。

结算必须保留原始阶段 ID、时间戳、操作者决定和摘要。

退出标准

已接受的提案具有结算日志记录。

已丢弃的提案仍可检查。

任何启用提案的阶段都不会直接写入实时环境。

反合理化

技能契约必须描述可观察的行为和验证方式,而不仅仅是命令名称。

即使是小命令也会改变状态或引导执行,因此应保留相同的门禁。