用途:在任何实现任务完成后、git commit 之前作为门禁,确保代码通过类型检查、lint、测试与冒烟验证;提交后完成 wiki 草稿提升与任务收尾。
主要能力:按仓库清单自动探测并运行类型检查(如 npx tsc --noEmit、go build ./...)、lint(如 npx eslint src/、go vet ./...)、测试(如 npm test、go test ./...);若存在 harness,则运行 qc 回归与任务生命周期校验;提交信息要求说明 why 而非 what;提交后把 llmwiki/wiki/sources/draft/ 中匹配的草稿提升到 concepts/ 或 sources/,添加 ## Origin(Draft、Commit、Date),更新 log.md 与 index.md,并通过 code-logger.py 将任务置为 done。
使用方式:按 W01–W08 顺序执行。预提交阶段运行类型检查、lint、测试,若有 harness 则运行 [ -f harness/scripts/qc-regression.py ] && python3 harness/scripts/qc-regression.py --run 与 [ -f harness/validators/task_lifecycle.py ] && python3 harness/validators/task_lifecycle.py --root .,再做端到端冒烟检查,最后提交。提交后查找草稿、提升、添加 ## Origin,并用 grep -l "## Origin" <promoted-file> 校验,更新日志与索引;若草稿含 task: T-…,运行 python3 harness/scripts/code-logger.py --task set <T-id> state=done note="<commit-hash>"。
适用场景:有明确实现改动、需要提交前质量门禁与文档沉淀的仓库;支持有或无 harness 的项目。
限制:所有步骤强制,无例外;类型检查、lint、测试或 qc 回归为红时禁止提交;无草稿时记录 "no draft — " 并跳过提升;无 task id 时跳过第 8 步(fail-open);缺少 harness 文件时相应步骤跳过,不阻塞。具体命令需按仓库实际清单探测,资料未提供固定命令之外的更多细节。