用途:根据 *-semantic-model.md 生成单个自包含 TypeScript 文件,用 bun 执行时核对线上 Semantius 实例是否包含模型声明的全部实体、字段、枚举值、权限、角色、角色权限关联、权限层级边和 webhook 接收器,属性需与模型完全一致。由于部署器是增量式,且线上状态可能在两次部署之间漂移(如字段标题被改、实体重命名、role_permission 被删),需要独立的部署后检查。
主要能力:技能负责工作流(解析模型、规划检查、生成一个自包含 TypeScript 文件),本身不调用 Semantius、不运行测试;生成的脚本负责执行,它会调用 semantius CLI、读取线上状态、与内联为 JSON 常量的模型比对、打印结构化报告,任一不匹配即非零退出。检查项由 references/checks-catalog.md 规定,按顺序包括模块检查、权限检查、权限层级检查、角色检查、角色权限检查、实体检查、字段检查。对内置实体(当前为 users)采用放宽检查,只验证字段存在与规则名存在。
使用方式:先读取 use-semantius、data-modeling、rbac、semantic-model-deployer 及本技能的 checks-catalog.md。定位模型(用户给路径则直接用,否则在当前目录找 *-semantic-model.md 并让用户选择),解析与部署器 Stage 1 相同的内容,然后生成脚本,默认与模型同目录,名为 <system_slug>-deploy-test.ts。聊天中不调用 Semantius,只有生成的脚本才接触线上实例。
限制:模型 front-matter 的 major 版本需与 EXPECTED_MAJOR(当前为 3)一致,主版本不匹配是阻断项,需先经分析器的审计模式迁移文件。edit_mode、cube_mode 在模型未声明时跳过比较。Webhook 接收器在模型未声明该节时不做断言。脚本运行所需的具体命令与环境细节资料暂未提供。