pactkit 2.1.1__tar.gz → 2.3.0__tar.gz

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 (1024) hide show
  1. {pactkit-2.1.1 → pactkit-2.3.0}/.gitignore +12 -0
  2. pactkit-2.3.0/.opencode/memory/project.md +7 -0
  3. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/pactkit.yaml +5 -1
  4. {pactkit-2.1.1 → pactkit-2.3.0}/AGENTS.md +7 -0
  5. {pactkit-2.1.1 → pactkit-2.3.0}/CHANGELOG.md +38 -0
  6. {pactkit-2.1.1 → pactkit-2.3.0}/PKG-INFO +86 -20
  7. {pactkit-2.1.1 → pactkit-2.3.0}/README.md +85 -19
  8. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-017.md +1 -1
  9. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-029.md +1 -1
  10. pactkit-2.3.0/docs/specs/BUG-slim-002.md +115 -0
  11. pactkit-2.3.0/docs/specs/BUG-slim-003.md +125 -0
  12. pactkit-2.3.0/docs/specs/BUG-slim-004.md +103 -0
  13. pactkit-2.3.0/docs/specs/BUG-slim-005.md +100 -0
  14. pactkit-2.3.0/docs/specs/BUG-slim-006.md +110 -0
  15. pactkit-2.3.0/opencode.json +3 -0
  16. {pactkit-2.1.1 → pactkit-2.3.0}/pyproject.toml +1 -1
  17. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/__init__.py +1 -1
  18. pactkit-2.3.0/src/pactkit/backfill.py +72 -0
  19. pactkit-2.3.0/src/pactkit/cleaners.py +84 -0
  20. pactkit-2.3.0/src/pactkit/cli.py +590 -0
  21. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/config.py +19 -1
  22. pactkit-2.3.0/src/pactkit/context_gen.py +235 -0
  23. pactkit-2.3.0/src/pactkit/coverage_gate.py +115 -0
  24. pactkit-2.3.0/src/pactkit/doctor.py +183 -0
  25. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/generators/deployer.py +271 -100
  26. pactkit-2.3.0/src/pactkit/guards.py +67 -0
  27. pactkit-2.3.0/src/pactkit/id_generator.py +37 -0
  28. pactkit-2.3.0/src/pactkit/invariants.py +36 -0
  29. pactkit-2.3.0/src/pactkit/issue_sync.py +154 -0
  30. pactkit-2.3.0/src/pactkit/lazy_visualize.py +106 -0
  31. pactkit-2.3.0/src/pactkit/lessons.py +80 -0
  32. pactkit-2.3.0/src/pactkit/lint_runner.py +91 -0
  33. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/__init__.py +2 -0
  34. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/commands.py +119 -149
  35. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/rules.py +37 -11
  36. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/skills.py +76 -51
  37. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/workflows.py +83 -29
  38. pactkit-2.3.0/src/pactkit/regression.py +74 -0
  39. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/schemas.py +16 -0
  40. pactkit-2.3.0/src/pactkit/sec_scope.py +225 -0
  41. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/scaffold.py +1 -0
  42. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/spec_linter.py +9 -0
  43. pactkit-2.3.0/src/pactkit/spec_status.py +50 -0
  44. pactkit-2.3.0/src/pactkit/test_mapper.py +60 -0
  45. pactkit-2.3.0/src/pactkit/validators.py +132 -0
  46. {pactkit-2.1.1 → pactkit-2.3.0}/tests/e2e/cli/test_cli_e2e.py +11 -11
  47. pactkit-2.3.0/tests/unit/test_bug014_version_hygiene.py +164 -0
  48. pactkit-2.3.0/tests/unit/test_bug_slim002_instruction_collision.py +169 -0
  49. pactkit-2.3.0/tests/unit/test_bug_slim003.py +238 -0
  50. pactkit-2.3.0/tests/unit/test_bug_slim004.py +152 -0
  51. pactkit-2.3.0/tests/unit/test_bug_slim005.py +111 -0
  52. pactkit-2.3.0/tests/unit/test_bug_slim006.py +215 -0
  53. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_command_frontmatter.py +6 -2
  54. pactkit-2.3.0/tests/unit/test_cross_flow_matrix.py +104 -0
  55. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_deployer_plugin.py +6 -4
  56. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_lang_profiles.py +9 -21
  57. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_modular_constitution.py +3 -2
  58. pactkit-2.3.0/tests/unit/test_prompt_cli_refs.py +82 -0
  59. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_selective_deploy.py +6 -8
  60. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_smart_regression.py +2 -1
  61. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_sprint_command.py +2 -1
  62. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story050_doc_only_shortcut.py +2 -2
  63. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story057_implicit_cleanup.py +4 -3
  64. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story070_opencode_compliance.py +17 -7
  65. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story071_opencode_config_parity.py +8 -7
  66. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story_slim009_lazy_rules.py +8 -8
  67. pactkit-2.3.0/tests/unit/test_story_slim010_dry_refactor.py +178 -0
  68. pactkit-2.3.0/tests/unit/test_story_slim011_command_rules.py +319 -0
  69. pactkit-2.3.0/tests/unit/test_story_slim012_ci.py +490 -0
  70. pactkit-2.3.0/tests/unit/test_story_slim014_clean.py +89 -0
  71. pactkit-2.3.0/tests/unit/test_story_slim014_context.py +228 -0
  72. pactkit-2.3.0/tests/unit/test_story_slim014_guard.py +69 -0
  73. pactkit-2.3.0/tests/unit/test_story_slim014_lazy_viz.py +228 -0
  74. pactkit-2.3.0/tests/unit/test_story_slim014_next_id.py +82 -0
  75. pactkit-2.3.0/tests/unit/test_story_slim014_regression.py +120 -0
  76. pactkit-2.3.0/tests/unit/test_story_slim014_sec_scope.py +288 -0
  77. pactkit-2.3.0/tests/unit/test_story_slim014_validators.py +266 -0
  78. pactkit-2.3.0/tests/unit/test_story_slim015_doctor.py +403 -0
  79. pactkit-2.3.0/tests/unit/test_story_slim016_testmap_lint.py +197 -0
  80. pactkit-2.3.0/tests/unit/test_story_slim017.py +234 -0
  81. pactkit-2.3.0/tests/unit/test_story_slim018.py +136 -0
  82. pactkit-2.1.1/.opencode/memory/project.md +0 -41
  83. pactkit-2.1.1/docs/architecture/governance/lessons.md +0 -101
  84. pactkit-2.1.1/docs/architecture/governance/rules.md +0 -25
  85. pactkit-2.1.1/docs/product/archive/archive_202602.md +0 -704
  86. pactkit-2.1.1/docs/product/archive/archive_202603.md +0 -202
  87. pactkit-2.1.1/docs/product/context.md +0 -26
  88. pactkit-2.1.1/docs/product/sprint_board.md +0 -18
  89. pactkit-2.1.1/docs/specs/STORY-001.md +0 -147
  90. pactkit-2.1.1/docs/specs/STORY-002.md +0 -132
  91. pactkit-2.1.1/docs/specs/STORY-003.md +0 -98
  92. pactkit-2.1.1/docs/specs/STORY-004.md +0 -87
  93. pactkit-2.1.1/docs/specs/STORY-005.md +0 -189
  94. pactkit-2.1.1/docs/specs/STORY-006.md +0 -137
  95. pactkit-2.1.1/docs/specs/STORY-007.md +0 -85
  96. pactkit-2.1.1/docs/specs/STORY-008.md +0 -94
  97. pactkit-2.1.1/docs/specs/STORY-009.md +0 -84
  98. pactkit-2.1.1/docs/specs/STORY-010.md +0 -82
  99. pactkit-2.1.1/docs/specs/STORY-011.md +0 -146
  100. pactkit-2.1.1/docs/specs/STORY-012.md +0 -84
  101. pactkit-2.1.1/docs/specs/STORY-013.md +0 -112
  102. pactkit-2.1.1/docs/specs/STORY-014.md +0 -51
  103. pactkit-2.1.1/docs/specs/STORY-015.md +0 -63
  104. pactkit-2.1.1/docs/specs/STORY-016.md +0 -55
  105. pactkit-2.1.1/docs/specs/STORY-017.md +0 -62
  106. pactkit-2.1.1/docs/specs/STORY-018.md +0 -74
  107. pactkit-2.1.1/docs/specs/STORY-019.md +0 -64
  108. pactkit-2.1.1/docs/specs/STORY-020.md +0 -69
  109. pactkit-2.1.1/docs/specs/STORY-021.md +0 -72
  110. pactkit-2.1.1/docs/specs/STORY-022.md +0 -64
  111. pactkit-2.1.1/docs/specs/STORY-023.md +0 -68
  112. pactkit-2.1.1/docs/specs/STORY-024.md +0 -127
  113. pactkit-2.1.1/docs/specs/STORY-025.md +0 -104
  114. pactkit-2.1.1/docs/specs/STORY-026.md +0 -122
  115. pactkit-2.1.1/docs/specs/STORY-027.md +0 -131
  116. pactkit-2.1.1/docs/specs/STORY-028.md +0 -132
  117. pactkit-2.1.1/docs/specs/STORY-029.md +0 -134
  118. pactkit-2.1.1/docs/specs/STORY-030.md +0 -149
  119. pactkit-2.1.1/docs/specs/STORY-031.md +0 -43
  120. pactkit-2.1.1/docs/specs/STORY-032.md +0 -51
  121. pactkit-2.1.1/docs/specs/STORY-033.md +0 -65
  122. pactkit-2.1.1/docs/specs/STORY-034.md +0 -60
  123. pactkit-2.1.1/docs/specs/STORY-035.md +0 -55
  124. pactkit-2.1.1/docs/specs/STORY-036.md +0 -69
  125. pactkit-2.1.1/docs/specs/STORY-037.md +0 -69
  126. pactkit-2.1.1/docs/specs/STORY-038.md +0 -69
  127. pactkit-2.1.1/docs/specs/STORY-039.md +0 -132
  128. pactkit-2.1.1/docs/specs/STORY-040.md +0 -142
  129. pactkit-2.1.1/docs/specs/STORY-041.md +0 -181
  130. pactkit-2.1.1/docs/specs/STORY-042.md +0 -156
  131. pactkit-2.1.1/docs/specs/STORY-043.md +0 -147
  132. pactkit-2.1.1/docs/specs/STORY-044.md +0 -151
  133. pactkit-2.1.1/docs/specs/STORY-045.md +0 -149
  134. pactkit-2.1.1/docs/specs/STORY-046.md +0 -88
  135. pactkit-2.1.1/docs/specs/STORY-047.md +0 -81
  136. pactkit-2.1.1/docs/specs/STORY-048.md +0 -113
  137. pactkit-2.1.1/docs/specs/STORY-049.md +0 -111
  138. pactkit-2.1.1/docs/specs/STORY-050.md +0 -110
  139. pactkit-2.1.1/docs/specs/STORY-051.md +0 -122
  140. pactkit-2.1.1/docs/specs/STORY-052.md +0 -90
  141. pactkit-2.1.1/docs/specs/STORY-053.md +0 -142
  142. pactkit-2.1.1/docs/specs/STORY-054.md +0 -146
  143. pactkit-2.1.1/docs/specs/STORY-055.md +0 -203
  144. pactkit-2.1.1/docs/specs/STORY-056.md +0 -134
  145. pactkit-2.1.1/docs/specs/STORY-057.md +0 -119
  146. pactkit-2.1.1/docs/specs/STORY-058.md +0 -131
  147. pactkit-2.1.1/docs/specs/STORY-059.md +0 -136
  148. pactkit-2.1.1/docs/specs/STORY-060.md +0 -91
  149. pactkit-2.1.1/docs/specs/STORY-061.md +0 -78
  150. pactkit-2.1.1/docs/specs/STORY-062.md +0 -105
  151. pactkit-2.1.1/docs/specs/STORY-063.md +0 -226
  152. pactkit-2.1.1/docs/specs/STORY-064.md +0 -130
  153. pactkit-2.1.1/docs/specs/STORY-065.md +0 -164
  154. pactkit-2.1.1/docs/specs/STORY-069.md +0 -265
  155. pactkit-2.1.1/docs/specs/STORY-070.md +0 -201
  156. pactkit-2.1.1/docs/specs/STORY-071.md +0 -257
  157. pactkit-2.1.1/docs/specs/STORY-072.md +0 -241
  158. pactkit-2.1.1/docs/specs/STORY-073.md +0 -169
  159. pactkit-2.1.1/docs/specs/STORY-slim-001.md +0 -273
  160. pactkit-2.1.1/docs/specs/STORY-slim-005.md +0 -483
  161. pactkit-2.1.1/docs/specs/STORY-slim-006.md +0 -321
  162. pactkit-2.1.1/docs/specs/STORY-slim-007.md +0 -301
  163. pactkit-2.1.1/docs/specs/STORY-slim-008.md +0 -202
  164. pactkit-2.1.1/docs/specs/STORY-slim-009.md +0 -224
  165. pactkit-2.1.1/opencode.json +0 -12
  166. pactkit-2.1.1/src/pactkit/cli.py +0 -237
  167. pactkit-2.1.1/tests/unit/test_bug014_version_hygiene.py +0 -283
  168. {pactkit-2.1.1 → pactkit-2.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  169. {pactkit-2.1.1 → pactkit-2.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  170. {pactkit-2.1.1 → pactkit-2.3.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  171. {pactkit-2.1.1 → pactkit-2.3.0}/.github/dependabot.yml +0 -0
  172. {pactkit-2.1.1 → pactkit-2.3.0}/.github/workflows/ci.yml +0 -0
  173. {pactkit-2.1.1 → pactkit-2.3.0}/.github/workflows/pactkit.yml +0 -0
  174. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/.gitignore +0 -0
  175. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/bun.lock +0 -0
  176. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/memory/.gitignore +0 -0
  177. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/@opencode-ai/plugin/package.json +0 -0
  178. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/@opencode-ai/sdk/package.json +0 -0
  179. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/LICENSE +0 -0
  180. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/README.md +0 -0
  181. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/index.cjs +0 -0
  182. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/index.d.cts +0 -0
  183. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/index.d.ts +0 -0
  184. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/index.js +0 -0
  185. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.cjs +0 -0
  186. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.d.cts +0 -0
  187. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.d.ts +0 -0
  188. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.js +0 -0
  189. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/package.json +0 -0
  190. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.cjs +0 -0
  191. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.d.cts +0 -0
  192. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.d.ts +0 -0
  193. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.js +0 -0
  194. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/package.json +0 -0
  195. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/package.json +0 -0
  196. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/index.ts +0 -0
  197. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/locales/index.ts +0 -0
  198. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/mini/index.ts +0 -0
  199. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/ZodError.ts +0 -0
  200. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -0
  201. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -0
  202. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/index.ts +0 -0
  203. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -0
  204. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/object.ts +0 -0
  205. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -0
  206. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -0
  207. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/string.ts +0 -0
  208. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/union.ts +0 -0
  209. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/errors.ts +0 -0
  210. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/external.ts +0 -0
  211. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -0
  212. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -0
  213. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -0
  214. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -0
  215. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -0
  216. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/util.ts +0 -0
  217. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/index.ts +0 -0
  218. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/locales/en.ts +0 -0
  219. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/standard-schema.ts +0 -0
  220. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/Mocker.ts +0 -0
  221. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -0
  222. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -0
  223. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/array.test.ts +0 -0
  224. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -0
  225. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -0
  226. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/base.test.ts +0 -0
  227. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/bigint.test.ts +0 -0
  228. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/branded.test.ts +0 -0
  229. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/catch.test.ts +0 -0
  230. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/coerce.test.ts +0 -0
  231. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/complex.test.ts +0 -0
  232. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/custom.test.ts +0 -0
  233. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/date.test.ts +0 -0
  234. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -0
  235. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/default.test.ts +0 -0
  236. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/description.test.ts +0 -0
  237. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -0
  238. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/enum.test.ts +0 -0
  239. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/error.test.ts +0 -0
  240. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -0
  241. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -0
  242. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/function.test.ts +0 -0
  243. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/generics.test.ts +0 -0
  244. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -0
  245. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/intersection.test.ts +0 -0
  246. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/language-server.source.ts +0 -0
  247. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/language-server.test.ts +0 -0
  248. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/literal.test.ts +0 -0
  249. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/map.test.ts +0 -0
  250. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/masking.test.ts +0 -0
  251. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/mocker.test.ts +0 -0
  252. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nan.test.ts +0 -0
  253. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -0
  254. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nullable.test.ts +0 -0
  255. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/number.test.ts +0 -0
  256. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -0
  257. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -0
  258. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object.test.ts +0 -0
  259. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/optional.test.ts +0 -0
  260. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -0
  261. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/parser.test.ts +0 -0
  262. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/partials.test.ts +0 -0
  263. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -0
  264. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -0
  265. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -0
  266. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/primitive.test.ts +0 -0
  267. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/promise.test.ts +0 -0
  268. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/readonly.test.ts +0 -0
  269. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/record.test.ts +0 -0
  270. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/recursive.test.ts +0 -0
  271. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/refine.test.ts +0 -0
  272. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -0
  273. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/set.test.ts +0 -0
  274. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -0
  275. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/string.test.ts +0 -0
  276. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/transformer.test.ts +0 -0
  277. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/tuple.test.ts +0 -0
  278. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/unions.test.ts +0 -0
  279. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/validations.test.ts +0 -0
  280. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/void.test.ts +0 -0
  281. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/types.ts +0 -0
  282. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/checks.ts +0 -0
  283. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/coerce.ts +0 -0
  284. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/compat.ts +0 -0
  285. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/errors.ts +0 -0
  286. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/external.ts +0 -0
  287. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/index.ts +0 -0
  288. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/iso.ts +0 -0
  289. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/parse.ts +0 -0
  290. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/schemas.ts +0 -0
  291. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -0
  292. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -0
  293. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -0
  294. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -0
  295. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -0
  296. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -0
  297. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -0
  298. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -0
  299. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -0
  300. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -0
  301. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -0
  302. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -0
  303. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -0
  304. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -0
  305. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -0
  306. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -0
  307. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -0
  308. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -0
  309. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -0
  310. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -0
  311. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -0
  312. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -0
  313. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -0
  314. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -0
  315. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -0
  316. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -0
  317. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -0
  318. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -0
  319. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -0
  320. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -0
  321. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -0
  322. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -0
  323. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -0
  324. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -0
  325. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -0
  326. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -0
  327. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -0
  328. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -0
  329. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -0
  330. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -0
  331. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -0
  332. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -0
  333. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -0
  334. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -0
  335. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -0
  336. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -0
  337. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -0
  338. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -0
  339. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -0
  340. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -0
  341. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -0
  342. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -0
  343. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -0
  344. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -0
  345. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -0
  346. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -0
  347. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -0
  348. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -0
  349. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -0
  350. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -0
  351. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -0
  352. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -0
  353. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -0
  354. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -0
  355. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -0
  356. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -0
  357. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -0
  358. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/api.ts +0 -0
  359. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/checks.ts +0 -0
  360. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/config.ts +0 -0
  361. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/core.ts +0 -0
  362. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/doc.ts +0 -0
  363. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/errors.ts +0 -0
  364. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/index.ts +0 -0
  365. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/json-schema.ts +0 -0
  366. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/parse.ts +0 -0
  367. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/regexes.ts +0 -0
  368. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/registries.ts +0 -0
  369. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/schemas.ts +0 -0
  370. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/standard-schema.ts +0 -0
  371. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -0
  372. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/index.test.ts +0 -0
  373. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -0
  374. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -0
  375. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -0
  376. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -0
  377. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -0
  378. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/to-json-schema.ts +0 -0
  379. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/util.ts +0 -0
  380. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/versions.ts +0 -0
  381. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/zsf.ts +0 -0
  382. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/index.ts +0 -0
  383. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ar.ts +0 -0
  384. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/az.ts +0 -0
  385. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/be.ts +0 -0
  386. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/bg.ts +0 -0
  387. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ca.ts +0 -0
  388. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/cs.ts +0 -0
  389. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/da.ts +0 -0
  390. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/de.ts +0 -0
  391. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/en.ts +0 -0
  392. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/eo.ts +0 -0
  393. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/es.ts +0 -0
  394. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fa.ts +0 -0
  395. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fi.ts +0 -0
  396. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fr-CA.ts +0 -0
  397. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fr.ts +0 -0
  398. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/he.ts +0 -0
  399. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/hu.ts +0 -0
  400. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/id.ts +0 -0
  401. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/index.ts +0 -0
  402. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/is.ts +0 -0
  403. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/it.ts +0 -0
  404. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ja.ts +0 -0
  405. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ka.ts +0 -0
  406. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/kh.ts +0 -0
  407. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/km.ts +0 -0
  408. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ko.ts +0 -0
  409. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/lt.ts +0 -0
  410. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/mk.ts +0 -0
  411. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ms.ts +0 -0
  412. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/nl.ts +0 -0
  413. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/no.ts +0 -0
  414. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ota.ts +0 -0
  415. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/pl.ts +0 -0
  416. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ps.ts +0 -0
  417. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/pt.ts +0 -0
  418. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ru.ts +0 -0
  419. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/sl.ts +0 -0
  420. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/sv.ts +0 -0
  421. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ta.ts +0 -0
  422. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/th.ts +0 -0
  423. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/tr.ts +0 -0
  424. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ua.ts +0 -0
  425. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/uk.ts +0 -0
  426. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ur.ts +0 -0
  427. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/vi.ts +0 -0
  428. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/yo.ts +0 -0
  429. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/zh-CN.ts +0 -0
  430. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/zh-TW.ts +0 -0
  431. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/checks.ts +0 -0
  432. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/coerce.ts +0 -0
  433. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/external.ts +0 -0
  434. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/index.ts +0 -0
  435. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/iso.ts +0 -0
  436. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/parse.ts +0 -0
  437. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/schemas.ts +0 -0
  438. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -0
  439. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -0
  440. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -0
  441. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -0
  442. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -0
  443. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -0
  444. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -0
  445. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -0
  446. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -0
  447. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -0
  448. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -0
  449. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -0
  450. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -0
  451. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4-mini/index.ts +0 -0
  452. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.cjs +0 -0
  453. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.d.cts +0 -0
  454. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.d.ts +0 -0
  455. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.js +0 -0
  456. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.cjs +0 -0
  457. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.d.cts +0 -0
  458. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.d.ts +0 -0
  459. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.js +0 -0
  460. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.cjs +0 -0
  461. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.d.cts +0 -0
  462. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.d.ts +0 -0
  463. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.js +0 -0
  464. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.cjs +0 -0
  465. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -0
  466. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -0
  467. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.js +0 -0
  468. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.cjs +0 -0
  469. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -0
  470. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -0
  471. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.js +0 -0
  472. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.cjs +0 -0
  473. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -0
  474. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -0
  475. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.js +0 -0
  476. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.cjs +0 -0
  477. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -0
  478. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -0
  479. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.js +0 -0
  480. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.cjs +0 -0
  481. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -0
  482. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -0
  483. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.js +0 -0
  484. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.cjs +0 -0
  485. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.d.cts +0 -0
  486. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.d.ts +0 -0
  487. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.js +0 -0
  488. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.cjs +0 -0
  489. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.d.cts +0 -0
  490. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.d.ts +0 -0
  491. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.js +0 -0
  492. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.cjs +0 -0
  493. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.d.cts +0 -0
  494. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.d.ts +0 -0
  495. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.js +0 -0
  496. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/package.json +0 -0
  497. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.cjs +0 -0
  498. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.d.cts +0 -0
  499. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.d.ts +0 -0
  500. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.js +0 -0
  501. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.cjs +0 -0
  502. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.d.cts +0 -0
  503. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.d.ts +0 -0
  504. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.js +0 -0
  505. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.cjs +0 -0
  506. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.d.cts +0 -0
  507. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.d.ts +0 -0
  508. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.js +0 -0
  509. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.cjs +0 -0
  510. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.d.cts +0 -0
  511. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.d.ts +0 -0
  512. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.js +0 -0
  513. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.cjs +0 -0
  514. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.d.cts +0 -0
  515. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.d.ts +0 -0
  516. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.js +0 -0
  517. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.cjs +0 -0
  518. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.d.cts +0 -0
  519. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.d.ts +0 -0
  520. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.js +0 -0
  521. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.cjs +0 -0
  522. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.d.cts +0 -0
  523. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.d.ts +0 -0
  524. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.js +0 -0
  525. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.cjs +0 -0
  526. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.d.cts +0 -0
  527. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.d.ts +0 -0
  528. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.js +0 -0
  529. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.cjs +0 -0
  530. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.d.cts +0 -0
  531. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.d.ts +0 -0
  532. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.js +0 -0
  533. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/package.json +0 -0
  534. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.cjs +0 -0
  535. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.d.cts +0 -0
  536. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.d.ts +0 -0
  537. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.js +0 -0
  538. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.cjs +0 -0
  539. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.d.cts +0 -0
  540. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.d.ts +0 -0
  541. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.js +0 -0
  542. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.cjs +0 -0
  543. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.d.cts +0 -0
  544. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.d.ts +0 -0
  545. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.js +0 -0
  546. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.cjs +0 -0
  547. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.d.cts +0 -0
  548. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.d.ts +0 -0
  549. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.js +0 -0
  550. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.cjs +0 -0
  551. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.d.cts +0 -0
  552. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.d.ts +0 -0
  553. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.js +0 -0
  554. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.cjs +0 -0
  555. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.d.cts +0 -0
  556. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.d.ts +0 -0
  557. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.js +0 -0
  558. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.cjs +0 -0
  559. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.d.cts +0 -0
  560. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.d.ts +0 -0
  561. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.js +0 -0
  562. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.cjs +0 -0
  563. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.d.cts +0 -0
  564. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.d.ts +0 -0
  565. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.js +0 -0
  566. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.cjs +0 -0
  567. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.d.cts +0 -0
  568. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.d.ts +0 -0
  569. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.js +0 -0
  570. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/package.json +0 -0
  571. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.cjs +0 -0
  572. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.d.cts +0 -0
  573. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.d.ts +0 -0
  574. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.js +0 -0
  575. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.cjs +0 -0
  576. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.d.cts +0 -0
  577. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.d.ts +0 -0
  578. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.js +0 -0
  579. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.cjs +0 -0
  580. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.d.cts +0 -0
  581. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.d.ts +0 -0
  582. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.js +0 -0
  583. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.cjs +0 -0
  584. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.d.cts +0 -0
  585. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.d.ts +0 -0
  586. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.js +0 -0
  587. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.cjs +0 -0
  588. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.d.cts +0 -0
  589. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.d.ts +0 -0
  590. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.js +0 -0
  591. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.cjs +0 -0
  592. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.d.cts +0 -0
  593. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.d.ts +0 -0
  594. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.js +0 -0
  595. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.cjs +0 -0
  596. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.d.cts +0 -0
  597. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.d.ts +0 -0
  598. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.js +0 -0
  599. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.cjs +0 -0
  600. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.d.cts +0 -0
  601. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.d.ts +0 -0
  602. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.js +0 -0
  603. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.cjs +0 -0
  604. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.d.cts +0 -0
  605. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.d.ts +0 -0
  606. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.js +0 -0
  607. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.cjs +0 -0
  608. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.d.cts +0 -0
  609. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.d.ts +0 -0
  610. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.js +0 -0
  611. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.cjs +0 -0
  612. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.d.cts +0 -0
  613. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.d.ts +0 -0
  614. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.js +0 -0
  615. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.cjs +0 -0
  616. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.d.cts +0 -0
  617. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.d.ts +0 -0
  618. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.js +0 -0
  619. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.cjs +0 -0
  620. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.d.cts +0 -0
  621. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.d.ts +0 -0
  622. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.js +0 -0
  623. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.cjs +0 -0
  624. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.d.cts +0 -0
  625. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.d.ts +0 -0
  626. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.js +0 -0
  627. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.cjs +0 -0
  628. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.d.cts +0 -0
  629. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.d.ts +0 -0
  630. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.js +0 -0
  631. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.cjs +0 -0
  632. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.d.cts +0 -0
  633. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.d.ts +0 -0
  634. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.js +0 -0
  635. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.cjs +0 -0
  636. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.d.cts +0 -0
  637. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.d.ts +0 -0
  638. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.js +0 -0
  639. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.cjs +0 -0
  640. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.d.cts +0 -0
  641. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.d.ts +0 -0
  642. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.js +0 -0
  643. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.cjs +0 -0
  644. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.d.cts +0 -0
  645. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.d.ts +0 -0
  646. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.js +0 -0
  647. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.cjs +0 -0
  648. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.d.cts +0 -0
  649. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.d.ts +0 -0
  650. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.js +0 -0
  651. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.cjs +0 -0
  652. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.d.cts +0 -0
  653. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.d.ts +0 -0
  654. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.js +0 -0
  655. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.cjs +0 -0
  656. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.d.cts +0 -0
  657. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.d.ts +0 -0
  658. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.js +0 -0
  659. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.cjs +0 -0
  660. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.d.cts +0 -0
  661. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.d.ts +0 -0
  662. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.js +0 -0
  663. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.cjs +0 -0
  664. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.d.cts +0 -0
  665. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.d.ts +0 -0
  666. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.js +0 -0
  667. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.cjs +0 -0
  668. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.d.cts +0 -0
  669. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.d.ts +0 -0
  670. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.js +0 -0
  671. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.cjs +0 -0
  672. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.d.cts +0 -0
  673. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.d.ts +0 -0
  674. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.js +0 -0
  675. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.cjs +0 -0
  676. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.d.cts +0 -0
  677. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.d.ts +0 -0
  678. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.js +0 -0
  679. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.cjs +0 -0
  680. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.d.cts +0 -0
  681. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.d.ts +0 -0
  682. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.js +0 -0
  683. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.cjs +0 -0
  684. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.d.cts +0 -0
  685. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.d.ts +0 -0
  686. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.js +0 -0
  687. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.cjs +0 -0
  688. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.d.cts +0 -0
  689. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.d.ts +0 -0
  690. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.js +0 -0
  691. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.cjs +0 -0
  692. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.d.cts +0 -0
  693. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.d.ts +0 -0
  694. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.js +0 -0
  695. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.cjs +0 -0
  696. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.d.cts +0 -0
  697. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.d.ts +0 -0
  698. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.js +0 -0
  699. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.cjs +0 -0
  700. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.d.cts +0 -0
  701. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.d.ts +0 -0
  702. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.js +0 -0
  703. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.cjs +0 -0
  704. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.d.cts +0 -0
  705. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.d.ts +0 -0
  706. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.js +0 -0
  707. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.cjs +0 -0
  708. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.d.cts +0 -0
  709. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.d.ts +0 -0
  710. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.js +0 -0
  711. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.cjs +0 -0
  712. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.d.cts +0 -0
  713. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.d.ts +0 -0
  714. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.js +0 -0
  715. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.cjs +0 -0
  716. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.d.cts +0 -0
  717. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.d.ts +0 -0
  718. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.js +0 -0
  719. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.cjs +0 -0
  720. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.d.cts +0 -0
  721. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.d.ts +0 -0
  722. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.js +0 -0
  723. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.cjs +0 -0
  724. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.d.cts +0 -0
  725. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.d.ts +0 -0
  726. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.js +0 -0
  727. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.cjs +0 -0
  728. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.d.cts +0 -0
  729. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.d.ts +0 -0
  730. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.js +0 -0
  731. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.cjs +0 -0
  732. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.d.cts +0 -0
  733. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.d.ts +0 -0
  734. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.js +0 -0
  735. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/package.json +0 -0
  736. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.cjs +0 -0
  737. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.d.cts +0 -0
  738. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.d.ts +0 -0
  739. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.js +0 -0
  740. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.cjs +0 -0
  741. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.d.cts +0 -0
  742. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.d.ts +0 -0
  743. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.js +0 -0
  744. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.cjs +0 -0
  745. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.d.cts +0 -0
  746. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.d.ts +0 -0
  747. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.js +0 -0
  748. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.cjs +0 -0
  749. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.d.cts +0 -0
  750. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.d.ts +0 -0
  751. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.js +0 -0
  752. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.cjs +0 -0
  753. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.d.cts +0 -0
  754. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.d.ts +0 -0
  755. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.js +0 -0
  756. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.cjs +0 -0
  757. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.d.cts +0 -0
  758. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.d.ts +0 -0
  759. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.js +0 -0
  760. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.cjs +0 -0
  761. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.d.cts +0 -0
  762. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.d.ts +0 -0
  763. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.js +0 -0
  764. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.cjs +0 -0
  765. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.d.cts +0 -0
  766. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.d.ts +0 -0
  767. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.js +0 -0
  768. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.cjs +0 -0
  769. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.d.cts +0 -0
  770. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.d.ts +0 -0
  771. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.js +0 -0
  772. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.cjs +0 -0
  773. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.d.cts +0 -0
  774. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.d.ts +0 -0
  775. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.js +0 -0
  776. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.cjs +0 -0
  777. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.d.cts +0 -0
  778. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.d.ts +0 -0
  779. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.js +0 -0
  780. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.cjs +0 -0
  781. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.d.cts +0 -0
  782. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.d.ts +0 -0
  783. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.js +0 -0
  784. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.cjs +0 -0
  785. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.d.cts +0 -0
  786. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.d.ts +0 -0
  787. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.js +0 -0
  788. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.cjs +0 -0
  789. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.d.cts +0 -0
  790. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.d.ts +0 -0
  791. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.js +0 -0
  792. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.cjs +0 -0
  793. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.d.cts +0 -0
  794. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.d.ts +0 -0
  795. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.js +0 -0
  796. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.cjs +0 -0
  797. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.d.cts +0 -0
  798. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.d.ts +0 -0
  799. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.js +0 -0
  800. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.cjs +0 -0
  801. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.d.cts +0 -0
  802. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.d.ts +0 -0
  803. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.js +0 -0
  804. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.cjs +0 -0
  805. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.d.cts +0 -0
  806. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.d.ts +0 -0
  807. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.js +0 -0
  808. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.cjs +0 -0
  809. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.d.cts +0 -0
  810. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.d.ts +0 -0
  811. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.js +0 -0
  812. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.cjs +0 -0
  813. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.d.cts +0 -0
  814. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.d.ts +0 -0
  815. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.js +0 -0
  816. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.cjs +0 -0
  817. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.d.cts +0 -0
  818. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.d.ts +0 -0
  819. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.js +0 -0
  820. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/package.json +0 -0
  821. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.cjs +0 -0
  822. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.d.cts +0 -0
  823. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.d.ts +0 -0
  824. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.js +0 -0
  825. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.cjs +0 -0
  826. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.d.cts +0 -0
  827. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.d.ts +0 -0
  828. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.js +0 -0
  829. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/package.json +0 -0
  830. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.cjs +0 -0
  831. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.d.cts +0 -0
  832. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.d.ts +0 -0
  833. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.js +0 -0
  834. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/package.json +0 -0
  835. {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/package.json +0 -0
  836. {pactkit-2.1.1 → pactkit-2.3.0}/CODE_OF_CONDUCT.md +0 -0
  837. {pactkit-2.1.1 → pactkit-2.3.0}/CONTRIBUTING.md +0 -0
  838. {pactkit-2.1.1 → pactkit-2.3.0}/LICENSE +0 -0
  839. {pactkit-2.1.1 → pactkit-2.3.0}/SECURITY.md +0 -0
  840. {pactkit-2.1.1 → pactkit-2.3.0}/docs/assets/logo.png +0 -0
  841. {pactkit-2.1.1 → pactkit-2.3.0}/docs/guides/codex-integration-preresearch.md +0 -0
  842. {pactkit-2.1.1 → pactkit-2.3.0}/docs/guides/tool-integration-checklist.md +0 -0
  843. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-001.md +0 -0
  844. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-002.md +0 -0
  845. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-003.md +0 -0
  846. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-004.md +0 -0
  847. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-005.md +0 -0
  848. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-006.md +0 -0
  849. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-007.md +0 -0
  850. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-008.md +0 -0
  851. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-009.md +0 -0
  852. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-010.md +0 -0
  853. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-011.md +0 -0
  854. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-012.md +0 -0
  855. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-013.md +0 -0
  856. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-014.md +0 -0
  857. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-015.md +0 -0
  858. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-016.md +0 -0
  859. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-018.md +0 -0
  860. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-019.md +0 -0
  861. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-020.md +0 -0
  862. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-021.md +0 -0
  863. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-022.md +0 -0
  864. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-023.md +0 -0
  865. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-024.md +0 -0
  866. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-025.md +0 -0
  867. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-026.md +0 -0
  868. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-027.md +0 -0
  869. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-028.md +0 -0
  870. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-030.md +0 -0
  871. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-031.md +0 -0
  872. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-032.md +0 -0
  873. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-033.md +0 -0
  874. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-034.md +0 -0
  875. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-035.md +0 -0
  876. {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-slim-001.md +0 -0
  877. {pactkit-2.1.1 → pactkit-2.3.0}/docs/test_cases/BUG-001_case.md +0 -0
  878. {pactkit-2.1.1 → pactkit-2.3.0}/docs/test_cases/BUG-002_case.md +0 -0
  879. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/generators/__init__.py +0 -0
  880. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/generators/adapter.py +0 -0
  881. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/profiles.py +0 -0
  882. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/agents.py +0 -0
  883. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/references.py +0 -0
  884. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/scripts.py +0 -0
  885. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/__init__.py +0 -0
  886. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/board.py +0 -0
  887. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/visualize.py +0 -0
  888. {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/utils.py +0 -0
  889. {pactkit-2.1.1 → pactkit-2.3.0}/tests/conftest.py +0 -0
  890. {pactkit-2.1.1 → pactkit-2.3.0}/tests/e2e/__init__.py +0 -0
  891. {pactkit-2.1.1 → pactkit-2.3.0}/tests/e2e/cli/__init__.py +0 -0
  892. {pactkit-2.1.1 → pactkit-2.3.0}/tests/integration/__init__.py +0 -0
  893. {pactkit-2.1.1 → pactkit-2.3.0}/tests/integration/test_deploy_classic.py +0 -0
  894. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_agent_features.py +0 -0
  895. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_agent_frontmatter.py +0 -0
  896. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_agents_enrichment.py +0 -0
  897. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_board_bug027.py +0 -0
  898. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_board_sections.py +0 -0
  899. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug001_skill_path.py +0 -0
  900. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug002_plugin_paths.py +0 -0
  901. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug003_multi_import.py +0 -0
  902. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug004_dead_set.py +0 -0
  903. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug005_archive_taskless.py +0 -0
  904. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug006_scan_excludes.py +0 -0
  905. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug007_stale_trace_refs.py +0 -0
  906. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug008_stale_command_refs.py +0 -0
  907. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug009_project_config_backfill.py +0 -0
  908. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug010_rewrite_yaml.py +0 -0
  909. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug011_stale_refs.py +0 -0
  910. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug012_call_graph_filter.py +0 -0
  911. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug013_config_single_source.py +0 -0
  912. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug017_project_init_playbook.py +0 -0
  913. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug018_issue_tracker_verification.py +0 -0
  914. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug019_venv_deployment.py +0 -0
  915. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug020_claude_md_backup.py +0 -0
  916. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug025_release_delegation.py +0 -0
  917. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug026_version_sync.py +0 -0
  918. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug028_ghost_refs.py +0 -0
  919. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug029_stack_detection_fallback.py +0 -0
  920. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug030_spec_lint_cli.py +0 -0
  921. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug031_docstring_accuracy.py +0 -0
  922. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug034_plan_metadata_template.py +0 -0
  923. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug035_opencode_dual_layer.py +0 -0
  924. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_021.py +0 -0
  925. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_022.py +0 -0
  926. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_023.py +0 -0
  927. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_024.py +0 -0
  928. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_slim001_env_detection.py +0 -0
  929. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_check_command.py +0 -0
  930. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_command_visualize_modes.py +0 -0
  931. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_config.py +0 -0
  932. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_config_auto_merge.py +0 -0
  933. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_constitution_sharpening.py +0 -0
  934. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_create_skill.py +0 -0
  935. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_deploy_opencode_parity.py +0 -0
  936. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_deployer_cleanup.py +0 -0
  937. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_design_command.py +0 -0
  938. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_done_gates.py +0 -0
  939. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_draw_prompt.py +0 -0
  940. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_draw_references.py +0 -0
  941. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_drawio_mcp.py +0 -0
  942. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_home_path_fix.py +0 -0
  943. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_hotfix_command.py +0 -0
  944. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_init_guard.py +0 -0
  945. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_list_stories.py +0 -0
  946. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_mcp_integration.py +0 -0
  947. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_model_config.py +0 -0
  948. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_multi_prefix.py +0 -0
  949. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_pdca_slim.py +0 -0
  950. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_profiles.py +0 -0
  951. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_project_visibility.py +0 -0
  952. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_prompt_structural_invariants.py +0 -0
  953. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_prompts_package.py +0 -0
  954. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_release.py +0 -0
  955. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_release_field.py +0 -0
  956. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_release_v110.py +0 -0
  957. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_render_prompt.py +0 -0
  958. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_review_command.py +0 -0
  959. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_rules_enrichment.py +0 -0
  960. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_scaffold.py +0 -0
  961. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_scaffold_developer_prefix.py +0 -0
  962. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_schemas.py +0 -0
  963. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_script_extraction.py +0 -0
  964. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_session_context.py +0 -0
  965. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_skill_structure.py +0 -0
  966. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_skills_enrichment.py +0 -0
  967. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_stack_references.py +0 -0
  968. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_status_command.py +0 -0
  969. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_statusline.py +0 -0
  970. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story014_release.py +0 -0
  971. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story015_ci_lint_gate.py +0 -0
  972. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story016_claude_md.py +0 -0
  973. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story017_init_claude_md.py +0 -0
  974. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story018_arch_staleness.py +0 -0
  975. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story019_bailout.py +0 -0
  976. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story020_horizon.py +0 -0
  977. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story021_rfc.py +0 -0
  978. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story022_decision_tree.py +0 -0
  979. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story023_test_quality.py +0 -0
  980. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story024_native_agent.py +0 -0
  981. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story025_ci_pipeline.py +0 -0
  982. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story026_issue_tracker.py +0 -0
  983. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story027_hooks.py +0 -0
  984. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story028_rule_scoping.py +0 -0
  985. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story029_doctor.py +0 -0
  986. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story030_lint.py +0 -0
  987. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story031_git_init_guard.py +0 -0
  988. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story032_greenfield_redirect.py +0 -0
  989. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story033_config_backfill.py +0 -0
  990. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story034_plan_config_refresh.py +0 -0
  991. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story035_readme_docs.py +0 -0
  992. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story037_regression_fix.py +0 -0
  993. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story038_call_graph_update.py +0 -0
  994. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story039_venv_config.py +0 -0
  995. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story040_layered_claude_md.py +0 -0
  996. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story042_spec_linter.py +0 -0
  997. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story043_active_clarify.py +0 -0
  998. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story044_consistency_check.py +0 -0
  999. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story045_auto_pr.py +0 -0
  1000. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story046_agent_adapter.py +0 -0
  1001. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story047_enterprise_flags.py +0 -0
  1002. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story048_worktree_isolation.py +0 -0
  1003. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story049_community_standards.py +0 -0
  1004. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story051_workflow_streamlining.py +0 -0
  1005. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story052_conditional_github_release.py +0 -0
  1006. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story053_impact_regression.py +0 -0
  1007. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story055_commands.py +0 -0
  1008. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story055_config.py +0 -0
  1009. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story055_spec_linter.py +0 -0
  1010. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story056_commands.py +0 -0
  1011. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story056_config.py +0 -0
  1012. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story058_routing_fix.py +0 -0
  1013. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story060_init_hang.py +0 -0
  1014. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story061_remove_thinking.py +0 -0
  1015. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story062_mcp_recommendations.py +0 -0
  1016. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story063_prompt_slimming.py +0 -0
  1017. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story064_venv_local_md.py +0 -0
  1018. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story065_sprint_model.py +0 -0
  1019. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story069_opencode_format.py +0 -0
  1020. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story072_developer_prefix.py +0 -0
  1021. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story073_command_model_routing.py +0 -0
  1022. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_tools.py +0 -0
  1023. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_update_task.py +0 -0
  1024. {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_visualize_modes.py +0 -0
@@ -30,6 +30,18 @@ Thumbs.db
30
30
  docs/architecture/graphs/
31
31
  docs/architecture/snapshots/
32
32
 
33
+ # PactKit - IP protection (keep locally, not tracked in git)
34
+ # Only BUG-*.md specs are tracked; STORY/HOTFIX contain sensitive design details
35
+ docs/specs/STORY-*.md
36
+ docs/specs/HOTFIX-*.md
37
+ docs/test_cases/STORY-*_case.md
38
+ docs/test_cases/HOTFIX-*_case.md
39
+ docs/product/sprint_board.md
40
+ docs/product/context.md
41
+ docs/product/archive/
42
+ docs/product/prd.md
43
+ docs/architecture/governance/
44
+
33
45
  # Claude Code local config
34
46
  .claude/
35
47
 
@@ -0,0 +1,7 @@
1
+ ---
2
+ description: ''
3
+ label: project
4
+ limit: 5000
5
+ read_only: false
6
+ ---
7
+
@@ -2,7 +2,7 @@
2
2
  # Edit this file to customize which components are deployed.
3
3
  # Remove items from a list to disable them. Default: all enabled.
4
4
 
5
- version: "2.1.1"
5
+ version: "2.2.0"
6
6
  stack: python
7
7
  root: .
8
8
  developer: "slim"
@@ -60,6 +60,10 @@ rules:
60
60
  # CI/CD — set provider to github or gitlab to generate pipeline config
61
61
  ci:
62
62
  provider: github
63
+ # runner: ubuntu-latest
64
+ # language_version: "3.11"
65
+ # github_host: "" # GHE server (empty = github.com)
66
+ # actions_ref: "" # GHE actions prefix
63
67
 
64
68
  # Issue Tracker — set provider to github to link stories to issues
65
69
  issue_tracker:
@@ -65,3 +65,10 @@ src/pactkit/
65
65
 
66
66
  @./docs/product/context.md
67
67
  output MUST use Chinese
68
+
69
+ ## PDCA Execution Lessons
70
+
71
+ - **/project-done 不要重复跑回归测试**:如果 `/project-act` 阶段刚跑过全量测试且全绿,Done 阶段直接引用该结果,不要再跑一次。只有在 Done 阶段有额外文件修改(非 doc-only)时才重新跑。
72
+ - **大文件一次读完**:`lessons.md` 等治理文件直接一次性读取,不要分多次小范围读取再拼凑。
73
+ - **并行写多个独立文件**:rules.md、lessons.md、context.md、sprint_board.md 的更新互不依赖,应并行执行,不要串行。
74
+ - **流程指令是指导,不是死板清单**:当上下文已经包含某个步骤的结果时(如测试结果、lint 结果),直接复用,不要机械重复执行。
@@ -4,6 +4,44 @@ All notable changes to PactKit will be documented in this file.
4
4
 
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/).
6
6
 
7
+ ## [2.3.0] - 2026-03-22
8
+
9
+ ### Added
10
+ - **Deterministic CLI Subcommands** (STORY-slim-014) — Migrated 7 Done-phase operations from prompt-delegated to Python CLI: `clean`, `regression`, `context`, `sec-scope`, `guard`, `next-id`, `visualize --lazy`.
11
+ - **Doctor, Backfill-Release, Issue-Sync CLI** (STORY-slim-015) — `pactkit doctor` diagnoses project health (HLD drift, board structure, config completeness). `pactkit backfill-release` replaces `Release: TBD` in completed specs. `pactkit issue-sync` handles GitHub issue lifecycle for BUG/HOTFIX items.
12
+ - **Test-Map and Lint CLI** (STORY-slim-016) — `pactkit test-map` maps changed source files to test files via `LANG_PROFILES.test_map_pattern`. `pactkit lint` runs stack-aware lint with auto-fix and blocking modes from `pactkit.yaml`.
13
+ - **Lesson-Append, Invariants-Refresh, Coverage-Gate CLI** (STORY-slim-017) — `pactkit lesson-append` checks specificity (file/function reference) and dedup (Jaccard < 0.5) before appending. `pactkit invariants-refresh` updates test count invariant. `pactkit coverage-gate` enforces 3-tier coverage thresholds (80/50/block).
14
+ - **Systemic Cross-Flow Guards** (STORY-slim-018) — 4 guard test suites: R1 prompt-CLI cross-reference validation, R2 canonical `LANG_PROFILE_REQUIRED_KEYS` SSoT in `schemas.py`, R3 Spec Status lifecycle (`spec-status` CLI + W006 lint rule), R4 declarative cross-flow coverage matrix (12 subcommands × prompt keys).
15
+ - **Spec Status CLI** — `pactkit spec-status <spec> <status>` programmatically updates `| Status |` field in spec files. W006 lint rule flags invalid status values.
16
+
17
+ ### Fixed
18
+ - **Cross-Flow Integrity** (BUG-slim-003 through BUG-slim-006) — 4 rounds of systematic audits fixed 25+ gaps: dead CLI subcommands with zero prompt references, argparser flags without `deploy()` parity, `visualize --lazy` not calling actual function, double `python3` prefix in HOTFIX_PROMPT, unused LANG_PROFILES keys removed.
19
+ - **SSoT Violations** — `backfill.py` imports `BOARD_SECTION_DONE` from schemas (was hardcoded regex). `lessons.py` uses `LESSONS_ROW_FORMAT` from schemas. 5 test files import `LANG_PROFILE_REQUIRED_KEYS` instead of hardcoding key sets.
20
+ - **Prompt Cognitive Overload** (STORY-slim-013) — Reduced redundancy across PDCA command prompts.
21
+ - **Rules-Commands Collision** (BUG-slim-002) — Resolved instruction conflicts between rules and command playbooks.
22
+ - **Draw Skill Stuck** — Added concrete templates to `pactkit-draw` to prevent empty-output behavior.
23
+
24
+ ### Changed
25
+ - `SPEC_VALID_STATUSES` and `LANG_PROFILE_REQUIRED_KEYS` canonicalized in `schemas.py` as single source of truth.
26
+ - Sprint board required sections enforced: `## 📋 Backlog`, `## 🔄 In Progress`, `## ✅ Done`.
27
+ - BUG-017/BUG-029 spec Status fields corrected to valid values per `SPEC_VALID_STATUSES`.
28
+
29
+ ## [2.2.0] - 2026-03-20
30
+
31
+ ### Added
32
+ - **Context-Aware Rule Loading** (STORY-slim-011) — `COMMAND_RULES_MAP` maps each of 11 commands to only the rules it needs, reducing per-command token usage by 20-83%. Classic format uses `@import` injection; OpenCode format embeds rule content inline. Credential safety rule (`09`) is force-injected into every command regardless of configuration.
33
+ - **Stack-Aware CI Pipeline Generation** (STORY-slim-012) — `CI_PROFILES` in `workflows.py` supports Python, Node.js, Go, and Java stacks with correct setup actions, install commands, and test runners. New `pactkit.yaml` CI config fields: `runner`, `language_version`, `github_host`, `actions_ref`.
34
+ - **GitHub Enterprise (GHE) Support** — Explicit `ci.github_host` configuration for GHE Server environments, with `ci.actions_ref` prefix replacement for custom action mirrors. Auto-detection fallback via `_detect_ghe()`.
35
+ - **OpenCode CI Parity** — `_deploy_opencode()` now calls `_deploy_ci()`, ensuring CI pipeline files are generated regardless of deployment format.
36
+ - **CI Status Feedback** — `/project-done` Phase 4 now includes optional CI status check via `gh run list` after push (non-blocking).
37
+ - **GitLab CI Stack-Aware** — GitLab CI templates now use correct Docker images and commands per stack (e.g., `node:20` + `npm ci` for Node projects).
38
+
39
+ ### Changed
40
+ - `_deploy_ci()` refactored from hardcoded Python-only templates to parameterized builders (`_build_github_workflow()`, `_build_gitlab_ci()`).
41
+ - `generate_default_yaml()` now outputs commented CI configuration fields (`runner`, `language_version`, `github_host`, `actions_ref`) for user discoverability.
42
+ - CLAUDE.md no longer contains global rule `@import` directives — rules are now injected at command level.
43
+ - OpenCode `opencode.json` instructions reduced to only `09-credential-safety.md` — other rules injected per-command.
44
+
7
45
  ## [2.1.1] - 2026-03-18
8
46
 
9
47
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pactkit
3
- Version: 2.1.1
3
+ Version: 2.3.0
4
4
  Summary: Spec-driven agentic DevOps toolkit for AI coding assistants
5
5
  Project-URL: Homepage, https://pactkit.dev
6
6
  Project-URL: Repository, https://github.com/pactkit/pactkit
@@ -35,9 +35,11 @@ Description-Content-Type: text/markdown
35
35
  <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT" /></a>
36
36
  </p>
37
37
 
38
- <p align="center"><strong>Ship features with AI agents that follow specs, not vibes.</strong></p>
38
+ <p align="center"><strong>CODE is the Law. Data is the Truth. Prompt is ONLY instruction. AI is ONLY creativity.</strong></p>
39
39
 
40
- > PactKit gives AI coding assistants a structured operating system 9 specialized agents, 11 commands, 10 skills, and a full Plan-Act-Check-Done lifecycle. One `pip install` and your AI assistant writes specs before code, runs TDD, and never commits without passing tests.
40
+ > **PactKit** (Pact 契约 + Kit) is a governance framework that enforces the **P.A.C.T.** contract between humans and AI agents. Deterministic operations run as code, not prompts. Decisions are grounded in data, not memory. AI does what it's best at creativity and language — while code handles everything that must be repeatable and correct.
41
+ >
42
+ > 25 CLI subcommands, 9 specialized agents, 11 commands, 10 skills, and a full Plan-Act-Check-Done lifecycle. One `pip install` and your AI assistant follows the contract.
41
43
 
42
44
  ### Supported AI Tools
43
45
 
@@ -57,15 +59,31 @@ You: /project-sprint "Add OAuth2 login"
57
59
  Done Repo Maintainer gates regression, archives story, commits
58
60
  ```
59
61
 
60
- ## Why PactKit?
62
+ ## The P.A.C.T. Governance Contract
63
+
64
+ The name says it all — **Pact** means covenant. These four principles define the boundary between human intent and AI execution:
61
65
 
62
- AI coding assistants are powerful but unpredictable without structure. PactKit adds a **spec-driven governance layer**:
66
+ ```
67
+ P Prompt is ONLY instruction Tells AI how to act — defines process, never state
68
+ A AI is ONLY creativity Formatting, summarization, language — never deterministic logic
69
+ C Code is the Law Sole executor of deterministic operations — no bypass, no approximation
70
+ T Truth Data is the Truth Factual basis for all judgment — no memory, no inference, no fabrication
71
+ ```
63
72
 
64
- - **Spec is the Law** Specifications are the single source of truth (Spec > Tests > Code)
65
- - **Multi-Agent Ensemble** 9 specialized agents collaborate, each with defined roles
73
+ - If a script exists **use it**. Never reimplement in natural language. (C)
74
+ - If data is available → **read it**. Never guess or recall from memory. (T)
75
+ - Prompts define HOW, never WHAT. Current state comes from data, not docs. (P)
76
+ - AI formats, summarizes, and creates. AI does not parse, compute, or fabricate. (A)
77
+
78
+ > Read the full philosophy: [docs/architecture/governance/philosophy.md](docs/architecture/governance/philosophy.md)
79
+
80
+ ## Why PactKit?
81
+
82
+ - **P.A.C.T. Governance** — A contract between humans and AI agents, with clear boundaries
83
+ - **Multi-Agent Ensemble** — 9 specialized agents collaborate, each with constrained tools
66
84
  - **Full PDCA Lifecycle** — Plan -> Act -> Check -> Done, with quality gates at every stage
67
- - **Safe by Design** — TDD-first development, safe regression testing, pre-existing test protection
68
- - **Multi-Tool Support** — Works with Claude Code and OpenCode (with model routing)
85
+ - **Safe by Design** — TDD-first, safe regression, pre-existing test protection
86
+ - **Multi-Tool Support** — Works with Claude Code and OpenCode
69
87
 
70
88
  ## Installation
71
89
 
@@ -140,6 +158,22 @@ Or run the full cycle in one command:
140
158
  | **Init** | `/project-init` | System Architect | Bootstrap project structure and governance |
141
159
  | **Design** | `/project-design` | Product Designer | PRD generation -> Story decomposition -> Board setup |
142
160
 
161
+ ### Role-Based Command Guide
162
+
163
+ Choose commands based on your role:
164
+
165
+ | Role | Commands | What You Do |
166
+ |------|----------|-------------|
167
+ | **BA** | `/project-clarify` | Surface ambiguities, produce Clarified Brief |
168
+ | **PM** | `/project-design` | Generate PRD, decompose into Stories |
169
+ | **Architect** | `/project-plan`, `/project-init` | Create Specs, initialize project governance |
170
+ | **Developer** | `/project-act`, `/project-hotfix` | TDD implementation, emergency fixes |
171
+ | **QA** | `/project-check` | Security + quality audit, spec alignment |
172
+ | **DevOps** | `/project-done`, `/project-release`, `/project-pr` | Commit, release, pull request |
173
+ | **Team Lead** | `/project-sprint` | One-command PDCA orchestration (**Claude Code only**) |
174
+
175
+ > **Solo developer?** Focus on `/project-plan` → `/project-act` → `/project-done`. Other commands become valuable when you have team collaboration or external stakeholders.
176
+
143
177
  ### Embedded Skills (auto-invoked by commands)
144
178
 
145
179
  | Skill | Embedded In | Purpose |
@@ -190,6 +224,38 @@ PactKit deploys 10 skills (3 scripted + 7 prompt-only), auto-invoked by commands
190
224
  | **pactkit-review** | Prompt-only | PR code review with SOLID/Security/Quality checklists |
191
225
  | **pactkit-release** | Prompt-only | Version bump, architecture snapshot, git tag |
192
226
 
227
+ ## CLI Subcommands
228
+
229
+ PactKit ships 25 deterministic CLI subcommands — operations that were previously delegated to AI prompts are now enforced in Python code (the "C" in P.A.C.T.):
230
+
231
+ | Command | Purpose |
232
+ |---------|---------|
233
+ | `pactkit init` | Deploy toolkit to AI coding assistant |
234
+ | `pactkit update` | Update playbooks (preserves config) |
235
+ | `pactkit upgrade` | Upgrade with format selection |
236
+ | `pactkit version` | Show installed version |
237
+ | `pactkit schema` | Print document schemas |
238
+ | `pactkit doctor` | Diagnose project health (HLD drift, board, config) |
239
+ | `pactkit spec-lint` | Validate spec structure (14 rules: E001-E008, W001-W006) |
240
+ | `pactkit spec-status` | Update spec Status field (Draft/In Progress/Done) |
241
+ | `pactkit guard` | Check project init markers |
242
+ | `pactkit next-id` | Generate next Story/Bug ID |
243
+ | `pactkit context` | Generate `context.md` from project state |
244
+ | `pactkit clean` | Remove stack-specific temp artifacts |
245
+ | `pactkit lint` | Stack-aware lint with auto-fix and blocking modes |
246
+ | `pactkit regression` | Classify changes (SKIP/FULL/IMPACT) |
247
+ | `pactkit test-map` | Map source files to test files |
248
+ | `pactkit coverage-gate` | Enforce 3-tier coverage thresholds (80/50/block) |
249
+ | `pactkit visualize` | Conditional graph regeneration (lazy mode) |
250
+ | `pactkit lesson-append` | Append lesson with specificity check and dedup |
251
+ | `pactkit invariants-refresh` | Update test count invariant in rules.md |
252
+ | `pactkit sec-scope` | Detect security scope for changed files |
253
+ | `pactkit backfill-release` | Replace Release: TBD in completed specs |
254
+ | `pactkit issue-sync` | GitHub issue lifecycle for BUG/HOTFIX items |
255
+ | `pactkit lint-context` | Validate context.md structure |
256
+ | `pactkit lint-lessons` | Validate lessons.md structure |
257
+ | `pactkit lint-testcase` | Validate test case structure |
258
+
193
259
  ## Deployment Architecture
194
260
 
195
261
  PactKit supports two deployment formats:
@@ -198,9 +264,9 @@ PactKit supports two deployment formats:
198
264
 
199
265
  ```
200
266
  ~/.claude/
201
- ├── CLAUDE.md <- Modular constitution (entry point with @import)
202
- ├── rules/ <- 7 rule modules
203
- ├── commands/ <- 11 command playbooks
267
+ ├── CLAUDE.md <- Project context entry point
268
+ ├── rules/ <- 8 rule modules (loaded per-command, not globally)
269
+ ├── commands/ <- 11 command playbooks (with per-command rule @imports)
204
270
  ├── agents/ <- 9 agent definitions
205
271
  └── skills/ <- 10 skill packages
206
272
  ```
@@ -210,7 +276,7 @@ PactKit supports two deployment formats:
210
276
  ```
211
277
  ~/.config/opencode/
212
278
  ├── AGENTS.md <- On-demand @reference index (lazy rule loading)
213
- ├── rules/ <- 8 rule modules (3 core always-load + 5 on-demand)
279
+ ├── rules/ <- 8 rule modules (3 core always-load + 6 on-demand)
214
280
  ├── commands/ <- 11 command playbooks (with model: routing)
215
281
  ├── agents/ <- 9 agent definitions (mode: subagent)
216
282
  ├── skills/ <- 10 skill packages (with SKILL.md frontmatter)
@@ -218,7 +284,7 @@ PactKit supports two deployment formats:
218
284
  ```
219
285
 
220
286
  Key OpenCode differences:
221
- - **Rules**: Core rules always loaded via `instructions`; on-demand rules via `@reference` in AGENTS.md (lazy loading, -62% tokens)
287
+ - **Rules**: Per-command inline embedding; credential safety always loaded via `instructions` (context-aware loading, -20% to -83% tokens per command)
222
288
  - **Agents**: `mode: subagent`, no `name` field, tools as record format
223
289
  - **Commands**: `agent: build` + `model: provider/model-id` (model routing)
224
290
  - **Config**: `pactkit.yaml` in `.opencode/` (not `.claude/`)
@@ -265,9 +331,9 @@ docs/
265
331
  | `agents` | list | all 9 | Agent definitions to deploy |
266
332
  | `commands` | list | all 11 | Command playbooks to deploy |
267
333
  | `skills` | list | all 10 | Skills to deploy |
268
- | `rules` | list | all 7 | Constitution rule modules to deploy |
334
+ | `rules` | list | all 8 | Constitution rule modules to deploy |
269
335
  | `exclude` | object | `{}` | Components to exclude (e.g., `exclude.agents: [agent-name]`) |
270
- | `ci` | object | `provider: none` | CI/CD pipeline generation (`github`, `gitlab`, `none`) |
336
+ | `ci` | object | `provider: none` | CI/CD pipeline generation (`github`, `gitlab`, `none`). Sub-fields: `runner` (default: `ubuntu-latest`), `language_version` (default: auto per stack), `github_host` (GHE server address), `actions_ref` (GHE actions prefix) |
271
337
  | `issue_tracker` | object | `provider: none` | External issue tracker (`github`, `none`) |
272
338
  | `hooks` | object | disabled | Opt-in hook templates (pre-commit, post-test, pre-push) |
273
339
  | `lint_blocking` | bool | `false` | Whether lint failures block commits |
@@ -283,15 +349,15 @@ PactKit's safe regression system prevents agents from blindly modifying pre-exis
283
349
  - **Regression Check** — Read-only gate; pre-existing test failure = STOP and report
284
350
  - **Done Gate** — Full regression by default; incremental only when ALL safety conditions are met
285
351
 
286
- ## Hierarchy of Truth
352
+ ## Hierarchy of Truth (the "T" in P.A.C.T.)
287
353
 
288
354
  ```
289
- Tier 1: Specs & Test Cases <- The Law
290
- Tier 2: Tests <- The Verification
355
+ Tier 1: Specs & Test Cases <- The Law (CODE is the Law)
356
+ Tier 2: Tests <- The Verification (DATA is the Truth)
291
357
  Tier 3: Implementation <- The Mutable Reality
292
358
  ```
293
359
 
294
- When conflicts arise: Spec wins. Always.
360
+ When conflicts arise: Spec wins. Always. The agent modifies code, never the spec.
295
361
 
296
362
  ## MCP Integration
297
363
 
@@ -9,9 +9,11 @@
9
9
  <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT" /></a>
10
10
  </p>
11
11
 
12
- <p align="center"><strong>Ship features with AI agents that follow specs, not vibes.</strong></p>
12
+ <p align="center"><strong>CODE is the Law. Data is the Truth. Prompt is ONLY instruction. AI is ONLY creativity.</strong></p>
13
13
 
14
- > PactKit gives AI coding assistants a structured operating system 9 specialized agents, 11 commands, 10 skills, and a full Plan-Act-Check-Done lifecycle. One `pip install` and your AI assistant writes specs before code, runs TDD, and never commits without passing tests.
14
+ > **PactKit** (Pact 契约 + Kit) is a governance framework that enforces the **P.A.C.T.** contract between humans and AI agents. Deterministic operations run as code, not prompts. Decisions are grounded in data, not memory. AI does what it's best at creativity and language — while code handles everything that must be repeatable and correct.
15
+ >
16
+ > 25 CLI subcommands, 9 specialized agents, 11 commands, 10 skills, and a full Plan-Act-Check-Done lifecycle. One `pip install` and your AI assistant follows the contract.
15
17
 
16
18
  ### Supported AI Tools
17
19
 
@@ -31,15 +33,31 @@ You: /project-sprint "Add OAuth2 login"
31
33
  Done Repo Maintainer gates regression, archives story, commits
32
34
  ```
33
35
 
34
- ## Why PactKit?
36
+ ## The P.A.C.T. Governance Contract
37
+
38
+ The name says it all — **Pact** means covenant. These four principles define the boundary between human intent and AI execution:
35
39
 
36
- AI coding assistants are powerful but unpredictable without structure. PactKit adds a **spec-driven governance layer**:
40
+ ```
41
+ P Prompt is ONLY instruction Tells AI how to act — defines process, never state
42
+ A AI is ONLY creativity Formatting, summarization, language — never deterministic logic
43
+ C Code is the Law Sole executor of deterministic operations — no bypass, no approximation
44
+ T Truth Data is the Truth Factual basis for all judgment — no memory, no inference, no fabrication
45
+ ```
37
46
 
38
- - **Spec is the Law** Specifications are the single source of truth (Spec > Tests > Code)
39
- - **Multi-Agent Ensemble** 9 specialized agents collaborate, each with defined roles
47
+ - If a script exists **use it**. Never reimplement in natural language. (C)
48
+ - If data is available → **read it**. Never guess or recall from memory. (T)
49
+ - Prompts define HOW, never WHAT. Current state comes from data, not docs. (P)
50
+ - AI formats, summarizes, and creates. AI does not parse, compute, or fabricate. (A)
51
+
52
+ > Read the full philosophy: [docs/architecture/governance/philosophy.md](docs/architecture/governance/philosophy.md)
53
+
54
+ ## Why PactKit?
55
+
56
+ - **P.A.C.T. Governance** — A contract between humans and AI agents, with clear boundaries
57
+ - **Multi-Agent Ensemble** — 9 specialized agents collaborate, each with constrained tools
40
58
  - **Full PDCA Lifecycle** — Plan -> Act -> Check -> Done, with quality gates at every stage
41
- - **Safe by Design** — TDD-first development, safe regression testing, pre-existing test protection
42
- - **Multi-Tool Support** — Works with Claude Code and OpenCode (with model routing)
59
+ - **Safe by Design** — TDD-first, safe regression, pre-existing test protection
60
+ - **Multi-Tool Support** — Works with Claude Code and OpenCode
43
61
 
44
62
  ## Installation
45
63
 
@@ -114,6 +132,22 @@ Or run the full cycle in one command:
114
132
  | **Init** | `/project-init` | System Architect | Bootstrap project structure and governance |
115
133
  | **Design** | `/project-design` | Product Designer | PRD generation -> Story decomposition -> Board setup |
116
134
 
135
+ ### Role-Based Command Guide
136
+
137
+ Choose commands based on your role:
138
+
139
+ | Role | Commands | What You Do |
140
+ |------|----------|-------------|
141
+ | **BA** | `/project-clarify` | Surface ambiguities, produce Clarified Brief |
142
+ | **PM** | `/project-design` | Generate PRD, decompose into Stories |
143
+ | **Architect** | `/project-plan`, `/project-init` | Create Specs, initialize project governance |
144
+ | **Developer** | `/project-act`, `/project-hotfix` | TDD implementation, emergency fixes |
145
+ | **QA** | `/project-check` | Security + quality audit, spec alignment |
146
+ | **DevOps** | `/project-done`, `/project-release`, `/project-pr` | Commit, release, pull request |
147
+ | **Team Lead** | `/project-sprint` | One-command PDCA orchestration (**Claude Code only**) |
148
+
149
+ > **Solo developer?** Focus on `/project-plan` → `/project-act` → `/project-done`. Other commands become valuable when you have team collaboration or external stakeholders.
150
+
117
151
  ### Embedded Skills (auto-invoked by commands)
118
152
 
119
153
  | Skill | Embedded In | Purpose |
@@ -164,6 +198,38 @@ PactKit deploys 10 skills (3 scripted + 7 prompt-only), auto-invoked by commands
164
198
  | **pactkit-review** | Prompt-only | PR code review with SOLID/Security/Quality checklists |
165
199
  | **pactkit-release** | Prompt-only | Version bump, architecture snapshot, git tag |
166
200
 
201
+ ## CLI Subcommands
202
+
203
+ PactKit ships 25 deterministic CLI subcommands — operations that were previously delegated to AI prompts are now enforced in Python code (the "C" in P.A.C.T.):
204
+
205
+ | Command | Purpose |
206
+ |---------|---------|
207
+ | `pactkit init` | Deploy toolkit to AI coding assistant |
208
+ | `pactkit update` | Update playbooks (preserves config) |
209
+ | `pactkit upgrade` | Upgrade with format selection |
210
+ | `pactkit version` | Show installed version |
211
+ | `pactkit schema` | Print document schemas |
212
+ | `pactkit doctor` | Diagnose project health (HLD drift, board, config) |
213
+ | `pactkit spec-lint` | Validate spec structure (14 rules: E001-E008, W001-W006) |
214
+ | `pactkit spec-status` | Update spec Status field (Draft/In Progress/Done) |
215
+ | `pactkit guard` | Check project init markers |
216
+ | `pactkit next-id` | Generate next Story/Bug ID |
217
+ | `pactkit context` | Generate `context.md` from project state |
218
+ | `pactkit clean` | Remove stack-specific temp artifacts |
219
+ | `pactkit lint` | Stack-aware lint with auto-fix and blocking modes |
220
+ | `pactkit regression` | Classify changes (SKIP/FULL/IMPACT) |
221
+ | `pactkit test-map` | Map source files to test files |
222
+ | `pactkit coverage-gate` | Enforce 3-tier coverage thresholds (80/50/block) |
223
+ | `pactkit visualize` | Conditional graph regeneration (lazy mode) |
224
+ | `pactkit lesson-append` | Append lesson with specificity check and dedup |
225
+ | `pactkit invariants-refresh` | Update test count invariant in rules.md |
226
+ | `pactkit sec-scope` | Detect security scope for changed files |
227
+ | `pactkit backfill-release` | Replace Release: TBD in completed specs |
228
+ | `pactkit issue-sync` | GitHub issue lifecycle for BUG/HOTFIX items |
229
+ | `pactkit lint-context` | Validate context.md structure |
230
+ | `pactkit lint-lessons` | Validate lessons.md structure |
231
+ | `pactkit lint-testcase` | Validate test case structure |
232
+
167
233
  ## Deployment Architecture
168
234
 
169
235
  PactKit supports two deployment formats:
@@ -172,9 +238,9 @@ PactKit supports two deployment formats:
172
238
 
173
239
  ```
174
240
  ~/.claude/
175
- ├── CLAUDE.md <- Modular constitution (entry point with @import)
176
- ├── rules/ <- 7 rule modules
177
- ├── commands/ <- 11 command playbooks
241
+ ├── CLAUDE.md <- Project context entry point
242
+ ├── rules/ <- 8 rule modules (loaded per-command, not globally)
243
+ ├── commands/ <- 11 command playbooks (with per-command rule @imports)
178
244
  ├── agents/ <- 9 agent definitions
179
245
  └── skills/ <- 10 skill packages
180
246
  ```
@@ -184,7 +250,7 @@ PactKit supports two deployment formats:
184
250
  ```
185
251
  ~/.config/opencode/
186
252
  ├── AGENTS.md <- On-demand @reference index (lazy rule loading)
187
- ├── rules/ <- 8 rule modules (3 core always-load + 5 on-demand)
253
+ ├── rules/ <- 8 rule modules (3 core always-load + 6 on-demand)
188
254
  ├── commands/ <- 11 command playbooks (with model: routing)
189
255
  ├── agents/ <- 9 agent definitions (mode: subagent)
190
256
  ├── skills/ <- 10 skill packages (with SKILL.md frontmatter)
@@ -192,7 +258,7 @@ PactKit supports two deployment formats:
192
258
  ```
193
259
 
194
260
  Key OpenCode differences:
195
- - **Rules**: Core rules always loaded via `instructions`; on-demand rules via `@reference` in AGENTS.md (lazy loading, -62% tokens)
261
+ - **Rules**: Per-command inline embedding; credential safety always loaded via `instructions` (context-aware loading, -20% to -83% tokens per command)
196
262
  - **Agents**: `mode: subagent`, no `name` field, tools as record format
197
263
  - **Commands**: `agent: build` + `model: provider/model-id` (model routing)
198
264
  - **Config**: `pactkit.yaml` in `.opencode/` (not `.claude/`)
@@ -239,9 +305,9 @@ docs/
239
305
  | `agents` | list | all 9 | Agent definitions to deploy |
240
306
  | `commands` | list | all 11 | Command playbooks to deploy |
241
307
  | `skills` | list | all 10 | Skills to deploy |
242
- | `rules` | list | all 7 | Constitution rule modules to deploy |
308
+ | `rules` | list | all 8 | Constitution rule modules to deploy |
243
309
  | `exclude` | object | `{}` | Components to exclude (e.g., `exclude.agents: [agent-name]`) |
244
- | `ci` | object | `provider: none` | CI/CD pipeline generation (`github`, `gitlab`, `none`) |
310
+ | `ci` | object | `provider: none` | CI/CD pipeline generation (`github`, `gitlab`, `none`). Sub-fields: `runner` (default: `ubuntu-latest`), `language_version` (default: auto per stack), `github_host` (GHE server address), `actions_ref` (GHE actions prefix) |
245
311
  | `issue_tracker` | object | `provider: none` | External issue tracker (`github`, `none`) |
246
312
  | `hooks` | object | disabled | Opt-in hook templates (pre-commit, post-test, pre-push) |
247
313
  | `lint_blocking` | bool | `false` | Whether lint failures block commits |
@@ -257,15 +323,15 @@ PactKit's safe regression system prevents agents from blindly modifying pre-exis
257
323
  - **Regression Check** — Read-only gate; pre-existing test failure = STOP and report
258
324
  - **Done Gate** — Full regression by default; incremental only when ALL safety conditions are met
259
325
 
260
- ## Hierarchy of Truth
326
+ ## Hierarchy of Truth (the "T" in P.A.C.T.)
261
327
 
262
328
  ```
263
- Tier 1: Specs & Test Cases <- The Law
264
- Tier 2: Tests <- The Verification
329
+ Tier 1: Specs & Test Cases <- The Law (CODE is the Law)
330
+ Tier 2: Tests <- The Verification (DATA is the Truth)
265
331
  Tier 3: Implementation <- The Mutable Reality
266
332
  ```
267
333
 
268
- When conflicts arise: Spec wins. Always.
334
+ When conflicts arise: Spec wins. Always. The agent modifies code, never the spec.
269
335
 
270
336
  ## MCP Integration
271
337
 
@@ -4,7 +4,7 @@
4
4
  |-------|-------|
5
5
  | ID | BUG-017 |
6
6
  | Title | /project-init playbook generates incomplete pactkit.yaml |
7
- | Status | Open |
7
+ | Status | Draft |
8
8
  | Priority | P1 |
9
9
  | Release | 1.3.1 |
10
10
 
@@ -6,7 +6,7 @@
6
6
  | Type | Bug |
7
7
  | Priority | High |
8
8
  | Release | 1.6.5 |
9
- | Status | Backlog |
9
+ | Status | Draft |
10
10
 
11
11
  ## Summary
12
12
 
@@ -0,0 +1,115 @@
1
+ # BUG-slim-002: Rules-Commands Instruction Collision Causes Plan/Act Stall
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | ID | BUG-slim-002 |
6
+ | Status | Draft |
7
+ | Priority | P1 |
8
+ | Release | 2.2.0 |
9
+
10
+ ## Background
11
+
12
+ When running `/project-plan` or `/project-act`, the AI agent frequently stalls (long thinking time, repeated actions, or apparent hang). Root cause analysis reveals that the global Rules (`01-core-protocol`, `02-hierarchy-of-truth`) contain instructions that **duplicate or conflict with** the phase-ordered instructions inside Command playbooks. The AI attempts to satisfy both layers simultaneously, resulting in repeated execution (e.g., `visualize` triggered up to 5 times per Story cycle), logical deadlocks (Rule 02 demands "read Spec before modifying code" but Plan is creating the Spec), and cascading sub-flows (Init Guard auto-triggers a full 7-phase `/project-init`).
13
+
14
+ ## Root Cause Analysis
15
+
16
+ | ID | Problem | Source | Impact |
17
+ |----|---------|--------|--------|
18
+ | RC-1 | Rule 01 "Visual First" triggers `visualize` (3 modes) independently of Command-internal visualize phases | `rules.py` RULES_MODULES["core"] | 2-3x redundant visualize runs per command |
19
+ | RC-2 | Rule 02 "Operating Guidelines" requires reading Spec before code modification, but Plan is creating the Spec (does not exist yet) | `rules.py` RULES_MODULES["hierarchy"] | Logical deadlock / wasted search for nonexistent file |
20
+ | RC-3 | Plan Phase 0.5 Init Guard auto-executes full `/project-init` (7 phases) when any marker is missing | `commands.py` COMMANDS_CONTENT["project-plan.md"] | Cascading 7-phase sub-flow mid-Plan |
21
+ | RC-4 | Plan Phase 0.7 Clarify Gate auto-triggers on 2 High signals without escape hatch | `commands.py` COMMANDS_CONTENT["project-plan.md"] | Implicit blocking wait for user input |
22
+ | RC-5 | Act Phase 0.6 Consistency Check does full Spec/Board/TestCase cross-reference before any code is written | `commands.py` COMMANDS_CONTENT["project-act.md"] | Heavy text parsing phase that adds latency |
23
+ | RC-6 | Act runs visualize 3 separate times: Phase 1 (trace), Phase 4 (Lazy Visualize), plus Rule 01 (Visual First) | Multiple sources | 3x redundant visualize in Act alone |
24
+
25
+ ## Target Call Chain
26
+
27
+ ```
28
+ User invokes /project-plan or /project-act
29
+ -> Claude Code loads CLAUDE.md (@import all 8 rules)
30
+ -> Rule 01 "Visual First" fires (visualize x3 modes)
31
+ -> Rule 02 "Operating Guidelines" fires (search for Spec)
32
+ -> Command playbook executes
33
+ -> Phase 0.5 Init Guard (may cascade to /project-init x7 phases)
34
+ -> Phase 0.7 Clarify Gate (may block on user input)
35
+ -> Phase 1 Archaeology/Trace (visualize again)
36
+ -> [Act only] Phase 0.6 Consistency Check (heavy parsing)
37
+ -> [Act only] Phase 4 Lazy Visualize (visualize again)
38
+ ```
39
+
40
+ ## Requirements
41
+
42
+ ### R1: PDCA Command Exemption for Visual First
43
+ Rule 01 "Visual First" MUST include a PDCA exemption clause stating that when a PDCA command (`/project-plan`, `/project-act`, `/project-check`, `/project-done`, `/project-hotfix`, `/project-sprint`, `/project-design`, `/project-init`) is active, the command's own visualize phases take precedence and the global "Visual First" rule is suppressed.
44
+
45
+ ### R2: Plan-Phase Exemption for Operating Guidelines
46
+ Rule 02 "Operating Guidelines" MUST include a clause exempting `/project-plan` and `/project-design` from the "read Spec before modifying code" requirement, since these commands create (not modify) Specs.
47
+
48
+ ### R3: Init Guard Downgrade to Suggestion-and-Stop
49
+ Plan Phase 0.5 Init Guard MUST be changed from auto-executing `/project-init` to printing a warning message and STOPPING. The user can then manually run `/project-init` if needed.
50
+
51
+ ### R4: Clarify Gate Threshold Increase
52
+ Plan Phase 0.7 Clarify Gate SHOULD raise the auto-trigger threshold: require 2 High + 1 Medium signal (instead of 2 High alone). Single-sentence input (< 15 words) SHOULD be downgraded from Medium to Low signal.
53
+
54
+ ### R5: Act Consistency Check Simplification
55
+ Act Phase 0.6 Consistency Check SHOULD be simplified to a lightweight existence check (does Spec exist? does Board entry exist?) instead of full cross-reference parsing. The detailed Spec-Board-TestCase alignment analysis SHOULD be deferred to `/project-check`.
56
+
57
+ ### R6: Act Visualize Deduplication
58
+ Act Phase 1 MUST NOT run `visualize` if Phase 4 Lazy Visualize will run it anyway. Phase 1 SHOULD only run `visualize --focus <module>` (single targeted mode), not the full 3-mode scan. The full 3-mode scan remains in Phase 4 (post-implementation) via Lazy Visualize Protocol.
59
+
60
+ ## Implementation Steps
61
+
62
+ | Step | File | Action | Dependencies | Risk |
63
+ |------|------|--------|--------------|------|
64
+ | 1 | `src/pactkit/prompts/rules.py` | Add PDCA exemption to "Visual First" in RULES_MODULES["core"] (R1) | None | Low |
65
+ | 2 | `src/pactkit/prompts/rules.py` | Add Plan/Design exemption to "Operating Guidelines" in RULES_MODULES["hierarchy"] (R2) | None | Low |
66
+ | 3 | `src/pactkit/prompts/commands.py` | Rewrite Plan Phase 0.5 Init Guard: warn + STOP instead of auto-execute (R3) | None | Low |
67
+ | 4 | `src/pactkit/prompts/commands.py` | Adjust Clarify Gate threshold in Plan Phase 0.7 (R4) | None | Low |
68
+ | 5 | `src/pactkit/prompts/commands.py` | Simplify Act Phase 0.6 to lightweight existence check (R5) | None | Low |
69
+ | 6 | `src/pactkit/prompts/commands.py` | Deduplicate Act visualize: Phase 1 focus-only, Phase 4 full Lazy Visualize (R6) | None | Low |
70
+ | 7 | `tests/` | Add/update tests to verify prompt content changes | Steps 1-6 | Low |
71
+
72
+ ## Acceptance Criteria
73
+
74
+ ### AC1: Visual First PDCA Exemption
75
+ Given Rule 01 "Visual First" is deployed
76
+ When a PDCA command (e.g., `/project-act`) is active
77
+ Then the rule text includes a PDCA exemption clause and does not independently trigger visualize
78
+
79
+ ### AC2: Plan-Phase Spec Read Exemption
80
+ Given Rule 02 "Operating Guidelines" is deployed
81
+ When `/project-plan` or `/project-design` is active
82
+ Then the rule text exempts these commands from "read Spec before modifying code"
83
+
84
+ ### AC3: Init Guard Warns Instead of Auto-Executing
85
+ Given Plan Phase 0.5 Init Guard detects a missing marker
86
+ When the guard evaluates
87
+ Then it prints a warning with the missing markers and STOPs, without auto-executing `/project-init`
88
+
89
+ ### AC4: Clarify Gate Higher Threshold
90
+ Given Plan Phase 0.7 Clarify Gate is evaluating user input
91
+ When the input has exactly 2 High signals but 0 Medium signals
92
+ Then Clarify is suggested (not auto-triggered)
93
+
94
+ ### AC5: Act Lightweight Consistency Check
95
+ Given Act Phase 0.6 is executing
96
+ When it checks Spec-Board alignment
97
+ Then it only verifies existence (Spec file exists, Board entry exists) without cross-reference parsing
98
+
99
+ ### AC6: Act Visualize Runs Once Per Phase
100
+ Given Act Phase 1 and Phase 4 both reference visualize
101
+ When Act executes end-to-end
102
+ Then Phase 1 runs only `--focus <module>` (1 mode) and Phase 4 runs Lazy Visualize (conditional 3 modes), with no duplication from Rule 01
103
+
104
+ ## Security Scope
105
+
106
+ | Check | Applicable | Reason |
107
+ |-------|------------|--------|
108
+ | SEC-1 | Yes | Python source files modified (rules.py, commands.py) |
109
+ | SEC-2 | No | No user input handling — prompt template changes only |
110
+ | SEC-3 | No | No database operations |
111
+ | SEC-4 | No | No frontend files |
112
+ | SEC-5 | No | No auth/session logic |
113
+ | SEC-6 | No | No API endpoints |
114
+ | SEC-7 | No | No error handling changes |
115
+ | SEC-8 | No | No dependency file changes |