Dual-Repo Workspace Guard & Document Lifecycle Engine 用于将混合的本地仓库重组为隔离的双仓库工作区,例如将公开的实现代码与私有的规格/研究文档分开存放,并安装多层跨仓库防护,防止私有数据泄露,同时建立单向契约同步和文档生命周期模式。
用途
该工具面向需要将公开代码与私有规格、研究文档分离的项目。它通过一系列阶段(Phase 0 至 Phase 5)完成从审计、备份、重构、防护安装、契约同步、文档生命周期管理到验证的完整流程,最终以双 PR 方式交付变更。
主要能力
- 只读审计(Phase 0):检查现有仓库的远程、分支、状态、暂存和提交历史,扫描公开提交中是否包含私有路径,输出审计报告到 _backups/AUDIT.md。若发现历史泄露或意外布局,立即停止并报告。
- 零损失备份(Phase 1):为每个仓库生成完整的 Git bundle 并验证,同时打包工作树(排除构建产物),记录 SHA-256 摘要。
- 重构与隔离(Phase 2):建立干净的多根工作区布局,克隆 code/ 和 spec/ 仓库,将未提交文件按归属移动,旧仓库移入 _quarantine/ 并禁用推送 URL。
- 跨仓库防护(Phase 3):安装 Git 配置、版本化钩子(pre-commit、pre-push)、CI 门禁、Claude Code 沙箱设置、AGENTS.md 边界说明,以及契约同步工具。
- 契约同步(Phase 3f):从 spec/ 到 code/ 单向复制 contracts/schemas/.json 和 contracts/examples/.json,强制 spec 工作树干净并固定提交 SHA,更新 PROVENANCE.md。
- 文档生命周期(Phase 4):为 Markdown 文档定义 YAML frontmatter 标准,包括 doc_id、lifecycle、status、visibility 等字段,并提供归档流程和验证脚本。
- 7 点防护验证套件(Phase 5):通过自动化脚本验证所有防护是否按预期拒绝非法操作,包括推送拒绝、提交拒绝、CI 失败、权限拒绝、同步拒绝和文档验证。
使用方式
工具以脚本和参考文档形式提供,主要脚本包括 scripts/workspace_guard.py(支持 audit、backup、restructure、install-guards 子命令)、scripts/sync_contracts.py、scripts/validate_docs.py、scripts/verify_guards.py。运行前需验证 git (>=2.25)、python3 (>=3.8)、tar、POSIX sh 和 shasum/sha256sum 可用。若缺少任何前置工具,应立即停止并报告。
适用场景
适用于需要将公开代码与私有规格分离的项目,尤其是涉及敏感研究、内部文档或契约文件的仓库。也适用于需要强制执行文档生命周期和跨仓库防泄露的团队。
限制
- 不自动拆分混合分支,混合分支保留在隔离区并记录在 AUDIT.md 中。
- 若发现历史泄露或意外布局(如第三个远程或子模块),必须停止并报告。
- 禁止强制推送、删除备份/隔离区、提交本地工作区文件、使用 --no-verify 绕过钩子、修改归档文档正文。
- 分类不明确的文档默认标记为 durable + active 并等待所有者审查。
- 具体收费、价格、平台支持等信息暂未提供。