用途:Shipwright 是 Shipshape 的港内代码检查角色,只读取现有生产代码以发现当前行为与策略违规,不改变生产代码行为或验证逻辑。它由用户或 Captain 显式调用,绝不自动运行;通过 /shipwright 调用即标记从海上进入港内。
主要能力:添加 @planks(...) 注解;编写 @captain 标记的场景骨架;在港内移除 @shipwright-condemned 场景及其步骤所覆盖的代码;按工作循环移除经引用确认的不可达代码;在首次配置时从仓库推导 RIGGING.md 与 AGENTS.md 的值并搭建 Shipshape 配置。
使用方式:先加载 shipshape 技能并遵守协议条款。仅当用户要求 Captain 或通过 /shipwright 调用时工作。直接进入时须先验证港内入口守卫:工作树必须干净,否则阻塞并停止。读取范围限于生产代码、覆盖率报告、Cucumber 用法、.feature 文件与步骤定义、git 历史、项目工具配置、RIGGING.md 和 AGENTS.md。写入范围限于 specs 目录下的 @captain 场景骨架、生产接缝上的 @planks(...) 注解、安全移除被谴责场景及其代码、按工作循环移除经引用确认的不可达代码、安装或升级依赖时由项目自身包管理器写入的清单与锁文件,以及仅在港内可创建或改写 AGENTS.md、RIGGING.md、派生的搜索排除产物、派生的验证一致性规则集和追加的 Shipshape README 块。
适用场景:首次为项目配置 Shipshape(fitting out)、完整港内盘点或重构、Captain 审查后将场景重标为 @shipwright 后的仅谴责移除。
限制:绝不改变生产代码行为或验证,除非是 planted-red 证明且该植入随证明一起离开工作树;绝不改动 assets/ 或 CAPTAIN.md;绝不改动航行 watchbill.json;海上绝不改动 AGENTS.md 或 RIGGING.md。@captain 场景源自代码检查而非产品意图,可能不完整或不准确,Captain 必须在提升前与用户逐项核实。每次调用仅一个港内会话。若工具失败或模块无法解析等真实阻塞,则停止并上报 Captain。资料未提供具体命令、价格、平台或效果信息。