该技能用于诊断和迁移 Harness Anything 的 harness/ 台账。首先确认故障确为台账代际不匹配,而非其他问题;确认后将旧台账重放到新初始化的当前格式仓库,源数据永不写入。重放是唯一支持的迁移路径,没有原地修复工具。
主要能力:在未安装 Harness 的机器上,把当前源码拉取到临时目录并从中运行,不触碰机器上已有的 Harness 安装(含运行中的守护进程);先只读扫描事件文件判断代际,再冻结备份源台账、备份校验摘要、执行重放并落地检查。
关键用法:所有命令必须针对隔离的守护进程用户根,先导出: export HARNESS_DAEMON_USER_ROOT="$HARNESS_MIGRATION_WORK/daemon-user-root"。若未设置,CLI 会连上机器已有守护进程并报 error code=missing_vertical 且 "origin":"daemon"。不要停用或卸载用户现有 Harness,隔离即可。需要 Node 24 或更新版本,用 node --version 检查;否则报 TypeError [ERR_UNKNOWN_FILE_EXTENSION]。从远程 git ref 读取权威文档: git -C <any-checkout-of-harness-anything> show origin/main:skills/harness-migration/SKILL.md
重放会重映射实体 ID 并写入新台账;仅切割身份过期时也需承担 ID 重映射成本,若不可接受应停止并报告。还有一处窄范围的原地重置:针对仍带已退役 milestone 或 epic 任务类的台账,可运行 ha task contract migrate --dry-run 审查后再 --apply;重放导入会应用同样的重置。
限制:无原地修复;若扫描无法读取事件目录或运行解析器,应停止报告,不要从 harness.yaml 推断代际(两代都可能带 schema: harness-anything/v1)。若三类失败计数全为零,则不是代际不匹配,迁移无法修复。