{
  "schema_version": "1.0.0",
  "overall_status": "Done",
  "nodes": [
    {
      "id": "TP-01",
      "title": "关闭质量门禁缺口",
      "priority": "P0",
      "type": "package",
      "objective": "把 Skill strict 校验、根目录边界和 CI 门禁从文档要求升级为可执行约束。",
      "parent": null,
      "status": "Done",
      "parallelizable": false,
      "evidence": "审查发现 strict skill 校验未进入 CI、校验命令硬编码本机路径、根目录边界只在文档中约束。"
    },
    {
      "id": "TP-01.01",
      "title": "新增可移植 Skill 校验脚本",
      "priority": "P0",
      "type": "action",
      "objective": "新增根脚本封装 auto-skill validator，使用 CODEX_HOME 或 HOME 推导校验器路径，消除本机绝对路径硬编码。",
      "parent": "TP-01",
      "status": "Done",
      "parallelizable": false,
      "verify": "从仓库根执行新脚本 strict 模式，换用 CODEX_HOME 覆盖路径后仍能定位校验器。",
      "gate": "README、SKILL.md、quality-gate 不再要求用户直接复制本机 Codex 安装绝对路径。",
      "evidence": "SKILL.md:79、README.md:87、references/quality-gate.md:13 当前引用本机绝对路径。"
    },
    {
      "id": "TP-01.02",
      "title": "把 Skill strict 校验接入 CI",
      "priority": "P0",
      "type": "action",
      "objective": "更新 GitHub Actions，在 verify job 中执行可移植 Skill 校验脚本，防止 SKILL.md 与 references 退化。",
      "parent": "TP-01",
      "depends_on": [
        "TP-01.01"
      ],
      "status": "Done",
      "parallelizable": false,
      "verify": "CI YAML 包含 Skill strict step；本地可用 bash -n 或 actionlint 等价检查 YAML 结构。",
      "gate": "CI 能在项目测试前后稳定执行 Skill strict gate，失败时阻断合并。",
      "evidence": ".github/workflows/ci.yml 当前只跑项目 install/lint/test/wheel。"
    },
    {
      "id": "TP-01.03",
      "title": "扩展根目录边界守卫",
      "priority": "P0",
      "type": "action",
      "objective": "扩展 guard_public_local_files.sh，检查 root assets、assets/examples、src、tests、pyproject、Makefile、安装脚本和卸载脚本等禁放路径。",
      "parent": "TP-01",
      "status": "Done",
      "parallelizable": false,
      "verify": "构造临时禁放路径时 guard 返回非零；正常仓库状态下 guard 返回零。",
      "gate": "根目录边界不再只靠 README 和 quality-gate 文档约束。",
      "evidence": "guard 当前只检查 AGENTS/DEBUG 是否被追踪；quality-gate 才描述 forbidden root paths。"
    },
    {
      "id": "TP-01.04",
      "title": "对齐 CI 与本地根边界门禁",
      "priority": "P0",
      "type": "action",
      "objective": "确认 CI 调用扩展后的 guard，并让 quality-gate 的 Root Boundary Gate 与脚本实际检查项一致。",
      "parent": "TP-01",
      "depends_on": [
        "TP-01.03"
      ],
      "status": "Done",
      "parallelizable": false,
      "verify": "bash scripts/scripts/guard_public_local_files.sh 和 bash scripts/verify.sh 均通过；CI step 名称和文档口径一致。",
      "gate": "根目录误放文件能在本地 verify 与 CI 中被同一脚本拦截。",
      "evidence": "CI 已调用 guard，但 guard 当前覆盖面不足。"
    },
    {
      "id": "TP-02",
      "title": "收敛验证副作用与本地开发体验",
      "priority": "P1",
      "type": "package",
      "objective": "减少 verify 产生的忽略产物，并让本地验证路径覆盖 CI 中的重要检查。",
      "parent": null,
      "status": "Done",
      "parallelizable": true,
      "evidence": "实测 bash scripts/verify.sh 后产生 __pycache__ 与 .pytest_cache。"
    },
    {
      "id": "TP-02.01",
      "title": "清理 compileall 与 pytest 缓存副作用",
      "priority": "P1",
      "type": "action",
      "objective": "调整项目 verify，使用 pytest 缓存关闭参数或末尾清理 .pytest_cache，并统一清理 __pycache__。",
      "parent": "TP-02",
      "status": "Done",
      "parallelizable": true,
      "verify": "连续两次执行 bash scripts/verify.sh 后，scripts/project 下不残留 __pycache__、.pytest_cache、.ruff_cache。",
      "gate": "verify 仍通过 compileall、pytest、shell syntax 和 request.py py_compile。",
      "evidence": "scripts/scripts/verify.sh:7-8 会生成忽略缓存目录。"
    },
    {
      "id": "TP-02.02",
      "title": "统一本地 lint 入口",
      "priority": "P1",
      "type": "action",
      "objective": "让本地验证明确覆盖 ruff，或在 ruff 不可用时输出清晰降级信息，避免 CI 与本地门禁不对称。",
      "parent": "TP-02",
      "status": "Done",
      "parallelizable": true,
      "verify": "ruff 可用时 verify 或 documented gate 能跑 ruff check src tests；ruff 不可用时输出明确说明且不伪造通过。",
      "gate": "本地质量门禁与 CI lint 口径一致或显式说明差异。",
      "evidence": "CI 运行 ruff；当前 bash scripts/verify.sh 不运行 ruff。"
    },
    {
      "id": "TP-02.03",
      "title": "刷新验证文档与质量门禁说明",
      "priority": "P1",
      "type": "action",
      "objective": "更新 references/quality-gate.md、README.md 与 SKILL.md，把新验证脚本、缓存清理和 lint 策略写成单一口径。",
      "parent": "TP-02",
      "depends_on": [
        "TP-01.01",
        "TP-02.01",
        "TP-02.02"
      ],
      "status": "Done",
      "parallelizable": false,
      "verify": "文档中的命令可从对应目录直接复制执行；不存在相互矛盾的 verify 说明。",
      "gate": "质量门禁文档反映真实脚本行为。",
      "evidence": "当前文档使用 hardcoded validator path，且 verify/lint 说明分散。"
    },
    {
      "id": "TP-03",
      "title": "修复公开文档与 Skill 可用性",
      "priority": "P1",
      "type": "package",
      "objective": "解决公开治理文档边界、GitHub 默认 README、Quick Reference 冗余和公开线性流缺失。",
      "parent": null,
      "status": "Done",
      "parallelizable": true,
      "evidence": "审查发现 AGENTS 治理口径、根 README 用户入口弱、SKILL Quick Reference 重复、公开架构 reference 过度压缩。"
    },
    {
      "id": "TP-03.01",
      "title": "明确 AGENTS 公开治理策略",
      "priority": "P1",
      "type": "action",
      "objective": "明确采用提交脱敏 AGENTS 与 DEBUG 的公开治理策略，并保持 README/SKILL/references 同步。",
      "parent": "TP-03",
      "depends_on": [
        "TP-01.03"
      ],
      "status": "Done",
      "parallelizable": false,
      "verify": "guard、.gitignore、architecture、quality-gate 对 AGENTS 的描述不冲突。",
      "gate": "公开 clone 后能从 README/SKILL/references 与 tracked AGENTS/DEBUG 获得完整治理规则。",
      "evidence": "策略已从忽略本地 AGENTS/DEBUG 切换为提交脱敏治理文档；guard 不再禁止 AGENTS/DEBUG 入库。"
    },
    {
      "id": "TP-03.02",
      "title": "强化根 README 用户入口",
      "priority": "P1",
      "type": "action",
      "objective": "在根 README 顶部增加用户安装入口，链接 scripts/README.md，并提供 Linux/macOS/WSL 与 PowerShell 的最短安装命令。",
      "parent": "TP-03",
      "status": "Done",
      "parallelizable": true,
      "verify": "打开根 README 前 40 行即可看到用户安装入口和项目 README 链接。",
      "gate": "GitHub 默认首页不会只呈现 Skill 外壳说明。",
      "evidence": "根 README 当前主要解释 Skill 外壳，安装说明位于 scripts/README.md。"
    },
    {
      "id": "TP-03.03",
      "title": "去重 SKILL Quick Reference 并统一命令口径",
      "priority": "P1",
      "type": "action",
      "objective": "删除重复 verify 段落，把根入口、项目入口、Skill 校验入口分别写成可复制命令。",
      "parent": "TP-03",
      "depends_on": [
        "TP-01.01"
      ],
      "status": "Done",
      "parallelizable": false,
      "verify": "SKILL.md Quick Reference 不再出现两段同义 bash scripts/verify.sh；Maintenance 与 Quick Reference 使用同一校验脚本。",
      "gate": "SKILL.md 保持短、直接、无重复。",
      "evidence": "SKILL.md:34 与 SKILL.md:40 当前重复同一 verify 命令。"
    },
    {
      "id": "TP-03.04",
      "title": "公开化完整 Linear Flows",
      "priority": "P2",
      "type": "action",
      "objective": "新增 references/linear-flows.md，把缓存、TUI、一次性请求、安装、卸载、配置/export 六条主链路从本地 AGENTS 抽成公开 reference。",
      "parent": "TP-03",
      "status": "Done",
      "parallelizable": true,
      "verify": "references/linear-flows.md 覆盖六条 flow，且每个节点能追溯到代码、脚本、配置或文档。",
      "gate": "公开 references 不再只保留压缩版 Main Flow。",
      "evidence": "references/architecture.md 当前只有主缓存流；完整 flow 同步沉淀到 tracked scripts/AGENTS.md 与 references/linear-flows.md。"
    },
    {
      "id": "TP-03.05",
      "title": "更新 reference 导航与交叉引用",
      "priority": "P2",
      "type": "action",
      "objective": "把 linear-flows 与本任务树加入 references/index.md，并在 architecture、SKILL 或 quality-gate 中只保留必要导航，不制造重复长文档。",
      "parent": "TP-03",
      "depends_on": [
        "TP-03.04"
      ],
      "status": "Done",
      "parallelizable": false,
      "verify": "references/index.md 能按任务类型定位 architecture、quality-gate、linear-flows、repair-task-tree。",
      "gate": "references 入口完整且无重复文档堆叠。",
      "evidence": "新增公开 reference 后必须维护导航，否则后续 agent 不会稳定加载。"
    },
    {
      "id": "TP-04",
      "title": "交付、回归与远端闭环",
      "priority": "P1",
      "type": "package",
      "objective": "在所有修复完成后完成本地 gate、提交切分、推送和 GitHub Actions 观察。",
      "parent": null,
      "depends_on": [
        "TP-01",
        "TP-02",
        "TP-03"
      ],
      "status": "Done",
      "parallelizable": false,
      "evidence": "当前 develop ahead 5，远端尚未获得本地治理提交。"
    },
    {
      "id": "TP-04.01",
      "title": "运行完整本地回归门禁",
      "priority": "P1",
      "type": "action",
      "objective": "执行 Skill strict、项目 verify、ruff、root boundary guard、git diff --check，并确认无生成物残留。",
      "parent": "TP-04",
      "status": "Done",
      "parallelizable": false,
      "verify": "所有本地 gate 命令返回零；git status 只显示预期 tracked changes 或干净状态。",
      "gate": "本地证据覆盖质量门禁、项目验证、根目录边界、lint 和生成物清理。",
      "evidence": "此前 strict skill 校验、bash scripts/verify.sh、ruff 均可通过，但 verify 会产生缓存副作用。"
    },
    {
      "id": "TP-04.02",
      "title": "按主题提交修复",
      "priority": "P2",
      "type": "action",
      "objective": "按质量门禁、验证副作用、文档/Skill UX 三类主题切分提交，避免把无关变更混入同一 commit。",
      "parent": "TP-04",
      "depends_on": [
        "TP-04.01"
      ],
      "status": "Done",
      "parallelizable": false,
      "verify": "git log --oneline 显示语义清晰的提交；git show --stat 能对应任务树范围。",
      "gate": "每个提交都可独立解释、可回滚。",
      "evidence": "当前本地已有 5 个治理提交未推送。"
    },
    {
      "id": "TP-04.03",
      "title": "推送 develop 并观察 CI",
      "priority": "P2",
      "type": "action",
      "objective": "推送当前 develop 到 origin，观察 GitHub Actions，失败时回到对应任务包定位修复。",
      "parent": "TP-04",
      "depends_on": [
        "TP-04.02"
      ],
      "status": "Done",
      "parallelizable": false,
      "verify": "git status 显示本地分支与 origin/develop 对齐；GitHub Actions 最新 run 成功或失败原因已记录。",
      "gate": "远端 CI 对本地治理成果形成闭环。",
      "evidence": "当前 develop...origin/develop ahead 5。"
    }
  ]
}
