@pzy560117/codex-harness 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/README.md +1 -1
  2. package/package-source/AGENTS.md +48 -0
  3. package/package-source/PACKAGE.md +49 -0
  4. package/package-source/README.md +85 -0
  5. package/package-source/docs/codex-harness-engineering/templates/AGENTS.md +51 -0
  6. package/package-source/docs/codex-harness-engineering/templates/bootstrap-codex-harness.ps1 +780 -0
  7. package/package-source/docs/codex-harness-engineering/templates/ci/AGENTS.md +15 -0
  8. package/package-source/docs/codex-harness-engineering/templates/ci/github-action-codex-review.yml +110 -0
  9. package/package-source/docs/codex-harness-engineering/templates/ci/github-action-codex-task.yml +46 -0
  10. package/package-source/docs/codex-harness-engineering/templates/config/AGENTS.md +19 -0
  11. package/package-source/docs/codex-harness-engineering/templates/config/agents/architect.toml +18 -0
  12. package/package-source/docs/codex-harness-engineering/templates/config/agents/backend-worker.toml +15 -0
  13. package/package-source/docs/codex-harness-engineering/templates/config/agents/docs-researcher.toml +14 -0
  14. package/package-source/docs/codex-harness-engineering/templates/config/agents/docs-worker.toml +16 -0
  15. package/package-source/docs/codex-harness-engineering/templates/config/agents/explorer.toml +15 -0
  16. package/package-source/docs/codex-harness-engineering/templates/config/agents/failure-triage.toml +19 -0
  17. package/package-source/docs/codex-harness-engineering/templates/config/agents/frontend-worker.toml +15 -0
  18. package/package-source/docs/codex-harness-engineering/templates/config/agents/harness-writer.toml +16 -0
  19. package/package-source/docs/codex-harness-engineering/templates/config/agents/planner.toml +16 -0
  20. package/package-source/docs/codex-harness-engineering/templates/config/agents/readonly-research.toml +14 -0
  21. package/package-source/docs/codex-harness-engineering/templates/config/agents/reviewer.toml +14 -0
  22. package/package-source/docs/codex-harness-engineering/templates/config/agents/security-reviewer.toml +16 -0
  23. package/package-source/docs/codex-harness-engineering/templates/config/agents/stage1-reviewer.toml +16 -0
  24. package/package-source/docs/codex-harness-engineering/templates/config/agents/stage2-reviewer.toml +17 -0
  25. package/package-source/docs/codex-harness-engineering/templates/config/agents/test-planner.toml +18 -0
  26. package/package-source/docs/codex-harness-engineering/templates/config/agents/test-runner.toml +15 -0
  27. package/package-source/docs/codex-harness-engineering/templates/config/agents/visual-reviewer.toml +16 -0
  28. package/package-source/docs/codex-harness-engineering/templates/config/codex-agent-roles.md +24 -0
  29. package/package-source/docs/codex-harness-engineering/templates/config/codex-config.toml +38 -0
  30. package/package-source/docs/codex-harness-engineering/templates/config/codex-readme.md +67 -0
  31. package/package-source/docs/codex-harness-engineering/templates/config/env-check.ps1 +44 -0
  32. package/package-source/docs/codex-harness-engineering/templates/config/env.example +13 -0
  33. package/package-source/docs/codex-harness-engineering/templates/config/global-AGENTS.md +40 -0
  34. package/package-source/docs/codex-harness-engineering/templates/config/global-config.toml +19 -0
  35. package/package-source/docs/codex-harness-engineering/templates/config/mcp-config.toml +38 -0
  36. package/package-source/docs/codex-harness-engineering/templates/config/rules/agents.md +118 -0
  37. package/package-source/docs/codex-harness-engineering/templates/config/rules/coding-style.md +57 -0
  38. package/package-source/docs/codex-harness-engineering/templates/config/rules/constitution.md +290 -0
  39. package/package-source/docs/codex-harness-engineering/templates/config/rules/git.rules +41 -0
  40. package/package-source/docs/codex-harness-engineering/templates/config/rules/harness.rules +29 -0
  41. package/package-source/docs/codex-harness-engineering/templates/config/rules/patterns.md +59 -0
  42. package/package-source/docs/codex-harness-engineering/templates/config/rules/safety.rules +35 -0
  43. package/package-source/docs/codex-harness-engineering/templates/config/rules/testing.md +34 -0
  44. package/package-source/docs/codex-harness-engineering/templates/context/AGENTS.md +19 -0
  45. package/package-source/docs/codex-harness-engineering/templates/context/API_MAP.md +18 -0
  46. package/package-source/docs/codex-harness-engineering/templates/context/CHANGELOG_AI.md +11 -0
  47. package/package-source/docs/codex-harness-engineering/templates/context/CURRENT_TASK.md +114 -0
  48. package/package-source/docs/codex-harness-engineering/templates/context/DB_SCHEMA.md +14 -0
  49. package/package-source/docs/codex-harness-engineering/templates/context/DECISIONS.md +12 -0
  50. package/package-source/docs/codex-harness-engineering/templates/context/KNOWN_ISSUES.md +12 -0
  51. package/package-source/docs/codex-harness-engineering/templates/context/PROJECT_CONTEXT.md +14 -0
  52. package/package-source/docs/codex-harness-engineering/templates/context/architecture-brief.md +58 -0
  53. package/package-source/docs/codex-harness-engineering/templates/context/dev-plan.md +166 -0
  54. package/package-source/docs/codex-harness-engineering/templates/context/feature-pack.md +101 -0
  55. package/package-source/docs/codex-harness-engineering/templates/context/repo-map.md +102 -0
  56. package/package-source/docs/codex-harness-engineering/templates/context/service-dependency-matrix.yaml +25 -0
  57. package/package-source/docs/codex-harness-engineering/templates/contracts/AGENTS.md +17 -0
  58. package/package-source/docs/codex-harness-engineering/templates/contracts/README.md +24 -0
  59. package/package-source/docs/codex-harness-engineering/templates/contracts/openapi.yaml +182 -0
  60. package/package-source/docs/codex-harness-engineering/templates/contracts/orval.config.ts +20 -0
  61. package/package-source/docs/codex-harness-engineering/templates/contracts/prism-usage.md +41 -0
  62. package/package-source/docs/codex-harness-engineering/templates/design/AGENTS.md +21 -0
  63. package/package-source/docs/codex-harness-engineering/templates/design/ai-image-brief.md +122 -0
  64. package/package-source/docs/codex-harness-engineering/templates/design/assets/README.md +24 -0
  65. package/package-source/docs/codex-harness-engineering/templates/design/component-map.md +45 -0
  66. package/package-source/docs/codex-harness-engineering/templates/design/design-brief.md +183 -0
  67. package/package-source/docs/codex-harness-engineering/templates/design/design-tokens.json +88 -0
  68. package/package-source/docs/codex-harness-engineering/templates/design/frontend-architecture.md +165 -0
  69. package/package-source/docs/codex-harness-engineering/templates/design/image-to-frontend-spec.md +120 -0
  70. package/package-source/docs/codex-harness-engineering/templates/design/screen-states.md +157 -0
  71. package/package-source/docs/codex-harness-engineering/templates/design/ui-image-review.md +60 -0
  72. package/package-source/docs/codex-harness-engineering/templates/design/visual-parity-review.md +124 -0
  73. package/package-source/docs/codex-harness-engineering/templates/docs/AGENTS.md +19 -0
  74. package/package-source/docs/codex-harness-engineering/templates/docs/architecture-constraints.md +97 -0
  75. package/package-source/docs/codex-harness-engineering/templates/docs/code-semantics-and-navigation.md +54 -0
  76. package/package-source/docs/codex-harness-engineering/templates/docs/code-style-and-naming.md +116 -0
  77. package/package-source/docs/codex-harness-engineering/templates/docs/demo-readme.md +73 -0
  78. package/package-source/docs/codex-harness-engineering/templates/docs/directory-structure-template.md +88 -0
  79. package/package-source/docs/codex-harness-engineering/templates/docs/env-and-deployment-template.md +60 -0
  80. package/package-source/docs/codex-harness-engineering/templates/docs/frontend-quality-rules.md +165 -0
  81. package/package-source/docs/codex-harness-engineering/templates/docs/governance-auto-repair.md +82 -0
  82. package/package-source/docs/codex-harness-engineering/templates/docs/harness-architecture.md +78 -0
  83. package/package-source/docs/codex-harness-engineering/templates/docs/install-manifest-governance.md +307 -0
  84. package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-architecture.md +241 -0
  85. package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-import.md +108 -0
  86. package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-lint.md +98 -0
  87. package/package-source/docs/codex-harness-engineering/templates/docs/mcp-knowledge-governance.md +24 -0
  88. package/package-source/docs/codex-harness-engineering/templates/docs/new-project-checklist.md +7 -0
  89. package/package-source/docs/codex-harness-engineering/templates/docs/new-project-usage.md +216 -0
  90. package/package-source/docs/codex-harness-engineering/templates/docs/project-agents-template.md +211 -0
  91. package/package-source/docs/codex-harness-engineering/templates/docs/prompt-knowledge-integration.md +100 -0
  92. package/package-source/docs/codex-harness-engineering/templates/docs/regression-rules.md +47 -0
  93. package/package-source/docs/codex-harness-engineering/templates/docs/requirement-prep-kit/README.md +3 -0
  94. package/package-source/docs/codex-harness-engineering/templates/docs/rule-governance.md +98 -0
  95. package/package-source/docs/codex-harness-engineering/templates/docs/service-dependency-matrix.md +70 -0
  96. package/package-source/docs/codex-harness-engineering/templates/docs/spec-to-ui-to-code-workflow.md +196 -0
  97. package/package-source/docs/codex-harness-engineering/templates/docs/task-session-strategy.md +133 -0
  98. package/package-source/docs/codex-harness-engineering/templates/docs/team-knowledge-sync.md +187 -0
  99. package/package-source/docs/codex-harness-engineering/templates/docs/trace-format.md +86 -0
  100. package/package-source/docs/codex-harness-engineering/templates/governance/AGENTS.md +18 -0
  101. package/package-source/docs/codex-harness-engineering/templates/governance/branch-protection-checklist.md +50 -0
  102. package/package-source/docs/codex-harness-engineering/templates/governance/feedback-evolution-loop.md +55 -0
  103. package/package-source/docs/codex-harness-engineering/templates/governance/retry-budget.yaml +30 -0
  104. package/package-source/docs/codex-harness-engineering/templates/governance/risk-levels.yaml +53 -0
  105. package/package-source/docs/codex-harness-engineering/templates/governance/sandbox-policy.md +13 -0
  106. package/package-source/docs/codex-harness-engineering/templates/hooks/AGENTS.md +15 -0
  107. package/package-source/docs/codex-harness-engineering/templates/hooks/hook-stop-verify.ps1 +871 -0
  108. package/package-source/docs/codex-harness-engineering/templates/hooks/hooks.json +40 -0
  109. package/package-source/docs/codex-harness-engineering/templates/knowledge/AGENTS.md +16 -0
  110. package/package-source/docs/codex-harness-engineering/templates/knowledge/catalog.md +6 -0
  111. package/package-source/docs/codex-harness-engineering/templates/knowledge/decisions/DECISION-HARNESS-001.md +39 -0
  112. package/package-source/docs/codex-harness-engineering/templates/knowledge/guidelines/GUIDELINE-RULES-001.md +30 -0
  113. package/package-source/docs/codex-harness-engineering/templates/knowledge/knowledge-catalog.md +41 -0
  114. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/memory/constitution.md +72 -0
  115. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/check-prerequisites.ps1 +148 -0
  116. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/common.ps1 +137 -0
  117. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/create-new-feature.ps1 +279 -0
  118. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/setup-plan.ps1 +61 -0
  119. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/update-agent-context.ps1 +448 -0
  120. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/agent-file-template.md +28 -0
  121. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/checklist-template.md +40 -0
  122. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/e2e-plan-template.md +38 -0
  123. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/plan-template.md +393 -0
  124. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/spec-template.md +307 -0
  125. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/tasks-template.md +244 -0
  126. package/package-source/docs/codex-harness-engineering/templates/package-assets/AGENTS.md +19 -0
  127. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/architecture/constraints.md +98 -0
  128. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/AGENTS.md +25 -0
  129. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/README.md +198 -0
  130. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/START-HERE.md +66 -0
  131. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/agent-ecosystem-practices.md +140 -0
  132. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/best-practices.md +267 -0
  133. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/codex-global-rules-example.md +292 -0
  134. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/AGENTS.md +14 -0
  135. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/goal-templates.md +380 -0
  136. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/AGENTS.md +14 -0
  137. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/README.md +64 -0
  138. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/contracts/openapi.yaml +25 -0
  139. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/contracts/orval.config.ts +20 -0
  140. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/ai-image-brief.md +44 -0
  141. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/component-map.md +17 -0
  142. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/design-brief.md +58 -0
  143. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/frontend-architecture.md +107 -0
  144. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/image-to-frontend-spec.md +72 -0
  145. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/screen-states.md +25 -0
  146. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/ui-image-review.md +38 -0
  147. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/difficulty-research.md +39 -0
  148. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/page-inventory.md +5 -0
  149. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/prd-lite.md +41 -0
  150. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/requirement-interface-matrix.md +32 -0
  151. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/state-matrix.yaml +14 -0
  152. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/generated/model/Ticket.ts +6 -0
  153. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/generated/ticket-api.ts +35 -0
  154. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/http-client.ts +8 -0
  155. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/ui/TicketFilterBar.tsx +72 -0
  156. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/plans/features/ticket-filter.dev-plan.md +48 -0
  157. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/progress.txt +1 -0
  158. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/stories/TicketFilterBar.stories.tsx +33 -0
  159. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/task.json +54 -0
  160. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/traces/DEMO-TICKET-FILTER-001-20260422-120000.json +74 -0
  161. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/verify.ps1 +42 -0
  162. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/global-rules-and-bootstrap.md +415 -0
  163. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/goal-harness-integration-guide.md +364 -0
  164. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/implementation-flow.md +290 -0
  165. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/implementation-guide.md +25 -0
  166. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/knowledge-surface-map.md +186 -0
  167. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/mode-matrix.md +57 -0
  168. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/new-project-usage.md +176 -0
  169. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/project-agents-template.md +168 -0
  170. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/spec-to-ui-to-code-workflow.md +196 -0
  171. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/superpowers-codex-solo-builder-playbook.md +676 -0
  172. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/AGENTS.md +22 -0
  173. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/AGENTS.md +14 -0
  174. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/API_MAP.md +18 -0
  175. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/CURRENT_TASK.md +89 -0
  176. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/dev-plan.md +166 -0
  177. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/contracts/AGENTS.md +14 -0
  178. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/contracts/README.md +24 -0
  179. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/contracts/prism-usage.md +41 -0
  180. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/AGENTS.md +14 -0
  181. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/component-map.md +45 -0
  182. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/design-brief.md +183 -0
  183. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/design-tokens.json +88 -0
  184. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/frontend-architecture.md +165 -0
  185. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/image-to-frontend-spec.md +120 -0
  186. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/screen-states.md +157 -0
  187. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/visual-parity-review.md +124 -0
  188. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/AGENTS.md +14 -0
  189. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/env-and-deployment-template.md +60 -0
  190. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/frontend-quality-rules.md +161 -0
  191. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/regression-rules.md +47 -0
  192. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/trace-format.md +86 -0
  193. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/product/AGENTS.md +14 -0
  194. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/product/prd-lite.md +166 -0
  195. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/product/state-matrix.yaml +116 -0
  196. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/prompts/AGENTS.md +14 -0
  197. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/prompts/implement-one-task.md +150 -0
  198. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/prompts/repair-one-finding.md +70 -0
  199. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/spec/11-security-design.md +43 -0
  200. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/spec/AGENTS.md +14 -0
  201. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/AGENTS.md +14 -0
  202. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/EVIDENCE_PROTOCOL.md +54 -0
  203. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/NATURAL_LANGUAGE_TEST_CASES.md +690 -0
  204. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/REGRESSION_PLAN.md +28 -0
  205. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/TEST_STRATEGY.md +98 -0
  206. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/TRACEABILITY_MATRIX.md +23 -0
  207. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/verify-matrix.md +51 -0
  208. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/AGENTS.md +165 -0
  209. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CHANGELOG.md +149 -0
  210. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CLAUDE.md +61 -0
  211. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CODE_OF_CONDUCT.md +83 -0
  212. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CONTRIBUTING.md +465 -0
  213. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/README.md +1390 -0
  214. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/SECURITY.md +53 -0
  215. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/SPONSORING.md +43 -0
  216. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/SPONSORS.md +59 -0
  217. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/TROUBLESHOOTING.md +446 -0
  218. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/architect.md +232 -0
  219. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/build-error-resolver.md +119 -0
  220. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/chief-of-staff.md +155 -0
  221. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/code-reviewer.md +238 -0
  222. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/cpp-build-resolver.md +91 -0
  223. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/cpp-reviewer.md +79 -0
  224. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/database-reviewer.md +94 -0
  225. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/doc-updater.md +110 -0
  226. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/docs-lookup.md +68 -0
  227. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/e2e-runner.md +110 -0
  228. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/go-build-resolver.md +95 -0
  229. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/go-reviewer.md +83 -0
  230. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/harness-optimizer.md +35 -0
  231. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/java-build-resolver.md +154 -0
  232. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/java-reviewer.md +105 -0
  233. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/kotlin-build-resolver.md +119 -0
  234. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/loop-operator.md +37 -0
  235. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/planner.md +215 -0
  236. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/python-reviewer.md +106 -0
  237. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/pytorch-build-resolver.md +122 -0
  238. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/refactor-cleaner.md +92 -0
  239. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/rust-build-resolver.md +149 -0
  240. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/rust-reviewer.md +95 -0
  241. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/security-reviewer.md +112 -0
  242. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/tdd-guide.md +96 -0
  243. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/typescript-reviewer.md +122 -0
  244. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/aside.md +173 -0
  245. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/build-fix.md +64 -0
  246. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/checkpoint.md +78 -0
  247. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/claw.md +51 -0
  248. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/code-review.md +43 -0
  249. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/context-budget.md +29 -0
  250. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/cpp-build.md +173 -0
  251. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/cpp-review.md +140 -0
  252. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/cpp-test.md +257 -0
  253. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/docs.md +32 -0
  254. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/e2e.md +389 -0
  255. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/eval.md +122 -0
  256. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/evolve.md +194 -0
  257. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/go-build.md +183 -0
  258. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/go-review.md +156 -0
  259. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/go-test.md +274 -0
  260. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/gradle-build.md +72 -0
  261. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/harness-audit.md +72 -0
  262. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/instinct-export.md +67 -0
  263. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/instinct-import.md +117 -0
  264. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/instinct-status.md +59 -0
  265. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/kotlin-build.md +176 -0
  266. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/kotlin-review.md +144 -0
  267. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/kotlin-test.md +315 -0
  268. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/learn-eval.md +117 -0
  269. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/learn.md +70 -0
  270. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/loop-start.md +33 -0
  271. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/loop-status.md +25 -0
  272. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/model-route.md +27 -0
  273. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-backend.md +162 -0
  274. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-execute.md +321 -0
  275. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-frontend.md +162 -0
  276. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-plan.md +278 -0
  277. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/plan.md +118 -0
  278. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/pm2.md +283 -0
  279. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/projects.md +39 -0
  280. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/promote.md +41 -0
  281. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/prompt-optimize.md +37 -0
  282. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/prune.md +31 -0
  283. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/python-review.md +319 -0
  284. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/quality-gate.md +30 -0
  285. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/refactor-clean.md +83 -0
  286. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/resume-session.md +154 -0
  287. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rules-distill.md +11 -0
  288. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rust-build.md +189 -0
  289. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rust-review.md +146 -0
  290. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rust-test.md +311 -0
  291. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/setup-pm.md +83 -0
  292. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/skill-create.md +176 -0
  293. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/skill-health.md +54 -0
  294. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/tdd.md +330 -0
  295. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/test-coverage.md +69 -0
  296. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/update-codemaps.md +73 -0
  297. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/update-docs.md +86 -0
  298. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/verify.md +60 -0
  299. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/contexts/dev.md +23 -0
  300. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/contexts/research.md +30 -0
  301. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/contexts/review.md +25 -0
  302. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/CLAUDE.md +100 -0
  303. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/django-api-CLAUDE.md +308 -0
  304. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/go-microservice-CLAUDE.md +267 -0
  305. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/rust-api-CLAUDE.md +285 -0
  306. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/saas-nextjs-CLAUDE.md +166 -0
  307. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/user-CLAUDE.md +118 -0
  308. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/hooks/README.md +220 -0
  309. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/plugins/README.md +89 -0
  310. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/the-openclaw-guide.md +471 -0
  311. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/the-security-guide.md +206 -0
  312. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/README.md +60 -0
  313. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/app/Mobile_App_Production_Readiness_Framework_/347/247/273/345/212/250/347/253/257/345/205/250/345/271/263/345/217/260/347/224/237/344/272/247/345/217/257/344/270/212/347/272/277/350/247/204/350/214/203.md +2457 -0
  314. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/app/catalog.md +33 -0
  315. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/architecture.md +358 -0
  316. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/common/AI_Coding_Production_Control_Framework_AI/345/206/231/345/256/214/347/232/204/344/273/243/347/240/201/345/246/202/344/275/225/344/270/215/345/244/261/346/216/247.md +2055 -0
  317. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/common/catalog.md +34 -0
  318. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/initial-content.md +296 -0
  319. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/integration-roadmap.md +221 -0
  320. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/architecture-constraints.md +95 -0
  321. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/code-semantics-and-navigation.md +17 -0
  322. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/code-style-and-naming.md +116 -0
  323. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/frontend-quality-rules.md +138 -0
  324. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/governance-auto-repair.md +82 -0
  325. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/mcp-knowledge-governance.md +24 -0
  326. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/service-dependency-matrix.md +55 -0
  327. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/speckit-requirements-gate.md +260 -0
  328. package/package-source/docs/codex-harness-engineering/templates/package-assets/root/PACKAGE.md +49 -0
  329. package/package-source/docs/codex-harness-engineering/templates/package-assets/root/README.md +52 -0
  330. package/package-source/docs/codex-harness-engineering/templates/package-assets/root/init-project.ps1 +51 -0
  331. package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-agent-here.ps1 +57 -0
  332. package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-agent.ps1 +2506 -0
  333. package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-user.ps1 +29 -0
  334. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/agents.md +115 -0
  335. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/coding-style.md +57 -0
  336. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/constitution.md +290 -0
  337. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/git.rules +41 -0
  338. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/harness.rules +29 -0
  339. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/patterns.md +59 -0
  340. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/safety.rules +35 -0
  341. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/testing.md +34 -0
  342. package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/check-ai-sync-drift.ps1 +205 -0
  343. package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/sync-ai-config-to-targets.ps1 +826 -0
  344. package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/sync-targets.example.json +35 -0
  345. package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/harness/harness-governance-check.ps1 +864 -0
  346. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/HOW_TO_USE_SKILLS.md +91 -0
  347. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/academic-mermaid-diagrams/SKILL.md +172 -0
  348. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-config-git-sync/SKILL.md +152 -0
  349. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-config-git-sync/references/command-recipes.md +92 -0
  350. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-ui-prompts/SKILL.md +350 -0
  351. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/allure-report/SKILL.md +230 -0
  352. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/allure-report/examples/usage.md +99 -0
  353. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/allure-report/scripts/view-allure.ps1 +28 -0
  354. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-auto-testing/SKILL.md +329 -0
  355. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-contract-template/SKILL.md +88 -0
  356. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-design/SKILL.md +139 -0
  357. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-integration/SKILL.md +302 -0
  358. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/architect/SKILL.md +211 -0
  359. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/auto-commit/SKILL.md +324 -0
  360. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/backend-patterns/SKILL.md +582 -0
  361. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/baseline-ui/SKILL.md +85 -0
  362. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/better-icons/SKILL.md +129 -0
  363. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/brand-design-md/README.md +215 -0
  364. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/brand-design-md/SKILL.md +191 -0
  365. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/browser-e2e-testing/SKILL.md +305 -0
  366. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/build-error-resolver/SKILL.md +532 -0
  367. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/build-fix/SKILL.md +34 -0
  368. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/business-rule-spec/SKILL.md +99 -0
  369. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/celery-tasks/SKILL.md +95 -0
  370. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/checkpoint/SKILL.md +79 -0
  371. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/cicd/SKILL.md +167 -0
  372. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/SKILL.md +100 -0
  373. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/references/windows-openrouter-clash-playbook.md +94 -0
  374. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/scripts/diagnose-openrouter-route.ps1 +282 -0
  375. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/scripts/ensure-openrouter-rule.ps1 +101 -0
  376. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/clickhouse-io/SKILL.md +429 -0
  377. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/code-review/SKILL.md +171 -0
  378. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/code-reviewer/SKILL.md +104 -0
  379. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/coding-standards/SKILL.md +520 -0
  380. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/consistency-checklist/SKILL.md +57 -0
  381. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/continuous-learning/SKILL.md +80 -0
  382. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/continuous-learning/config.json +18 -0
  383. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/continuous-learning/evaluate-session.sh +60 -0
  384. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/core-rules/SKILL.md +78 -0
  385. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/data-flow-spec/SKILL.md +63 -0
  386. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/database/SKILL.md +147 -0
  387. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/deep-interview/SKILL.md +154 -0
  388. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/django-drf/SKILL.md +97 -0
  389. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/doc-updater/SKILL.md +452 -0
  390. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/docker/SKILL.md +216 -0
  391. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/docx/SKILL.md +105 -0
  392. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/e2e/SKILL.md +364 -0
  393. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/e2e-runner/SKILL.md +708 -0
  394. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/error-handling/SKILL.md +245 -0
  395. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/eval/SKILL.md +125 -0
  396. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/eval-harness/SKILL.md +226 -0
  397. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/README.md +37 -0
  398. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/SKILL.md +141 -0
  399. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/examples/usage.md +76 -0
  400. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/resources/config.json +21 -0
  401. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/scripts/helper.py +24 -0
  402. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/exception-handling-spec/SKILL.md +88 -0
  403. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/find-skill/SKILL.md +95 -0
  404. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-accessibility/SKILL.md +136 -0
  405. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-metadata/SKILL.md +111 -0
  406. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-motion-performance/SKILL.md +151 -0
  407. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-design/SKILL.md +58 -0
  408. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-first-workflow/SKILL.md +187 -0
  409. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-patterns/SKILL.md +631 -0
  410. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fullstack-workflow/SKILL.md +85 -0
  411. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-workflow/SKILL.md +108 -0
  412. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-xianyu-analyzer/SKILL.md +346 -0
  413. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-xianyu-analyzer/scripts/download_images.py +112 -0
  414. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/github-research/SKILL.md +213 -0
  415. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/glue-coding/SKILL.md +389 -0
  416. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/glue-coding-workflow/SKILL.md +230 -0
  417. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/SKILL.md +204 -0
  418. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/references/current-repo-sync-matrix.md +150 -0
  419. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/references/stale-patterns.md +65 -0
  420. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/agents/openai.yaml +4 -0
  421. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/adapt.md +190 -0
  422. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/animate.md +173 -0
  423. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/audit.md +134 -0
  424. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/bolder.md +113 -0
  425. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/brand.md +104 -0
  426. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/clarify.md +174 -0
  427. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/cognitive-load.md +106 -0
  428. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/color-and-contrast.md +105 -0
  429. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/colorize.md +154 -0
  430. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/craft.md +138 -0
  431. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/critique.md +213 -0
  432. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/delight.md +302 -0
  433. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/distill.md +111 -0
  434. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/document.md +427 -0
  435. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/extract.md +70 -0
  436. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/harden.md +347 -0
  437. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/heuristics-scoring.md +234 -0
  438. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/interaction-design.md +195 -0
  439. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/layout.md +141 -0
  440. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/live.md +513 -0
  441. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/motion-design.md +99 -0
  442. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/onboard.md +234 -0
  443. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/optimize.md +258 -0
  444. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/overdrive.md +130 -0
  445. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/personas.md +178 -0
  446. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/polish.md +232 -0
  447. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/product.md +62 -0
  448. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/quieter.md +99 -0
  449. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/responsive-design.md +114 -0
  450. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/shape.md +136 -0
  451. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/spatial-design.md +100 -0
  452. package/package-source/install-manifest.json +523 -0
  453. package/package-source/install-manifest.schema.json +80 -0
  454. package/package-source/tools/install/ai-workflow/check-ai-sync-drift.ps1 +205 -0
  455. package/package-source/tools/install/ai-workflow/sync-ai-config-to-targets.ps1 +826 -0
  456. package/package-source/tools/install/ai-workflow/sync-targets.example.json +35 -0
  457. package/package-source/tools/install/bootstrap-codex-harness.ps1 +776 -0
  458. package/package-source/tools/install/env-check.ps1 +40 -0
  459. package/package-source/tools/install/init-project.ps1 +51 -0
  460. package/package-source/tools/install/install-agent-here.ps1 +57 -0
  461. package/package-source/tools/install/install-agent.ps1 +2513 -0
  462. package/package-source/tools/install/install-user.ps1 +29 -0
  463. package/package.json +1 -1
@@ -0,0 +1,871 @@
1
+ param(
2
+ [string]$ProjectRoot = (Get-Location).Path,
3
+ [int]$MaxBlocksWithoutProgress = 3
4
+ )
5
+
6
+ Set-StrictMode -Version Latest
7
+ $ErrorActionPreference = "Stop"
8
+
9
+ function Write-ContinuationDecision {
10
+ param([string]$Reason)
11
+
12
+ @{
13
+ decision = "block"
14
+ reason = $Reason
15
+ } | ConvertTo-Json -Compress
16
+ }
17
+
18
+ function Exit-Allow {
19
+ exit 0
20
+ }
21
+
22
+ function Get-ObjectPropertyValue {
23
+ param(
24
+ [object]$InputObject,
25
+ [string]$Name,
26
+ [object]$Default = $null
27
+ )
28
+
29
+ if ($null -eq $InputObject) {
30
+ return $Default
31
+ }
32
+
33
+ $property = $InputObject.PSObject.Properties[$Name]
34
+ if ($null -eq $property) {
35
+ return $Default
36
+ }
37
+
38
+ return $property.Value
39
+ }
40
+
41
+ function ConvertTo-StringArray {
42
+ param([object]$Value)
43
+
44
+ if ($null -eq $Value) {
45
+ return @()
46
+ }
47
+
48
+ if ($Value -is [string]) {
49
+ if ([string]::IsNullOrWhiteSpace($Value)) {
50
+ return @()
51
+ }
52
+
53
+ return @($Value)
54
+ }
55
+
56
+ $items = @()
57
+ foreach ($item in $Value) {
58
+ if ($null -ne $item -and -not [string]::IsNullOrWhiteSpace([string]$item)) {
59
+ $items += [string]$item
60
+ }
61
+ }
62
+
63
+ return $items
64
+ }
65
+
66
+ function Resolve-RunProfilePath {
67
+ param(
68
+ [string]$Root,
69
+ [object]$TaskDocument
70
+ )
71
+
72
+ $runtime = Get-ObjectPropertyValue -InputObject $TaskDocument -Name "runtime"
73
+ $configuredPath = [string](Get-ObjectPropertyValue -InputObject $runtime -Name "run_profile" -Default ".codex\task-run-profile.json")
74
+ if ([string]::IsNullOrWhiteSpace($configuredPath)) {
75
+ $configuredPath = ".codex\task-run-profile.json"
76
+ }
77
+
78
+ if ([System.IO.Path]::IsPathRooted($configuredPath)) {
79
+ return $configuredPath
80
+ }
81
+
82
+ return (Join-Path $Root $configuredPath)
83
+ }
84
+
85
+ function Get-EffectiveGitWorkspacePolicy {
86
+ param(
87
+ [string]$Root,
88
+ [object]$TaskDocument,
89
+ [object]$Task
90
+ )
91
+
92
+ $requireCleanWorkspace = $true
93
+ $nonBlockingDirtyPaths = @()
94
+
95
+ $runProfilePath = Resolve-RunProfilePath -Root $Root -TaskDocument $TaskDocument
96
+ if (Test-Path -LiteralPath $runProfilePath) {
97
+ try {
98
+ $profileDocument = Read-JsonFile -Path $runProfilePath
99
+ $profileGit = Get-ObjectPropertyValue -InputObject $profileDocument -Name "git"
100
+ if ($null -ne $profileGit) {
101
+ $requireCleanWorkspace = [bool](Get-ObjectPropertyValue -InputObject $profileGit -Name "require_clean_workspace" -Default $requireCleanWorkspace)
102
+ $nonBlockingDirtyPaths = ConvertTo-StringArray -Value (Get-ObjectPropertyValue -InputObject $profileGit -Name "non_blocking_dirty_paths" -Default $nonBlockingDirtyPaths)
103
+ }
104
+ }
105
+ catch {
106
+ # Ignore unreadable profile here; doctor/runtime hooks own that failure mode.
107
+ }
108
+ }
109
+
110
+ $runtime = Get-ObjectPropertyValue -InputObject $TaskDocument -Name "runtime"
111
+ $runtimeGit = Get-ObjectPropertyValue -InputObject $runtime -Name "git"
112
+ if ($null -ne $runtimeGit) {
113
+ $requireCleanWorkspace = [bool](Get-ObjectPropertyValue -InputObject $runtimeGit -Name "require_clean_workspace" -Default $requireCleanWorkspace)
114
+ $nonBlockingDirtyPaths = ConvertTo-StringArray -Value (Get-ObjectPropertyValue -InputObject $runtimeGit -Name "non_blocking_dirty_paths" -Default $nonBlockingDirtyPaths)
115
+ }
116
+
117
+ $taskExecution = Get-ObjectPropertyValue -InputObject $Task -Name "execution"
118
+ $taskGit = Get-ObjectPropertyValue -InputObject $taskExecution -Name "git"
119
+ if ($null -ne $taskGit) {
120
+ $requireCleanWorkspace = [bool](Get-ObjectPropertyValue -InputObject $taskGit -Name "require_clean_workspace" -Default $requireCleanWorkspace)
121
+ $nonBlockingDirtyPaths = ConvertTo-StringArray -Value (Get-ObjectPropertyValue -InputObject $taskGit -Name "non_blocking_dirty_paths" -Default $nonBlockingDirtyPaths)
122
+ }
123
+
124
+ return [PSCustomObject]@{
125
+ require_clean_workspace = $requireCleanWorkspace
126
+ non_blocking_dirty_paths = $nonBlockingDirtyPaths
127
+ }
128
+ }
129
+
130
+ function Get-GitStatusEntries {
131
+ param([string]$Root)
132
+
133
+ $status = & git -C $Root status --short --untracked-files=all 2>$null
134
+ if ($LASTEXITCODE -ne 0) {
135
+ return @()
136
+ }
137
+
138
+ return @($status)
139
+ }
140
+
141
+ function Get-DisallowedDirtyEntries {
142
+ param(
143
+ [string[]]$StatusLines,
144
+ [string[]]$AllowedPaths
145
+ )
146
+
147
+ $normalizedAllowedPaths = @()
148
+ foreach ($path in @(ConvertTo-StringArray -Value $AllowedPaths)) {
149
+ $normalized = $path
150
+ if ([string]::IsNullOrWhiteSpace($normalized)) {
151
+ continue
152
+ }
153
+
154
+ $normalized = $normalized.Replace("/", "\")
155
+ if ($normalized.StartsWith(".\")) {
156
+ $normalized = $normalized.Substring(2)
157
+ }
158
+
159
+ $normalizedAllowedPaths += $normalized.TrimStart("\")
160
+ }
161
+
162
+ $disallowedEntries = @()
163
+ foreach ($line in @($StatusLines)) {
164
+ if ([string]::IsNullOrWhiteSpace($line)) {
165
+ continue
166
+ }
167
+
168
+ $relativePath = if ($line.Length -ge 4) { $line.Substring(3).Trim() } else { $line.Trim() }
169
+ if ([string]::IsNullOrWhiteSpace($relativePath)) {
170
+ continue
171
+ }
172
+
173
+ $normalizedRelativePath = $relativePath.Replace("/", "\")
174
+ $isAllowed = $false
175
+ foreach ($allowedPath in $normalizedAllowedPaths) {
176
+ if ([string]::IsNullOrWhiteSpace($allowedPath)) {
177
+ continue
178
+ }
179
+
180
+ $directoryPrefix = $allowedPath.TrimEnd("\") + "\"
181
+ if (($normalizedRelativePath -eq $allowedPath) -or $normalizedRelativePath.StartsWith($directoryPrefix, [System.StringComparison]::OrdinalIgnoreCase)) {
182
+ $isAllowed = $true
183
+ break
184
+ }
185
+ }
186
+
187
+ if (-not $isAllowed) {
188
+ $disallowedEntries += $line
189
+ }
190
+ }
191
+
192
+ return $disallowedEntries
193
+ }
194
+
195
+ function Get-DirtyWorkspaceGateInfo {
196
+ param(
197
+ [string]$Root,
198
+ [object]$TaskDocument,
199
+ [object]$Task
200
+ )
201
+
202
+ $gitPolicy = Get-EffectiveGitWorkspacePolicy -Root $Root -TaskDocument $TaskDocument -Task $Task
203
+ $statusLines = Get-GitStatusEntries -Root $Root
204
+ $disallowedEntries = Get-DisallowedDirtyEntries -StatusLines $statusLines -AllowedPaths $gitPolicy.non_blocking_dirty_paths
205
+
206
+ return [PSCustomObject]@{
207
+ require_clean_workspace = $gitPolicy.require_clean_workspace
208
+ non_blocking_dirty_paths = @(ConvertTo-StringArray -Value $gitPolicy.non_blocking_dirty_paths)
209
+ status_lines = @($statusLines)
210
+ disallowed_entries = @($disallowedEntries)
211
+ }
212
+ }
213
+
214
+ function Get-StableProjectKey {
215
+ param([string]$Root)
216
+
217
+ $normalized = ([System.IO.Path]::GetFullPath($Root)).ToLowerInvariant()
218
+ $bytes = [System.Text.Encoding]::UTF8.GetBytes($normalized)
219
+ $sha = [System.Security.Cryptography.SHA256]::Create()
220
+ try {
221
+ return ([System.BitConverter]::ToString($sha.ComputeHash($bytes))).Replace("-", "").Substring(0, 16)
222
+ }
223
+ finally {
224
+ $sha.Dispose()
225
+ }
226
+ }
227
+
228
+ function Get-StatePath {
229
+ param([string]$Root)
230
+
231
+ $stateRoot = Join-Path ([System.IO.Path]::GetTempPath()) "codex-stop-hook-state"
232
+ New-Item -ItemType Directory -Force -Path $stateRoot | Out-Null
233
+ return (Join-Path $stateRoot "$(Get-StableProjectKey -Root $Root).json")
234
+ }
235
+
236
+ function Get-HarnessStateConfigPath {
237
+ param([string]$Root)
238
+
239
+ return (Join-Path $Root ".codex-harness\state\config.json")
240
+ }
241
+
242
+ function Get-HarnessPackageRoot {
243
+ param([string]$Root)
244
+
245
+ $configPath = Get-HarnessStateConfigPath -Root $Root
246
+ if (-not (Test-Path -LiteralPath $configPath)) {
247
+ return ""
248
+ }
249
+
250
+ try {
251
+ $configDocument = Read-JsonFile -Path $configPath
252
+ $packageRoot = [string](Get-ObjectPropertyValue -InputObject $configDocument -Name "packageRoot" -Default "")
253
+ if ([string]::IsNullOrWhiteSpace($packageRoot)) {
254
+ return ""
255
+ }
256
+
257
+ return [System.IO.Path]::GetFullPath($packageRoot)
258
+ }
259
+ catch {
260
+ return ""
261
+ }
262
+ }
263
+
264
+ function Resolve-HarnessDocReference {
265
+ param(
266
+ [string]$Root,
267
+ [string]$RelativePath
268
+ )
269
+
270
+ $projectPath = Join-Path $Root $RelativePath
271
+ if (Test-Path -LiteralPath $projectPath) {
272
+ return $RelativePath.Replace("/", "\")
273
+ }
274
+
275
+ $packageRoot = Get-HarnessPackageRoot -Root $Root
276
+ if (-not [string]::IsNullOrWhiteSpace($packageRoot)) {
277
+ $packagePath = Join-Path $packageRoot $RelativePath
278
+ if (Test-Path -LiteralPath $packagePath) {
279
+ return ([System.IO.Path]::GetFullPath($packagePath))
280
+ }
281
+ }
282
+
283
+ return $RelativePath.Replace("/", "\")
284
+ }
285
+
286
+ function Read-GateState {
287
+ param([string]$Path)
288
+
289
+ if (-not (Test-Path -LiteralPath $Path)) {
290
+ return $null
291
+ }
292
+
293
+ try {
294
+ return (Get-Content -LiteralPath $Path -Raw | ConvertFrom-Json)
295
+ }
296
+ catch {
297
+ return $null
298
+ }
299
+ }
300
+
301
+ function Write-GateState {
302
+ param(
303
+ [string]$Path,
304
+ [string]$EvidenceKey,
305
+ [int]$BlockCount,
306
+ [string]$ReasonCode
307
+ )
308
+
309
+ @{
310
+ evidence_key = $EvidenceKey
311
+ block_count = $BlockCount
312
+ reason_code = $ReasonCode
313
+ updated_at = (Get-Date).ToUniversalTime().ToString("o")
314
+ } | ConvertTo-Json -Depth 5 | Set-Content -LiteralPath $Path -Encoding UTF8
315
+ }
316
+
317
+ function Get-FileStamp {
318
+ param([string]$Path)
319
+
320
+ if (-not (Test-Path -LiteralPath $Path)) {
321
+ return "missing"
322
+ }
323
+
324
+ $item = Get-Item -LiteralPath $Path
325
+ return "$($item.LastWriteTimeUtc.Ticks):$($item.Length)"
326
+ }
327
+
328
+ function Get-TaskHash {
329
+ param([string]$Path)
330
+
331
+ if (-not (Test-Path -LiteralPath $Path)) {
332
+ return "missing"
333
+ }
334
+
335
+ try {
336
+ return (Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash
337
+ }
338
+ catch {
339
+ return "unreadable"
340
+ }
341
+ }
342
+
343
+ function Get-LatestTrace {
344
+ param([string]$TraceDir)
345
+
346
+ if (-not (Test-Path -LiteralPath $TraceDir)) {
347
+ return $null
348
+ }
349
+
350
+ return @(Get-ChildItem -LiteralPath $TraceDir -Filter "*.json" -File -ErrorAction SilentlyContinue |
351
+ Sort-Object LastWriteTimeUtc -Descending |
352
+ Select-Object -First 1)[0]
353
+ }
354
+
355
+ function Read-JsonFile {
356
+ param([string]$Path)
357
+
358
+ $raw = Get-Content -LiteralPath $Path -Raw
359
+ if ([string]::IsNullOrWhiteSpace($raw)) {
360
+ throw "JSON file is empty: $Path"
361
+ }
362
+
363
+ return ($raw | ConvertFrom-Json)
364
+ }
365
+
366
+ function Get-TaskList {
367
+ param([object]$TaskDocument)
368
+
369
+ if ($null -eq $TaskDocument) {
370
+ throw "task.json parsed to null."
371
+ }
372
+
373
+ $tasks = Get-ObjectPropertyValue -InputObject $TaskDocument -Name "tasks" -Default $null
374
+ if ($null -eq $tasks) {
375
+ throw "task.json must contain a tasks array."
376
+ }
377
+
378
+ if (($tasks -is [string]) -or (-not ($tasks -is [System.Collections.IEnumerable]))) {
379
+ throw "task.json tasks must be an array."
380
+ }
381
+
382
+ return @($tasks)
383
+ }
384
+
385
+ function Get-CompletedTaskMap {
386
+ param([object[]]$Tasks)
387
+
388
+ $completed = @{}
389
+ foreach ($task in @($Tasks)) {
390
+ if ($task.passes -eq $true) {
391
+ $completed[[string]$task.id] = $true
392
+ }
393
+ }
394
+
395
+ return $completed
396
+ }
397
+
398
+ function Select-RunnableTask {
399
+ param([object[]]$Tasks)
400
+
401
+ $completed = Get-CompletedTaskMap -Tasks $Tasks
402
+ $candidates = @($Tasks |
403
+ Where-Object { $_.passes -ne $true } |
404
+ Sort-Object @{ Expression = {
405
+ try { [int]$_.priority } catch { [int]::MaxValue }
406
+ } }, id)
407
+
408
+ foreach ($task in $candidates) {
409
+ $dependencies = ConvertTo-StringArray -Value (Get-ObjectPropertyValue -InputObject $task -Name "dependencies" -Default @())
410
+ $missing = @($dependencies | Where-Object { -not $completed.ContainsKey($_) })
411
+ if ($missing.Count -eq 0) {
412
+ return $task
413
+ }
414
+ }
415
+
416
+ return $null
417
+ }
418
+
419
+ function Get-PendingTaskCount {
420
+ param([object[]]$Tasks)
421
+
422
+ return @($Tasks | Where-Object { $_.passes -ne $true }).Count
423
+ }
424
+
425
+ function New-EvidenceKey {
426
+ param(
427
+ [string]$TaskPath,
428
+ [string]$ProgressPath,
429
+ [object]$LatestTrace
430
+ )
431
+
432
+ $traceStamp = "no-trace"
433
+ if ($null -ne $LatestTrace) {
434
+ $traceStamp = "$($LatestTrace.Name):$($LatestTrace.LastWriteTimeUtc.Ticks):$($LatestTrace.Length)"
435
+ }
436
+
437
+ return "task=$(Get-TaskHash -Path $TaskPath)|progress=$(Get-FileStamp -Path $ProgressPath)|trace=$traceStamp"
438
+ }
439
+
440
+ function Get-NextBlockCount {
441
+ param(
442
+ [object]$State,
443
+ [string]$EvidenceKey
444
+ )
445
+
446
+ if ($null -ne $State -and [string](Get-ObjectPropertyValue -InputObject $State -Name "evidence_key" -Default "") -eq $EvidenceKey) {
447
+ return ([int](Get-ObjectPropertyValue -InputObject $State -Name "block_count" -Default 0) + 1)
448
+ }
449
+
450
+ return 1
451
+ }
452
+
453
+ function Get-TraceSummary {
454
+ param([object]$LatestTrace)
455
+
456
+ if ($null -eq $LatestTrace) {
457
+ return "latest trace: none"
458
+ }
459
+
460
+ try {
461
+ $trace = Read-JsonFile -Path $LatestTrace.FullName
462
+ $taskId = [string](Get-ObjectPropertyValue -InputObject $trace -Name "task_id" -Default "unknown")
463
+ $status = [string](Get-ObjectPropertyValue -InputObject $trace -Name "status" -Default "unknown")
464
+ $failedStage = [string](Get-ObjectPropertyValue -InputObject $trace -Name "failed_stage" -Default "")
465
+ if ([string]::IsNullOrWhiteSpace($failedStage)) {
466
+ return "latest trace: $taskId status=$status"
467
+ }
468
+
469
+ return "latest trace: $taskId status=$status failed_stage=$failedStage"
470
+ }
471
+ catch {
472
+ return "latest trace: $($LatestTrace.Name) unreadable"
473
+ }
474
+ }
475
+
476
+ function Get-LatestTraceInfo {
477
+ param([object]$LatestTrace)
478
+
479
+ if ($null -eq $LatestTrace) {
480
+ return [PSCustomObject]@{
481
+ Exists = $false
482
+ Readable = $false
483
+ TaskId = ""
484
+ Status = "missing"
485
+ FailedStage = ""
486
+ Summary = "latest trace: none"
487
+ }
488
+ }
489
+
490
+ try {
491
+ $trace = Read-JsonFile -Path $LatestTrace.FullName
492
+ $taskId = [string](Get-ObjectPropertyValue -InputObject $trace -Name "task_id" -Default "unknown")
493
+ $status = [string](Get-ObjectPropertyValue -InputObject $trace -Name "status" -Default "unknown")
494
+ $failedStage = [string](Get-ObjectPropertyValue -InputObject $trace -Name "failed_stage" -Default "")
495
+ $summary = if ([string]::IsNullOrWhiteSpace($failedStage)) {
496
+ "latest trace: $taskId status=$status"
497
+ }
498
+ else {
499
+ "latest trace: $taskId status=$status failed_stage=$failedStage"
500
+ }
501
+
502
+ return [PSCustomObject]@{
503
+ Exists = $true
504
+ Readable = $true
505
+ TaskId = $taskId
506
+ Status = $status
507
+ FailedStage = $failedStage
508
+ Summary = $summary
509
+ }
510
+ }
511
+ catch {
512
+ return [PSCustomObject]@{
513
+ Exists = $true
514
+ Readable = $false
515
+ TaskId = ""
516
+ Status = "unreadable"
517
+ FailedStage = ""
518
+ Summary = "latest trace: $($LatestTrace.Name) unreadable"
519
+ }
520
+ }
521
+ }
522
+
523
+ function Block-OnTraceEvidenceIfNeeded {
524
+ param(
525
+ [string]$Root,
526
+ [string]$EvidenceKey,
527
+ [object]$TraceInfo
528
+ )
529
+
530
+ if (-not $TraceInfo.Exists) {
531
+ Block-WithState -Root $Root -EvidenceKey $EvidenceKey -ReasonCode "missing_verification_trace" -Reason @"
532
+ Harness stop gate: no verification trace exists.
533
+
534
+ Next action:
535
+ Run the driver or the task verification command so the final answer has fresh evidence.
536
+ "@
537
+ }
538
+
539
+ if (-not $TraceInfo.Readable) {
540
+ Block-WithState -Root $Root -EvidenceKey $EvidenceKey -ReasonCode "unreadable_trace" -Reason @"
541
+ Harness stop gate: latest trace is unreadable.
542
+
543
+ Evidence:
544
+ - $($TraceInfo.Summary)
545
+
546
+ Next action:
547
+ Inspect traces/ and rerun the driver or verification command before stopping.
548
+ "@
549
+ }
550
+
551
+ if ($TraceInfo.Status -ne "passed") {
552
+ Block-WithState -Root $Root -EvidenceKey $EvidenceKey -ReasonCode "latest_trace_not_passed" -Reason @"
553
+ Harness stop gate: latest trace is not passed.
554
+
555
+ Evidence:
556
+ - $($TraceInfo.Summary)
557
+
558
+ Next action:
559
+ Inspect the latest trace and rerun the driver or repair task before stopping.
560
+ "@
561
+ }
562
+ }
563
+
564
+ function ConvertTo-GovernanceFindingText {
565
+ param([object]$GovernanceResult)
566
+
567
+ $lines = @()
568
+ foreach ($finding in @($GovernanceResult.findings)) {
569
+ $lines += "- [$($finding.severity)] $($finding.category): $($finding.message) (repair=$($finding.repair_mode), doc=$($finding.target_doc))"
570
+ }
571
+
572
+ if ($lines.Count -eq 0) {
573
+ return "- (none)"
574
+ }
575
+
576
+ return ($lines -join "`n")
577
+ }
578
+
579
+ function Invoke-HarnessGovernanceCheck {
580
+ param([string]$Root)
581
+
582
+ $checkScript = Join-Path $Root "scripts\harness\harness-governance-check.ps1"
583
+ if (-not (Test-Path -LiteralPath $checkScript)) {
584
+ return $null
585
+ }
586
+
587
+ $output = & powershell -NoProfile -ExecutionPolicy Bypass -File $checkScript -ProjectRoot $Root -WriteExperience 2>$null
588
+ if ([string]::IsNullOrWhiteSpace(($output | Out-String))) {
589
+ return $null
590
+ }
591
+
592
+ try {
593
+ return ($output | ConvertFrom-Json)
594
+ }
595
+ catch {
596
+ return [pscustomobject]@{
597
+ status = "fail"
598
+ findings = @([pscustomobject]@{
599
+ severity = "block"
600
+ category = "governance_check_json"
601
+ message = "harness-governance-check.ps1 returned non-JSON output."
602
+ repair_mode = "agent_repair"
603
+ target_doc = "docs/harness/governance-auto-repair.md"
604
+ })
605
+ experience_written = $false
606
+ next_action = "Inspect tools/install/ai-workflow/harness-governance-check.ps1 and rerun tools/harness/verify.ps1."
607
+ }
608
+ }
609
+ }
610
+
611
+ function Block-WithState {
612
+ param(
613
+ [string]$Root,
614
+ [string]$EvidenceKey,
615
+ [string]$ReasonCode,
616
+ [string]$Reason
617
+ )
618
+
619
+ $statePath = Get-StatePath -Root $Root
620
+ $state = Read-GateState -Path $statePath
621
+ $blockCount = Get-NextBlockCount -State $state -EvidenceKey $EvidenceKey
622
+
623
+ if ($blockCount -gt $MaxBlocksWithoutProgress) {
624
+ Exit-Allow
625
+ }
626
+
627
+ Write-GateState -Path $statePath -EvidenceKey $EvidenceKey -BlockCount $blockCount -ReasonCode $ReasonCode
628
+
629
+ $taskSessionStrategyReference = Resolve-HarnessDocReference -Root $Root -RelativePath "docs/harness/task-session-strategy.md"
630
+
631
+ $subagentReminder = @'
632
+
633
+ Before using any sub-agent on the next pass:
634
+ - first read `AGENTS.md`
635
+ - then read `__TASK_SESSION_STRATEGY__`
636
+ - then read `.codex/rules/agents.md`
637
+ - then read the current truth source and any relevant `.agents/skills/*/SKILL.md` files when they exist
638
+ - only after that may you use a read-only auxiliary sub-agent or a matching writer sub-agent
639
+ - if any repository file must change outside driver-owned runtime outputs, delegate it to the matching writer sub-agent instead of editing from the main/controller session
640
+ - read-only roles must stay read-only
641
+ '@
642
+ $subagentReminder = $subagentReminder.Replace("__TASK_SESSION_STRATEGY__", $taskSessionStrategyReference)
643
+
644
+ $suffix = @"
645
+
646
+ Forced continuation: $blockCount/$MaxBlocksWithoutProgress for the current evidence snapshot.
647
+ If the next pass cannot make progress, report the real human blocker with the latest trace/progress evidence.
648
+ "@
649
+
650
+ Write-Output (Write-ContinuationDecision -Reason (($Reason.Trim()) + $subagentReminder + $suffix))
651
+ exit 0
652
+ }
653
+
654
+ try {
655
+ $rawInput = [Console]::In.ReadToEnd()
656
+ $hookInput = $null
657
+ if (-not [string]::IsNullOrWhiteSpace($rawInput)) {
658
+ try {
659
+ $hookInput = $rawInput | ConvertFrom-Json
660
+ }
661
+ catch {
662
+ $hookInput = $null
663
+ }
664
+ }
665
+
666
+ $resolvedProjectRoot = (Resolve-Path -LiteralPath $ProjectRoot).Path
667
+ $taskPath = Join-Path $resolvedProjectRoot "task.json"
668
+ $progressPath = Join-Path $resolvedProjectRoot "progress.txt"
669
+ $driverPath = Join-Path $resolvedProjectRoot "tools\\harness/codex-loop.ps1"
670
+ $harnessDocsPath = Join-Path $resolvedProjectRoot "docs\harness"
671
+ $traceDir = Join-Path $resolvedProjectRoot "traces"
672
+
673
+ $isHarnessSurface = (Test-Path -LiteralPath $driverPath) -or (Test-Path -LiteralPath $harnessDocsPath)
674
+ if (-not $isHarnessSurface) {
675
+ Exit-Allow
676
+ }
677
+
678
+ $latestTrace = Get-LatestTrace -TraceDir $traceDir
679
+ $latestTraceInfo = Get-LatestTraceInfo -LatestTrace $latestTrace
680
+ $evidenceKey = New-EvidenceKey -TaskPath $taskPath -ProgressPath $progressPath -LatestTrace $latestTrace
681
+
682
+ if (-not (Test-Path -LiteralPath $taskPath)) {
683
+ Block-WithState -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -ReasonCode "missing_task" -Reason @"
684
+ Harness stop gate: task.json is missing.
685
+
686
+ Next action:
687
+ Initialize a real harness task queue before ending the session.
688
+ "@
689
+ }
690
+
691
+ if (-not (Test-Path -LiteralPath $progressPath)) {
692
+ Block-WithState -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -ReasonCode "missing_progress" -Reason @"
693
+ Harness stop gate: progress.txt is missing.
694
+
695
+ Next action:
696
+ Restore the harness runtime files or run bootstrap before ending the session.
697
+ "@
698
+ }
699
+
700
+ $diffCheck = & git -C $resolvedProjectRoot -c core.safecrlf=false diff --check 2>$null
701
+ if ($LASTEXITCODE -ne 0) {
702
+ $reason = 'Harness stop gate: `git diff --check` failed. Fix whitespace/patch-format issues before stopping.'
703
+ if (-not [string]::IsNullOrWhiteSpace(($diffCheck | Out-String))) {
704
+ $reason = "$reason`n`nKey output:`n$($diffCheck | Out-String)"
705
+ }
706
+
707
+ Block-WithState -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -ReasonCode "diff_check_failed" -Reason $reason
708
+ }
709
+
710
+ $governanceResult = Invoke-HarnessGovernanceCheck -Root $resolvedProjectRoot
711
+ if ($null -ne $governanceResult -and [string]$governanceResult.status -eq "fail") {
712
+ $findingText = ConvertTo-GovernanceFindingText -GovernanceResult $governanceResult
713
+ $experienceText = if ($governanceResult.experience_written -eq $true) {
714
+ "Stop hook wrote a new experience entry to docs/harness/governance-auto-repair.md."
715
+ }
716
+ else {
717
+ "No new governance experience entry was written, or it was already recorded."
718
+ }
719
+
720
+ Block-WithState -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -ReasonCode "harness_governance_drift" -Reason @"
721
+ Harness stop gate: governance drift or failed trace experience detected.
722
+
723
+ Findings:
724
+ $findingText
725
+
726
+ Experience:
727
+ - $experienceText
728
+
729
+ Next action:
730
+ $($governanceResult.next_action)
731
+
732
+ Verification:
733
+ - git diff --check
734
+ - powershell -NoProfile -ExecutionPolicy Bypass -File .\tools\\harness/verify.ps1
735
+ "@
736
+ }
737
+
738
+ try {
739
+ $taskDocument = Read-JsonFile -Path $taskPath
740
+ }
741
+ catch {
742
+ Block-WithState -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -ReasonCode "task_json_invalid" -Reason @"
743
+ Harness stop gate: task.json is not valid JSON.
744
+
745
+ Next action:
746
+ Fix task.json, then rerun the driver or verification command.
747
+ "@
748
+ }
749
+
750
+ try {
751
+ $tasks = Get-TaskList -TaskDocument $taskDocument
752
+ }
753
+ catch {
754
+ Block-WithState -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -ReasonCode "task_json_invalid_shape" -Reason @"
755
+ Harness stop gate: task.json does not contain the required `{ "tasks": [...] }` structure.
756
+
757
+ Next action:
758
+ Initialize task.json with a valid harness task queue, then rerun the driver or verification command.
759
+ "@
760
+ }
761
+
762
+ if ($tasks.Count -eq 0) {
763
+ Block-WithState -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -ReasonCode "task_queue_empty" -Reason @"
764
+ Harness stop gate: task.json contains no tasks.
765
+
766
+ Next action:
767
+ Initialize a real harness task queue before ending the session.
768
+ "@
769
+ }
770
+
771
+ $pendingCount = Get-PendingTaskCount -Tasks $tasks
772
+ if ($pendingCount -le 0) {
773
+ Block-OnTraceEvidenceIfNeeded -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -TraceInfo $latestTraceInfo
774
+ Exit-Allow
775
+ }
776
+
777
+ $runnableTask = Select-RunnableTask -Tasks $tasks
778
+ if ($null -eq $runnableTask) {
779
+ if ($latestTraceInfo.Exists -and (($latestTraceInfo.Readable -eq $false) -or ($latestTraceInfo.Status -ne "passed"))) {
780
+ Block-OnTraceEvidenceIfNeeded -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -TraceInfo $latestTraceInfo
781
+ }
782
+
783
+ Exit-Allow
784
+ }
785
+
786
+ $taskId = [string]$runnableTask.id
787
+ $description = [string](Get-ObjectPropertyValue -InputObject $runnableTask -Name "description" -Default "")
788
+ $traceSummary = $latestTraceInfo.Summary
789
+ $command = "powershell -NoProfile -ExecutionPolicy Bypass -File .\tools\\harness/codex-loop.ps1 -RunUntilDone"
790
+
791
+ $workspaceGateInfo = Get-DirtyWorkspaceGateInfo -Root $resolvedProjectRoot -TaskDocument $taskDocument -Task $runnableTask
792
+ if ($workspaceGateInfo.require_clean_workspace -and $workspaceGateInfo.disallowed_entries.Count -gt 0) {
793
+ $dirtyPathsText = ($workspaceGateInfo.disallowed_entries | ForEach-Object { "- $_" }) -join "`n"
794
+ $allowedPathsText = if ($workspaceGateInfo.non_blocking_dirty_paths.Count -gt 0) {
795
+ ($workspaceGateInfo.non_blocking_dirty_paths | ForEach-Object { "- $_" }) -join "`n"
796
+ }
797
+ else {
798
+ "- (none)"
799
+ }
800
+
801
+ $autoCommitSkillDisplayPath = ".agents\skills\auto-commit\SKILL.md"
802
+ $autoCommitSkillPath = Join-Path $resolvedProjectRoot $autoCommitSkillDisplayPath
803
+ $nextActionText = if (Test-Path -LiteralPath $autoCommitSkillPath) {
804
+ @"
805
+ 1. 先确认这些改动全部属于当前任务或受控镜像同步,没有混入用户无关变更。
806
+ 2. 读取 `$autoCommitSkillDisplayPath`,按 Auto Review and Commit 流程做审查、验证和提交。
807
+ 3. 提交完成后运行:
808
+ $command
809
+ "@
810
+ }
811
+ else {
812
+ @"
813
+ 1. 先确认这些改动全部属于当前任务,没有混入用户无关变更。
814
+ 2. 手动提交、暂存或清理这些改动。
815
+ 3. 处理完成后运行:
816
+ $command
817
+ "@
818
+ }
819
+
820
+ Block-WithState -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -ReasonCode "dirty_workspace_auto_commit" -Reason @"
821
+ Harness stop gate: dirty workspace would block the next driver pass.
822
+
823
+ Next task:
824
+ $taskId $description
825
+
826
+ Evidence:
827
+ - pending tasks: $pendingCount
828
+ - $traceSummary
829
+
830
+ Detected dirty paths:
831
+ $dirtyPathsText
832
+
833
+ Current non_blocking_dirty_paths:
834
+ $allowedPathsText
835
+
836
+ Next action:
837
+ $nextActionText
838
+ "@
839
+ }
840
+
841
+ Block-WithState -Root $resolvedProjectRoot -EvidenceKey $evidenceKey -ReasonCode "runnable_task" -Reason @"
842
+ Harness stop gate: runnable work remains.
843
+
844
+ Next task:
845
+ $taskId $description
846
+
847
+ Evidence:
848
+ - pending tasks: $pendingCount
849
+ - $traceSummary
850
+
851
+ Next action:
852
+ $command
853
+
854
+ Before any later final response, report the checkpoint directly:
855
+ - acceptance coverage
856
+ - fresh verification evidence
857
+ - remaining review/controller/repair follow-ups, if any
858
+ - whether automatic driver iteration should continue or a real human blocker exists
859
+
860
+ No MCP feedback tool is required.
861
+ "@
862
+ }
863
+ catch {
864
+ $message = $_.Exception.Message
865
+ if ([string]::IsNullOrWhiteSpace($message)) {
866
+ $message = "unknown error"
867
+ }
868
+
869
+ Write-Output (Write-ContinuationDecision -Reason ("Harness stop gate internal error: {0}. Re-run the current task or inspect the hook script." -f $message))
870
+ exit 0
871
+ }