pactkit 2.2.0__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 (939) hide show
  1. {pactkit-2.2.0 → pactkit-2.3.0}/CHANGELOG.md +22 -0
  2. {pactkit-2.2.0 → pactkit-2.3.0}/PKG-INFO +63 -13
  3. {pactkit-2.2.0 → pactkit-2.3.0}/README.md +62 -12
  4. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-017.md +1 -1
  5. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-029.md +1 -1
  6. pactkit-2.3.0/docs/specs/BUG-slim-002.md +115 -0
  7. pactkit-2.3.0/docs/specs/BUG-slim-003.md +125 -0
  8. pactkit-2.3.0/docs/specs/BUG-slim-004.md +103 -0
  9. pactkit-2.3.0/docs/specs/BUG-slim-005.md +100 -0
  10. pactkit-2.3.0/docs/specs/BUG-slim-006.md +110 -0
  11. {pactkit-2.2.0 → pactkit-2.3.0}/pyproject.toml +1 -1
  12. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/__init__.py +1 -1
  13. pactkit-2.3.0/src/pactkit/backfill.py +72 -0
  14. pactkit-2.3.0/src/pactkit/cleaners.py +84 -0
  15. pactkit-2.3.0/src/pactkit/cli.py +590 -0
  16. pactkit-2.3.0/src/pactkit/context_gen.py +235 -0
  17. pactkit-2.3.0/src/pactkit/coverage_gate.py +115 -0
  18. pactkit-2.3.0/src/pactkit/doctor.py +183 -0
  19. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/generators/deployer.py +3 -1
  20. pactkit-2.3.0/src/pactkit/guards.py +67 -0
  21. pactkit-2.3.0/src/pactkit/id_generator.py +37 -0
  22. pactkit-2.3.0/src/pactkit/invariants.py +36 -0
  23. pactkit-2.3.0/src/pactkit/issue_sync.py +154 -0
  24. pactkit-2.3.0/src/pactkit/lazy_visualize.py +106 -0
  25. pactkit-2.3.0/src/pactkit/lessons.py +80 -0
  26. pactkit-2.3.0/src/pactkit/lint_runner.py +91 -0
  27. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/commands.py +106 -145
  28. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/rules.py +11 -11
  29. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/skills.py +76 -51
  30. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/workflows.py +27 -29
  31. pactkit-2.3.0/src/pactkit/regression.py +74 -0
  32. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/schemas.py +16 -0
  33. pactkit-2.3.0/src/pactkit/sec_scope.py +225 -0
  34. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/scaffold.py +1 -0
  35. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/spec_linter.py +9 -0
  36. pactkit-2.3.0/src/pactkit/spec_status.py +50 -0
  37. pactkit-2.3.0/src/pactkit/test_mapper.py +60 -0
  38. pactkit-2.3.0/src/pactkit/validators.py +132 -0
  39. pactkit-2.3.0/tests/unit/test_bug_slim002_instruction_collision.py +169 -0
  40. pactkit-2.3.0/tests/unit/test_bug_slim003.py +238 -0
  41. pactkit-2.3.0/tests/unit/test_bug_slim004.py +152 -0
  42. pactkit-2.3.0/tests/unit/test_bug_slim005.py +111 -0
  43. pactkit-2.3.0/tests/unit/test_bug_slim006.py +215 -0
  44. pactkit-2.3.0/tests/unit/test_cross_flow_matrix.py +104 -0
  45. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_lang_profiles.py +9 -21
  46. pactkit-2.3.0/tests/unit/test_prompt_cli_refs.py +82 -0
  47. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_smart_regression.py +2 -1
  48. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story050_doc_only_shortcut.py +2 -2
  49. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story057_implicit_cleanup.py +4 -3
  50. pactkit-2.3.0/tests/unit/test_story_slim014_clean.py +89 -0
  51. pactkit-2.3.0/tests/unit/test_story_slim014_context.py +228 -0
  52. pactkit-2.3.0/tests/unit/test_story_slim014_guard.py +69 -0
  53. pactkit-2.3.0/tests/unit/test_story_slim014_lazy_viz.py +228 -0
  54. pactkit-2.3.0/tests/unit/test_story_slim014_next_id.py +82 -0
  55. pactkit-2.3.0/tests/unit/test_story_slim014_regression.py +120 -0
  56. pactkit-2.3.0/tests/unit/test_story_slim014_sec_scope.py +288 -0
  57. pactkit-2.3.0/tests/unit/test_story_slim014_validators.py +266 -0
  58. pactkit-2.3.0/tests/unit/test_story_slim015_doctor.py +403 -0
  59. pactkit-2.3.0/tests/unit/test_story_slim016_testmap_lint.py +197 -0
  60. pactkit-2.3.0/tests/unit/test_story_slim017.py +234 -0
  61. pactkit-2.3.0/tests/unit/test_story_slim018.py +136 -0
  62. pactkit-2.2.0/src/pactkit/cli.py +0 -237
  63. {pactkit-2.2.0 → pactkit-2.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  64. {pactkit-2.2.0 → pactkit-2.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  65. {pactkit-2.2.0 → pactkit-2.3.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  66. {pactkit-2.2.0 → pactkit-2.3.0}/.github/dependabot.yml +0 -0
  67. {pactkit-2.2.0 → pactkit-2.3.0}/.github/workflows/ci.yml +0 -0
  68. {pactkit-2.2.0 → pactkit-2.3.0}/.github/workflows/pactkit.yml +0 -0
  69. {pactkit-2.2.0 → pactkit-2.3.0}/.gitignore +0 -0
  70. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/.gitignore +0 -0
  71. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/bun.lock +0 -0
  72. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/memory/.gitignore +0 -0
  73. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/memory/project.md +0 -0
  74. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/@opencode-ai/plugin/package.json +0 -0
  75. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/@opencode-ai/sdk/package.json +0 -0
  76. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/LICENSE +0 -0
  77. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/README.md +0 -0
  78. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/index.cjs +0 -0
  79. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/index.d.cts +0 -0
  80. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/index.d.ts +0 -0
  81. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/index.js +0 -0
  82. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.cjs +0 -0
  83. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.d.cts +0 -0
  84. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.d.ts +0 -0
  85. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.js +0 -0
  86. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/package.json +0 -0
  87. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.cjs +0 -0
  88. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.d.cts +0 -0
  89. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.d.ts +0 -0
  90. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.js +0 -0
  91. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/package.json +0 -0
  92. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/package.json +0 -0
  93. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/index.ts +0 -0
  94. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/locales/index.ts +0 -0
  95. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/mini/index.ts +0 -0
  96. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/ZodError.ts +0 -0
  97. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -0
  98. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -0
  99. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/index.ts +0 -0
  100. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -0
  101. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/object.ts +0 -0
  102. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -0
  103. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -0
  104. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/string.ts +0 -0
  105. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/union.ts +0 -0
  106. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/errors.ts +0 -0
  107. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/external.ts +0 -0
  108. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -0
  109. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -0
  110. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -0
  111. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -0
  112. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -0
  113. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/util.ts +0 -0
  114. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/index.ts +0 -0
  115. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/locales/en.ts +0 -0
  116. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/standard-schema.ts +0 -0
  117. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/Mocker.ts +0 -0
  118. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -0
  119. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -0
  120. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/array.test.ts +0 -0
  121. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -0
  122. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -0
  123. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/base.test.ts +0 -0
  124. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/bigint.test.ts +0 -0
  125. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/branded.test.ts +0 -0
  126. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/catch.test.ts +0 -0
  127. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/coerce.test.ts +0 -0
  128. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/complex.test.ts +0 -0
  129. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/custom.test.ts +0 -0
  130. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/date.test.ts +0 -0
  131. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -0
  132. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/default.test.ts +0 -0
  133. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/description.test.ts +0 -0
  134. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -0
  135. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/enum.test.ts +0 -0
  136. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/error.test.ts +0 -0
  137. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -0
  138. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -0
  139. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/function.test.ts +0 -0
  140. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/generics.test.ts +0 -0
  141. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -0
  142. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/intersection.test.ts +0 -0
  143. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/language-server.source.ts +0 -0
  144. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/language-server.test.ts +0 -0
  145. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/literal.test.ts +0 -0
  146. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/map.test.ts +0 -0
  147. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/masking.test.ts +0 -0
  148. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/mocker.test.ts +0 -0
  149. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nan.test.ts +0 -0
  150. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -0
  151. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nullable.test.ts +0 -0
  152. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/number.test.ts +0 -0
  153. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -0
  154. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -0
  155. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object.test.ts +0 -0
  156. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/optional.test.ts +0 -0
  157. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -0
  158. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/parser.test.ts +0 -0
  159. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/partials.test.ts +0 -0
  160. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -0
  161. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -0
  162. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -0
  163. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/primitive.test.ts +0 -0
  164. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/promise.test.ts +0 -0
  165. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/readonly.test.ts +0 -0
  166. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/record.test.ts +0 -0
  167. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/recursive.test.ts +0 -0
  168. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/refine.test.ts +0 -0
  169. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -0
  170. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/set.test.ts +0 -0
  171. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -0
  172. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/string.test.ts +0 -0
  173. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/transformer.test.ts +0 -0
  174. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/tuple.test.ts +0 -0
  175. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/unions.test.ts +0 -0
  176. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/validations.test.ts +0 -0
  177. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/void.test.ts +0 -0
  178. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/types.ts +0 -0
  179. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/checks.ts +0 -0
  180. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/coerce.ts +0 -0
  181. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/compat.ts +0 -0
  182. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/errors.ts +0 -0
  183. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/external.ts +0 -0
  184. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/index.ts +0 -0
  185. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/iso.ts +0 -0
  186. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/parse.ts +0 -0
  187. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/schemas.ts +0 -0
  188. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -0
  189. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -0
  190. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -0
  191. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -0
  192. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -0
  193. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -0
  194. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -0
  195. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -0
  196. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -0
  197. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -0
  198. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -0
  199. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -0
  200. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -0
  201. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -0
  202. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -0
  203. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -0
  204. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -0
  205. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -0
  206. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -0
  207. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -0
  208. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -0
  209. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -0
  210. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -0
  211. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -0
  212. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -0
  213. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -0
  214. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -0
  215. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -0
  216. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -0
  217. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -0
  218. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -0
  219. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -0
  220. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -0
  221. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -0
  222. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -0
  223. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -0
  224. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -0
  225. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -0
  226. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -0
  227. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -0
  228. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -0
  229. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -0
  230. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -0
  231. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -0
  232. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -0
  233. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -0
  234. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -0
  235. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -0
  236. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -0
  237. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -0
  238. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -0
  239. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -0
  240. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -0
  241. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -0
  242. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -0
  243. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -0
  244. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -0
  245. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -0
  246. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -0
  247. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -0
  248. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -0
  249. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -0
  250. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -0
  251. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -0
  252. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -0
  253. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -0
  254. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -0
  255. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/api.ts +0 -0
  256. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/checks.ts +0 -0
  257. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/config.ts +0 -0
  258. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/core.ts +0 -0
  259. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/doc.ts +0 -0
  260. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/errors.ts +0 -0
  261. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/index.ts +0 -0
  262. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/json-schema.ts +0 -0
  263. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/parse.ts +0 -0
  264. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/regexes.ts +0 -0
  265. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/registries.ts +0 -0
  266. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/schemas.ts +0 -0
  267. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/standard-schema.ts +0 -0
  268. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -0
  269. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/index.test.ts +0 -0
  270. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -0
  271. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -0
  272. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -0
  273. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -0
  274. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -0
  275. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/to-json-schema.ts +0 -0
  276. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/util.ts +0 -0
  277. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/versions.ts +0 -0
  278. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/zsf.ts +0 -0
  279. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/index.ts +0 -0
  280. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ar.ts +0 -0
  281. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/az.ts +0 -0
  282. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/be.ts +0 -0
  283. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/bg.ts +0 -0
  284. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ca.ts +0 -0
  285. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/cs.ts +0 -0
  286. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/da.ts +0 -0
  287. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/de.ts +0 -0
  288. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/en.ts +0 -0
  289. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/eo.ts +0 -0
  290. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/es.ts +0 -0
  291. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fa.ts +0 -0
  292. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fi.ts +0 -0
  293. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fr-CA.ts +0 -0
  294. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fr.ts +0 -0
  295. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/he.ts +0 -0
  296. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/hu.ts +0 -0
  297. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/id.ts +0 -0
  298. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/index.ts +0 -0
  299. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/is.ts +0 -0
  300. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/it.ts +0 -0
  301. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ja.ts +0 -0
  302. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ka.ts +0 -0
  303. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/kh.ts +0 -0
  304. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/km.ts +0 -0
  305. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ko.ts +0 -0
  306. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/lt.ts +0 -0
  307. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/mk.ts +0 -0
  308. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ms.ts +0 -0
  309. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/nl.ts +0 -0
  310. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/no.ts +0 -0
  311. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ota.ts +0 -0
  312. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/pl.ts +0 -0
  313. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ps.ts +0 -0
  314. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/pt.ts +0 -0
  315. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ru.ts +0 -0
  316. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/sl.ts +0 -0
  317. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/sv.ts +0 -0
  318. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ta.ts +0 -0
  319. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/th.ts +0 -0
  320. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/tr.ts +0 -0
  321. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ua.ts +0 -0
  322. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/uk.ts +0 -0
  323. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ur.ts +0 -0
  324. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/vi.ts +0 -0
  325. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/yo.ts +0 -0
  326. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/zh-CN.ts +0 -0
  327. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/zh-TW.ts +0 -0
  328. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/checks.ts +0 -0
  329. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/coerce.ts +0 -0
  330. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/external.ts +0 -0
  331. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/index.ts +0 -0
  332. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/iso.ts +0 -0
  333. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/parse.ts +0 -0
  334. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/schemas.ts +0 -0
  335. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -0
  336. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -0
  337. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -0
  338. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -0
  339. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -0
  340. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -0
  341. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -0
  342. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -0
  343. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -0
  344. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -0
  345. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -0
  346. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -0
  347. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -0
  348. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4-mini/index.ts +0 -0
  349. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.cjs +0 -0
  350. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.d.cts +0 -0
  351. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.d.ts +0 -0
  352. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.js +0 -0
  353. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.cjs +0 -0
  354. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.d.cts +0 -0
  355. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.d.ts +0 -0
  356. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.js +0 -0
  357. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.cjs +0 -0
  358. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.d.cts +0 -0
  359. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.d.ts +0 -0
  360. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.js +0 -0
  361. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.cjs +0 -0
  362. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -0
  363. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -0
  364. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.js +0 -0
  365. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.cjs +0 -0
  366. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -0
  367. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -0
  368. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.js +0 -0
  369. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.cjs +0 -0
  370. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -0
  371. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -0
  372. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.js +0 -0
  373. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.cjs +0 -0
  374. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -0
  375. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -0
  376. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.js +0 -0
  377. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.cjs +0 -0
  378. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -0
  379. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -0
  380. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.js +0 -0
  381. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.cjs +0 -0
  382. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.d.cts +0 -0
  383. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.d.ts +0 -0
  384. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.js +0 -0
  385. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.cjs +0 -0
  386. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.d.cts +0 -0
  387. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.d.ts +0 -0
  388. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.js +0 -0
  389. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.cjs +0 -0
  390. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.d.cts +0 -0
  391. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.d.ts +0 -0
  392. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.js +0 -0
  393. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/package.json +0 -0
  394. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.cjs +0 -0
  395. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.d.cts +0 -0
  396. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.d.ts +0 -0
  397. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.js +0 -0
  398. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.cjs +0 -0
  399. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.d.cts +0 -0
  400. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.d.ts +0 -0
  401. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.js +0 -0
  402. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.cjs +0 -0
  403. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.d.cts +0 -0
  404. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.d.ts +0 -0
  405. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.js +0 -0
  406. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.cjs +0 -0
  407. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.d.cts +0 -0
  408. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.d.ts +0 -0
  409. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.js +0 -0
  410. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.cjs +0 -0
  411. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.d.cts +0 -0
  412. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.d.ts +0 -0
  413. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.js +0 -0
  414. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.cjs +0 -0
  415. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.d.cts +0 -0
  416. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.d.ts +0 -0
  417. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.js +0 -0
  418. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.cjs +0 -0
  419. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.d.cts +0 -0
  420. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.d.ts +0 -0
  421. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.js +0 -0
  422. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.cjs +0 -0
  423. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.d.cts +0 -0
  424. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.d.ts +0 -0
  425. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.js +0 -0
  426. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.cjs +0 -0
  427. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.d.cts +0 -0
  428. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.d.ts +0 -0
  429. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.js +0 -0
  430. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/package.json +0 -0
  431. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.cjs +0 -0
  432. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.d.cts +0 -0
  433. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.d.ts +0 -0
  434. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.js +0 -0
  435. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.cjs +0 -0
  436. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.d.cts +0 -0
  437. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.d.ts +0 -0
  438. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.js +0 -0
  439. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.cjs +0 -0
  440. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.d.cts +0 -0
  441. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.d.ts +0 -0
  442. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.js +0 -0
  443. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.cjs +0 -0
  444. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.d.cts +0 -0
  445. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.d.ts +0 -0
  446. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.js +0 -0
  447. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.cjs +0 -0
  448. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.d.cts +0 -0
  449. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.d.ts +0 -0
  450. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.js +0 -0
  451. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.cjs +0 -0
  452. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.d.cts +0 -0
  453. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.d.ts +0 -0
  454. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.js +0 -0
  455. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.cjs +0 -0
  456. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.d.cts +0 -0
  457. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.d.ts +0 -0
  458. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.js +0 -0
  459. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.cjs +0 -0
  460. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.d.cts +0 -0
  461. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.d.ts +0 -0
  462. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.js +0 -0
  463. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.cjs +0 -0
  464. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.d.cts +0 -0
  465. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.d.ts +0 -0
  466. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.js +0 -0
  467. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/package.json +0 -0
  468. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.cjs +0 -0
  469. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.d.cts +0 -0
  470. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.d.ts +0 -0
  471. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.js +0 -0
  472. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.cjs +0 -0
  473. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.d.cts +0 -0
  474. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.d.ts +0 -0
  475. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.js +0 -0
  476. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.cjs +0 -0
  477. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.d.cts +0 -0
  478. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.d.ts +0 -0
  479. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.js +0 -0
  480. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.cjs +0 -0
  481. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.d.cts +0 -0
  482. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.d.ts +0 -0
  483. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.js +0 -0
  484. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.cjs +0 -0
  485. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.d.cts +0 -0
  486. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.d.ts +0 -0
  487. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.js +0 -0
  488. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.cjs +0 -0
  489. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.d.cts +0 -0
  490. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.d.ts +0 -0
  491. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.js +0 -0
  492. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.cjs +0 -0
  493. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.d.cts +0 -0
  494. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.d.ts +0 -0
  495. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.js +0 -0
  496. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.cjs +0 -0
  497. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.d.cts +0 -0
  498. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.d.ts +0 -0
  499. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.js +0 -0
  500. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.cjs +0 -0
  501. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.d.cts +0 -0
  502. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.d.ts +0 -0
  503. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.js +0 -0
  504. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.cjs +0 -0
  505. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.d.cts +0 -0
  506. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.d.ts +0 -0
  507. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.js +0 -0
  508. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.cjs +0 -0
  509. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.d.cts +0 -0
  510. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.d.ts +0 -0
  511. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.js +0 -0
  512. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.cjs +0 -0
  513. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.d.cts +0 -0
  514. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.d.ts +0 -0
  515. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.js +0 -0
  516. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.cjs +0 -0
  517. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.d.cts +0 -0
  518. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.d.ts +0 -0
  519. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.js +0 -0
  520. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.cjs +0 -0
  521. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.d.cts +0 -0
  522. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.d.ts +0 -0
  523. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.js +0 -0
  524. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.cjs +0 -0
  525. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.d.cts +0 -0
  526. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.d.ts +0 -0
  527. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.js +0 -0
  528. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.cjs +0 -0
  529. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.d.cts +0 -0
  530. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.d.ts +0 -0
  531. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.js +0 -0
  532. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.cjs +0 -0
  533. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.d.cts +0 -0
  534. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.d.ts +0 -0
  535. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.js +0 -0
  536. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.cjs +0 -0
  537. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.d.cts +0 -0
  538. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.d.ts +0 -0
  539. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.js +0 -0
  540. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.cjs +0 -0
  541. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.d.cts +0 -0
  542. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.d.ts +0 -0
  543. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.js +0 -0
  544. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.cjs +0 -0
  545. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.d.cts +0 -0
  546. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.d.ts +0 -0
  547. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.js +0 -0
  548. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.cjs +0 -0
  549. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.d.cts +0 -0
  550. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.d.ts +0 -0
  551. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.js +0 -0
  552. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.cjs +0 -0
  553. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.d.cts +0 -0
  554. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.d.ts +0 -0
  555. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.js +0 -0
  556. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.cjs +0 -0
  557. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.d.cts +0 -0
  558. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.d.ts +0 -0
  559. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.js +0 -0
  560. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.cjs +0 -0
  561. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.d.cts +0 -0
  562. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.d.ts +0 -0
  563. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.js +0 -0
  564. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.cjs +0 -0
  565. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.d.cts +0 -0
  566. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.d.ts +0 -0
  567. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.js +0 -0
  568. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.cjs +0 -0
  569. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.d.cts +0 -0
  570. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.d.ts +0 -0
  571. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.js +0 -0
  572. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.cjs +0 -0
  573. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.d.cts +0 -0
  574. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.d.ts +0 -0
  575. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.js +0 -0
  576. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.cjs +0 -0
  577. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.d.cts +0 -0
  578. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.d.ts +0 -0
  579. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.js +0 -0
  580. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.cjs +0 -0
  581. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.d.cts +0 -0
  582. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.d.ts +0 -0
  583. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.js +0 -0
  584. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.cjs +0 -0
  585. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.d.cts +0 -0
  586. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.d.ts +0 -0
  587. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.js +0 -0
  588. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.cjs +0 -0
  589. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.d.cts +0 -0
  590. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.d.ts +0 -0
  591. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.js +0 -0
  592. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.cjs +0 -0
  593. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.d.cts +0 -0
  594. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.d.ts +0 -0
  595. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.js +0 -0
  596. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.cjs +0 -0
  597. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.d.cts +0 -0
  598. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.d.ts +0 -0
  599. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.js +0 -0
  600. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.cjs +0 -0
  601. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.d.cts +0 -0
  602. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.d.ts +0 -0
  603. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.js +0 -0
  604. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.cjs +0 -0
  605. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.d.cts +0 -0
  606. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.d.ts +0 -0
  607. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.js +0 -0
  608. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.cjs +0 -0
  609. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.d.cts +0 -0
  610. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.d.ts +0 -0
  611. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.js +0 -0
  612. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.cjs +0 -0
  613. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.d.cts +0 -0
  614. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.d.ts +0 -0
  615. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.js +0 -0
  616. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.cjs +0 -0
  617. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.d.cts +0 -0
  618. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.d.ts +0 -0
  619. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.js +0 -0
  620. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.cjs +0 -0
  621. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.d.cts +0 -0
  622. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.d.ts +0 -0
  623. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.js +0 -0
  624. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.cjs +0 -0
  625. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.d.cts +0 -0
  626. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.d.ts +0 -0
  627. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.js +0 -0
  628. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.cjs +0 -0
  629. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.d.cts +0 -0
  630. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.d.ts +0 -0
  631. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.js +0 -0
  632. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/package.json +0 -0
  633. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.cjs +0 -0
  634. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.d.cts +0 -0
  635. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.d.ts +0 -0
  636. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.js +0 -0
  637. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.cjs +0 -0
  638. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.d.cts +0 -0
  639. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.d.ts +0 -0
  640. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.js +0 -0
  641. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.cjs +0 -0
  642. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.d.cts +0 -0
  643. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.d.ts +0 -0
  644. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.js +0 -0
  645. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.cjs +0 -0
  646. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.d.cts +0 -0
  647. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.d.ts +0 -0
  648. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.js +0 -0
  649. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.cjs +0 -0
  650. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.d.cts +0 -0
  651. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.d.ts +0 -0
  652. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.js +0 -0
  653. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.cjs +0 -0
  654. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.d.cts +0 -0
  655. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.d.ts +0 -0
  656. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.js +0 -0
  657. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.cjs +0 -0
  658. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.d.cts +0 -0
  659. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.d.ts +0 -0
  660. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.js +0 -0
  661. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.cjs +0 -0
  662. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.d.cts +0 -0
  663. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.d.ts +0 -0
  664. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.js +0 -0
  665. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.cjs +0 -0
  666. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.d.cts +0 -0
  667. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.d.ts +0 -0
  668. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.js +0 -0
  669. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.cjs +0 -0
  670. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.d.cts +0 -0
  671. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.d.ts +0 -0
  672. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.js +0 -0
  673. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.cjs +0 -0
  674. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.d.cts +0 -0
  675. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.d.ts +0 -0
  676. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.js +0 -0
  677. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.cjs +0 -0
  678. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.d.cts +0 -0
  679. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.d.ts +0 -0
  680. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.js +0 -0
  681. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.cjs +0 -0
  682. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.d.cts +0 -0
  683. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.d.ts +0 -0
  684. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.js +0 -0
  685. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.cjs +0 -0
  686. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.d.cts +0 -0
  687. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.d.ts +0 -0
  688. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.js +0 -0
  689. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.cjs +0 -0
  690. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.d.cts +0 -0
  691. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.d.ts +0 -0
  692. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.js +0 -0
  693. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.cjs +0 -0
  694. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.d.cts +0 -0
  695. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.d.ts +0 -0
  696. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.js +0 -0
  697. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.cjs +0 -0
  698. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.d.cts +0 -0
  699. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.d.ts +0 -0
  700. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.js +0 -0
  701. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.cjs +0 -0
  702. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.d.cts +0 -0
  703. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.d.ts +0 -0
  704. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.js +0 -0
  705. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.cjs +0 -0
  706. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.d.cts +0 -0
  707. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.d.ts +0 -0
  708. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.js +0 -0
  709. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.cjs +0 -0
  710. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.d.cts +0 -0
  711. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.d.ts +0 -0
  712. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.js +0 -0
  713. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.cjs +0 -0
  714. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.d.cts +0 -0
  715. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.d.ts +0 -0
  716. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.js +0 -0
  717. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/package.json +0 -0
  718. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.cjs +0 -0
  719. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.d.cts +0 -0
  720. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.d.ts +0 -0
  721. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.js +0 -0
  722. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.cjs +0 -0
  723. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.d.cts +0 -0
  724. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.d.ts +0 -0
  725. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.js +0 -0
  726. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/package.json +0 -0
  727. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.cjs +0 -0
  728. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.d.cts +0 -0
  729. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.d.ts +0 -0
  730. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.js +0 -0
  731. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/package.json +0 -0
  732. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/package.json +0 -0
  733. {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/pactkit.yaml +0 -0
  734. {pactkit-2.2.0 → pactkit-2.3.0}/AGENTS.md +0 -0
  735. {pactkit-2.2.0 → pactkit-2.3.0}/CODE_OF_CONDUCT.md +0 -0
  736. {pactkit-2.2.0 → pactkit-2.3.0}/CONTRIBUTING.md +0 -0
  737. {pactkit-2.2.0 → pactkit-2.3.0}/LICENSE +0 -0
  738. {pactkit-2.2.0 → pactkit-2.3.0}/SECURITY.md +0 -0
  739. {pactkit-2.2.0 → pactkit-2.3.0}/docs/assets/logo.png +0 -0
  740. {pactkit-2.2.0 → pactkit-2.3.0}/docs/guides/codex-integration-preresearch.md +0 -0
  741. {pactkit-2.2.0 → pactkit-2.3.0}/docs/guides/tool-integration-checklist.md +0 -0
  742. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-001.md +0 -0
  743. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-002.md +0 -0
  744. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-003.md +0 -0
  745. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-004.md +0 -0
  746. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-005.md +0 -0
  747. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-006.md +0 -0
  748. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-007.md +0 -0
  749. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-008.md +0 -0
  750. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-009.md +0 -0
  751. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-010.md +0 -0
  752. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-011.md +0 -0
  753. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-012.md +0 -0
  754. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-013.md +0 -0
  755. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-014.md +0 -0
  756. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-015.md +0 -0
  757. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-016.md +0 -0
  758. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-018.md +0 -0
  759. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-019.md +0 -0
  760. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-020.md +0 -0
  761. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-021.md +0 -0
  762. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-022.md +0 -0
  763. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-023.md +0 -0
  764. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-024.md +0 -0
  765. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-025.md +0 -0
  766. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-026.md +0 -0
  767. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-027.md +0 -0
  768. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-028.md +0 -0
  769. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-030.md +0 -0
  770. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-031.md +0 -0
  771. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-032.md +0 -0
  772. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-033.md +0 -0
  773. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-034.md +0 -0
  774. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-035.md +0 -0
  775. {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-slim-001.md +0 -0
  776. {pactkit-2.2.0 → pactkit-2.3.0}/docs/test_cases/BUG-001_case.md +0 -0
  777. {pactkit-2.2.0 → pactkit-2.3.0}/docs/test_cases/BUG-002_case.md +0 -0
  778. {pactkit-2.2.0 → pactkit-2.3.0}/opencode.json +0 -0
  779. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/config.py +0 -0
  780. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/generators/__init__.py +0 -0
  781. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/generators/adapter.py +0 -0
  782. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/profiles.py +0 -0
  783. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/__init__.py +0 -0
  784. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/agents.py +0 -0
  785. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/references.py +0 -0
  786. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/scripts.py +0 -0
  787. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/__init__.py +0 -0
  788. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/board.py +0 -0
  789. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/visualize.py +0 -0
  790. {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/utils.py +0 -0
  791. {pactkit-2.2.0 → pactkit-2.3.0}/tests/conftest.py +0 -0
  792. {pactkit-2.2.0 → pactkit-2.3.0}/tests/e2e/__init__.py +0 -0
  793. {pactkit-2.2.0 → pactkit-2.3.0}/tests/e2e/cli/__init__.py +0 -0
  794. {pactkit-2.2.0 → pactkit-2.3.0}/tests/e2e/cli/test_cli_e2e.py +0 -0
  795. {pactkit-2.2.0 → pactkit-2.3.0}/tests/integration/__init__.py +0 -0
  796. {pactkit-2.2.0 → pactkit-2.3.0}/tests/integration/test_deploy_classic.py +0 -0
  797. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_agent_features.py +0 -0
  798. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_agent_frontmatter.py +0 -0
  799. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_agents_enrichment.py +0 -0
  800. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_board_bug027.py +0 -0
  801. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_board_sections.py +0 -0
  802. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug001_skill_path.py +0 -0
  803. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug002_plugin_paths.py +0 -0
  804. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug003_multi_import.py +0 -0
  805. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug004_dead_set.py +0 -0
  806. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug005_archive_taskless.py +0 -0
  807. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug006_scan_excludes.py +0 -0
  808. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug007_stale_trace_refs.py +0 -0
  809. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug008_stale_command_refs.py +0 -0
  810. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug009_project_config_backfill.py +0 -0
  811. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug010_rewrite_yaml.py +0 -0
  812. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug011_stale_refs.py +0 -0
  813. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug012_call_graph_filter.py +0 -0
  814. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug013_config_single_source.py +0 -0
  815. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug014_version_hygiene.py +0 -0
  816. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug017_project_init_playbook.py +0 -0
  817. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug018_issue_tracker_verification.py +0 -0
  818. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug019_venv_deployment.py +0 -0
  819. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug020_claude_md_backup.py +0 -0
  820. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug025_release_delegation.py +0 -0
  821. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug026_version_sync.py +0 -0
  822. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug028_ghost_refs.py +0 -0
  823. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug029_stack_detection_fallback.py +0 -0
  824. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug030_spec_lint_cli.py +0 -0
  825. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug031_docstring_accuracy.py +0 -0
  826. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug034_plan_metadata_template.py +0 -0
  827. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug035_opencode_dual_layer.py +0 -0
  828. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_021.py +0 -0
  829. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_022.py +0 -0
  830. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_023.py +0 -0
  831. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_024.py +0 -0
  832. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_slim001_env_detection.py +0 -0
  833. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_check_command.py +0 -0
  834. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_command_frontmatter.py +0 -0
  835. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_command_visualize_modes.py +0 -0
  836. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_config.py +0 -0
  837. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_config_auto_merge.py +0 -0
  838. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_constitution_sharpening.py +0 -0
  839. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_create_skill.py +0 -0
  840. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_deploy_opencode_parity.py +0 -0
  841. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_deployer_cleanup.py +0 -0
  842. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_deployer_plugin.py +0 -0
  843. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_design_command.py +0 -0
  844. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_done_gates.py +0 -0
  845. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_draw_prompt.py +0 -0
  846. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_draw_references.py +0 -0
  847. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_drawio_mcp.py +0 -0
  848. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_home_path_fix.py +0 -0
  849. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_hotfix_command.py +0 -0
  850. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_init_guard.py +0 -0
  851. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_list_stories.py +0 -0
  852. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_mcp_integration.py +0 -0
  853. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_model_config.py +0 -0
  854. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_modular_constitution.py +0 -0
  855. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_multi_prefix.py +0 -0
  856. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_pdca_slim.py +0 -0
  857. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_profiles.py +0 -0
  858. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_project_visibility.py +0 -0
  859. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_prompt_structural_invariants.py +0 -0
  860. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_prompts_package.py +0 -0
  861. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_release.py +0 -0
  862. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_release_field.py +0 -0
  863. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_release_v110.py +0 -0
  864. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_render_prompt.py +0 -0
  865. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_review_command.py +0 -0
  866. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_rules_enrichment.py +0 -0
  867. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_scaffold.py +0 -0
  868. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_scaffold_developer_prefix.py +0 -0
  869. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_schemas.py +0 -0
  870. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_script_extraction.py +0 -0
  871. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_selective_deploy.py +0 -0
  872. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_session_context.py +0 -0
  873. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_skill_structure.py +0 -0
  874. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_skills_enrichment.py +0 -0
  875. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_sprint_command.py +0 -0
  876. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_stack_references.py +0 -0
  877. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_status_command.py +0 -0
  878. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_statusline.py +0 -0
  879. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story014_release.py +0 -0
  880. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story015_ci_lint_gate.py +0 -0
  881. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story016_claude_md.py +0 -0
  882. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story017_init_claude_md.py +0 -0
  883. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story018_arch_staleness.py +0 -0
  884. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story019_bailout.py +0 -0
  885. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story020_horizon.py +0 -0
  886. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story021_rfc.py +0 -0
  887. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story022_decision_tree.py +0 -0
  888. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story023_test_quality.py +0 -0
  889. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story024_native_agent.py +0 -0
  890. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story025_ci_pipeline.py +0 -0
  891. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story026_issue_tracker.py +0 -0
  892. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story027_hooks.py +0 -0
  893. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story028_rule_scoping.py +0 -0
  894. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story029_doctor.py +0 -0
  895. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story030_lint.py +0 -0
  896. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story031_git_init_guard.py +0 -0
  897. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story032_greenfield_redirect.py +0 -0
  898. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story033_config_backfill.py +0 -0
  899. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story034_plan_config_refresh.py +0 -0
  900. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story035_readme_docs.py +0 -0
  901. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story037_regression_fix.py +0 -0
  902. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story038_call_graph_update.py +0 -0
  903. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story039_venv_config.py +0 -0
  904. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story040_layered_claude_md.py +0 -0
  905. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story042_spec_linter.py +0 -0
  906. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story043_active_clarify.py +0 -0
  907. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story044_consistency_check.py +0 -0
  908. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story045_auto_pr.py +0 -0
  909. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story046_agent_adapter.py +0 -0
  910. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story047_enterprise_flags.py +0 -0
  911. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story048_worktree_isolation.py +0 -0
  912. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story049_community_standards.py +0 -0
  913. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story051_workflow_streamlining.py +0 -0
  914. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story052_conditional_github_release.py +0 -0
  915. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story053_impact_regression.py +0 -0
  916. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story055_commands.py +0 -0
  917. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story055_config.py +0 -0
  918. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story055_spec_linter.py +0 -0
  919. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story056_commands.py +0 -0
  920. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story056_config.py +0 -0
  921. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story058_routing_fix.py +0 -0
  922. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story060_init_hang.py +0 -0
  923. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story061_remove_thinking.py +0 -0
  924. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story062_mcp_recommendations.py +0 -0
  925. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story063_prompt_slimming.py +0 -0
  926. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story064_venv_local_md.py +0 -0
  927. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story065_sprint_model.py +0 -0
  928. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story069_opencode_format.py +0 -0
  929. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story070_opencode_compliance.py +0 -0
  930. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story071_opencode_config_parity.py +0 -0
  931. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story072_developer_prefix.py +0 -0
  932. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story073_command_model_routing.py +0 -0
  933. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story_slim009_lazy_rules.py +0 -0
  934. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story_slim010_dry_refactor.py +0 -0
  935. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story_slim011_command_rules.py +0 -0
  936. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story_slim012_ci.py +0 -0
  937. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_tools.py +0 -0
  938. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_update_task.py +0 -0
  939. {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_visualize_modes.py +0 -0
@@ -4,6 +4,28 @@ 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
+
7
29
  ## [2.2.0] - 2026-03-20
8
30
 
9
31
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pactkit
3
- Version: 2.2.0
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:
65
+
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
+ ```
61
72
 
62
- AI coding assistants are powerful but unpredictable without structure. PactKit adds a **spec-driven governance layer**:
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)
63
77
 
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
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
 
@@ -206,6 +224,38 @@ PactKit deploys 10 skills (3 scripted + 7 prompt-only), auto-invoked by commands
206
224
  | **pactkit-review** | Prompt-only | PR code review with SOLID/Security/Quality checklists |
207
225
  | **pactkit-release** | Prompt-only | Version bump, architecture snapshot, git tag |
208
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
+
209
259
  ## Deployment Architecture
210
260
 
211
261
  PactKit supports two deployment formats:
@@ -299,15 +349,15 @@ PactKit's safe regression system prevents agents from blindly modifying pre-exis
299
349
  - **Regression Check** — Read-only gate; pre-existing test failure = STOP and report
300
350
  - **Done Gate** — Full regression by default; incremental only when ALL safety conditions are met
301
351
 
302
- ## Hierarchy of Truth
352
+ ## Hierarchy of Truth (the "T" in P.A.C.T.)
303
353
 
304
354
  ```
305
- Tier 1: Specs & Test Cases <- The Law
306
- 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)
307
357
  Tier 3: Implementation <- The Mutable Reality
308
358
  ```
309
359
 
310
- When conflicts arise: Spec wins. Always.
360
+ When conflicts arise: Spec wins. Always. The agent modifies code, never the spec.
311
361
 
312
362
  ## MCP Integration
313
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:
39
+
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
+ ```
35
46
 
36
- AI coding assistants are powerful but unpredictable without structure. PactKit adds a **spec-driven governance layer**:
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)
37
51
 
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
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
 
@@ -180,6 +198,38 @@ PactKit deploys 10 skills (3 scripted + 7 prompt-only), auto-invoked by commands
180
198
  | **pactkit-review** | Prompt-only | PR code review with SOLID/Security/Quality checklists |
181
199
  | **pactkit-release** | Prompt-only | Version bump, architecture snapshot, git tag |
182
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
+
183
233
  ## Deployment Architecture
184
234
 
185
235
  PactKit supports two deployment formats:
@@ -273,15 +323,15 @@ PactKit's safe regression system prevents agents from blindly modifying pre-exis
273
323
  - **Regression Check** — Read-only gate; pre-existing test failure = STOP and report
274
324
  - **Done Gate** — Full regression by default; incremental only when ALL safety conditions are met
275
325
 
276
- ## Hierarchy of Truth
326
+ ## Hierarchy of Truth (the "T" in P.A.C.T.)
277
327
 
278
328
  ```
279
- Tier 1: Specs & Test Cases <- The Law
280
- 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)
281
331
  Tier 3: Implementation <- The Mutable Reality
282
332
  ```
283
333
 
284
- When conflicts arise: Spec wins. Always.
334
+ When conflicts arise: Spec wins. Always. The agent modifies code, never the spec.
285
335
 
286
336
  ## MCP Integration
287
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 |
@@ -0,0 +1,125 @@
1
+ # BUG-slim-003: CLI Migration Gaps — Prompt Inconsistencies & Implementation Mismatches
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | ID | BUG-slim-003 |
6
+ | Status | Draft |
7
+ | Priority | P1 |
8
+ | Release | 2.2.0 |
9
+
10
+ ## Background
11
+
12
+ STORY-slim-014 migrated ~25 deterministic rules to Python CLI subcommands, but a post-migration audit revealed two categories of gaps:
13
+
14
+ 1. **Prompt inconsistencies**: Three CLI commands (`pactkit next-id`, `pactkit sec-scope`, `pactkit context`) exist but are not called in all relevant command playbooks. Some commands still instruct the LLM to perform the same logic manually, creating divergent execution paths.
15
+
16
+ 2. **Implementation mismatches**: Three modules have minor deviations from their canonical source or spec requirements.
17
+
18
+ ### Current State
19
+
20
+ **Inconsistencies (CLI exists but prompt doesn't call it):**
21
+ - `pactkit next-id`: Called in `project-plan` Phase 3.1, but NOT in `project-sprint` Phase 0, `project-hotfix` Phase 0, or `project-design` Phase 3 — all three still instruct manual `docs/specs/` scanning
22
+ - `pactkit sec-scope`: Called in `project-check` Phase 0, but NOT in `project-plan` Phase 3.2 — Plan still asks the agent to manually apply the 8-row SEC detection table
23
+ - `pactkit context`: Called in `project-done` Phase 4.5, but NOT in `project-plan` Phase 3.3 or `project-init` Phase 6 — both still ask the agent to write context.md directly
24
+
25
+ **Implementation mismatches:**
26
+ - `cleaners.py`: Java cleanup list is `["target/", "*.class", "build/"]` but canonical `LANG_PROFILES["java"]["cleanup"]` is `["target/", "build/", ".gradle/"]` — `.gradle/` missing, `*.class` is an undocumented addition
27
+ - `guards.py`: Only checks `pactkit.yaml` file existence, not content completeness (R1 spec says "config completeness")
28
+ - `validators.py`: `lint_lessons()` checks table header/separator but does not validate row format against `LESSONS_ROW_FORMAT` (3-column structure)
29
+
30
+ ## Target Call Chain
31
+
32
+ ```
33
+ prompts/commands.py → PLAN_PROMPT / INIT_PROMPT → slimmed text referencing `pactkit next-id`, `pactkit sec-scope`, `pactkit context`
34
+ prompts/workflows.py → SPRINT_PROMPT / HOTFIX_PROMPT / DESIGN_PROMPT → slimmed text referencing `pactkit next-id`
35
+ src/pactkit/cleaners.py → _CLEANUP_PATTERNS["java"] → aligned with LANG_PROFILES
36
+ src/pactkit/guards.py → check_init_markers() → extended with config completeness
37
+ src/pactkit/validators.py → lint_lessons() → extended with row format check
38
+ ```
39
+
40
+ ## Requirements
41
+
42
+ ### R1: Fix prompt inconsistencies — `pactkit next-id`
43
+ MUST replace manual `docs/specs/` scanning instructions with `pactkit next-id` calls in:
44
+ - `workflows.py` SPRINT_PROMPT Phase 0 (line ~349)
45
+ - `workflows.py` HOTFIX_PROMPT Phase 0 (line ~585)
46
+ - `workflows.py` DESIGN_PROMPT Phase 3 (line ~739)
47
+
48
+ ### R2: Fix prompt inconsistency — `pactkit sec-scope`
49
+ MUST replace the manual SEC-1~SEC-8 detection table application in `commands.py` Plan Phase 3.2 with a call to `pactkit sec-scope <changed-files>`, keeping the detection rules table as reference documentation only.
50
+
51
+ ### R3: Fix prompt inconsistency — `pactkit context`
52
+ MUST replace manual context.md writing instructions with `pactkit context` calls in:
53
+ - `commands.py` Plan Phase 3.3
54
+ - `commands.py` Init Phase 6 (if present)
55
+
56
+ ### R4: Fix cleaners.py Java cleanup list
57
+ MUST align `_CLEANUP_PATTERNS["java"]` with canonical `LANG_PROFILES["java"]["cleanup"]`: `["target/", "build/", ".gradle/"]`. Remove `*.class`.
58
+
59
+ ### R5: Extend guards.py config completeness check
60
+ SHOULD extend `check_init_markers()` to optionally verify that `pactkit.yaml` contains expected top-level sections (developer, stack, agents, commands, skills, rules). Return missing sections in the result.
61
+
62
+ ### R6: Extend lint_lessons row format validation
63
+ SHOULD extend `lint_lessons()` to verify that data rows (lines starting with `|` after the separator) have exactly 3 pipe-delimited columns matching `LESSONS_ROW_FORMAT`.
64
+
65
+ ## Implementation Steps
66
+
67
+ | Step | File | Action | Dependencies | Risk |
68
+ |------|------|--------|--------------|------|
69
+ | 1 | `src/pactkit/prompts/workflows.py` | Replace manual scan in SPRINT/HOTFIX/DESIGN with `pactkit next-id` | None | Low |
70
+ | 2 | `src/pactkit/prompts/commands.py` | Replace manual SEC table in Plan 3.2 with `pactkit sec-scope` | None | Low |
71
+ | 3 | `src/pactkit/prompts/commands.py` | Replace manual context write in Plan 3.3 and Init 6 with `pactkit context` | None | Low |
72
+ | 4 | `src/pactkit/cleaners.py` | Align Java cleanup list with LANG_PROFILES | None | Low |
73
+ | 5 | `src/pactkit/guards.py` | Add config completeness check | None | Low |
74
+ | 6 | `src/pactkit/validators.py` | Add LESSONS_ROW_FORMAT column validation | None | Low |
75
+ | 7 | Tests | TDD for Steps 4-6 code changes | Steps 4-6 | Low |
76
+
77
+ ## Acceptance Criteria
78
+
79
+ ### Scenario 1: Sprint/Hotfix/Design call pactkit next-id
80
+ - **Given** the SPRINT_PROMPT, HOTFIX_PROMPT, and DESIGN_PROMPT text
81
+ - **When** searching for "Scan `docs/specs/`" or "determine the next available number"
82
+ - **Then** those phrases are replaced with `pactkit next-id` invocations
83
+
84
+ ### Scenario 2: Plan Phase 3.2 calls pactkit sec-scope
85
+ - **Given** the Plan command prompt text
86
+ - **When** searching Phase 3.2 Security Scope
87
+ - **Then** the text delegates to `pactkit sec-scope` rather than asking the agent to manually apply the detection table
88
+
89
+ ### Scenario 3: Plan and Init call pactkit context
90
+ - **Given** the Plan Phase 3.3 and Init Phase 6 prompt text
91
+ - **When** searching for context.md generation
92
+ - **Then** both delegate to `pactkit context`
93
+
94
+ ### Scenario 4: Java cleanup matches LANG_PROFILES
95
+ - **Given** `cleaners.py` `_CLEANUP_PATTERNS["java"]`
96
+ - **When** compared with `LANG_PROFILES["java"]["cleanup"]`
97
+ - **Then** they are identical: `["target/", "build/", ".gradle/"]`
98
+
99
+ ### Scenario 5: Guards check config completeness
100
+ - **Given** a `pactkit.yaml` missing the `developer` section
101
+ - **When** running `pactkit guard`
102
+ - **Then** the output includes a warning about missing config sections
103
+
104
+ ### Scenario 6: lint_lessons validates row format
105
+ - **Given** a lessons.md with a malformed row `| 2026-01 | lesson only |` (2 columns instead of 3)
106
+ - **When** running `pactkit lint-lessons`
107
+ - **Then** an error is reported about column count mismatch
108
+
109
+ ### Scenario 7: All existing tests pass
110
+ - **Given** all changes applied
111
+ - **When** running `pytest tests/ -v`
112
+ - **Then** 2529+ tests pass with zero failures
113
+
114
+ ## Security Scope
115
+
116
+ | Check | Applicable | Reason |
117
+ |-------|------------|--------|
118
+ | SEC-1 | Yes | Source code modified (cleaners.py, guards.py, validators.py) |
119
+ | SEC-2 | No | No user input handling changes |
120
+ | SEC-3 | No | No database operations |
121
+ | SEC-4 | No | No frontend files |
122
+ | SEC-5 | No | No auth/session code |
123
+ | SEC-6 | No | No API endpoints |
124
+ | SEC-7 | No | No error handling changes |
125
+ | SEC-8 | No | No dependency file changes |
@@ -0,0 +1,103 @@
1
+ # BUG-slim-004: Cross-Flow Integrity Gaps — Unreferenced CLI & Missing Lint in Hotfix
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | ID | BUG-slim-004 |
6
+ | Status | Draft |
7
+ | Priority | P2 |
8
+ | Release | 2.2.0 |
9
+
10
+ ## Background
11
+
12
+ A full end-to-end PDCA workflow audit (Plan→Act→Check→Done→Release, Sprint, Hotfix, Design) revealed 3 categories of cross-flow integrity gaps after the STORY-slim-014/015/016 CLI migration:
13
+
14
+ 1. **Hotfix skips lint entirely** — Plan/Act/Done all reference `pactkit lint`, but Hotfix has no lint step at all. Hotfixed code can merge with lint errors.
15
+ 2. **3 document validators never called** — `pactkit lint-context`, `pactkit lint-lessons`, `pactkit lint-testcase` are registered CLI subcommands with full test coverage, but zero prompt references. Done Phase 3 should use them.
16
+ 3. **`upgrade` subparser missing `--agent` flag** — `init` and `update` both have `--agent`, but `upgrade` does not, creating a parity gap.
17
+ 4. **Check Phase 3.1 duplicates `pactkit spec-lint`** — Check manually inspects "Does Spec have `## Acceptance Criteria`?" but `pactkit spec-lint` E006 already validates this. Should delegate.
18
+ 5. **Design missing `pactkit context`** — Plan/Done/Init all call `pactkit context` to update session context, but Design does not. After `/project-design` creates N stories, `context.md` is stale.
19
+
20
+ ### Target Call Chain
21
+
22
+ ```
23
+ Hotfix Phase 2 → (missing) pactkit lint
24
+ Done Phase 3 → (missing) pactkit lint-context, pactkit lint-lessons, pactkit lint-testcase
25
+ cli.py upgrade → (missing) --agent argument
26
+ Check Phase 3.1 → (duplicate) manual AC check vs pactkit spec-lint E006
27
+ Design Phase 5 → (missing) pactkit context
28
+ ```
29
+
30
+ ## Requirements
31
+
32
+ ### R1: Add lint step to Hotfix flow
33
+ MUST update HOTFIX_PROMPT in `workflows.py` to include a lint step after tests pass (Phase 2), referencing `pactkit lint`. This aligns Hotfix with Done Phase 2.7 behavior.
34
+
35
+ ### R2: Reference document validators in Done prompt
36
+ MUST update DONE_PROMPT in `commands.py` to call `pactkit lint-context`, `pactkit lint-lessons` (in Phase 3 Hygiene), validating `docs/product/context.md` and `docs/architecture/governance/lessons.md` structure after writing them. These are non-blocking checks (warn only).
37
+
38
+ ### R3: Add `--agent` flag to `upgrade` subparser
39
+ MUST add the `--agent` argument to `upgrade_parser` in `cli.py` with the same choices as `init`/`update` (`claude`, `cursor`, `copilot`, `generic`, `all`).
40
+
41
+ ### R4: Forward `--agent` in upgrade handler
42
+ MUST forward `args.agent` in the `upgrade` branch of `cli.py` `main()` to `deploy()`. Currently `deploy()` receives `agent` from `init`/`update` branches via `getattr(args, "agent", "claude")` but `upgrade` never sets it.
43
+
44
+ ### R5: Check Phase 3 should use `pactkit spec-lint` for Spec structure verification
45
+ MUST update CHECK_PROMPT Phase 3.1 in `commands.py` to run `pactkit spec-lint docs/specs/{STORY_ID}.md` instead of manually checking "Does Spec have `## Acceptance Criteria`?" The E006 rule already validates this.
46
+
47
+ ### R6: Design must call `pactkit context` after board setup
48
+ MUST update DESIGN_PROMPT in `workflows.py` to call `pactkit context` after Phase 4 (Board Setup), matching the pattern used by Plan (Phase 3.3), Done (Phase 4.5), and Init (Phase 6).
49
+
50
+ ## Acceptance Criteria
51
+
52
+ ### Scenario 1: Hotfix includes lint step
53
+ - **Given** HOTFIX_PROMPT in `workflows.py`
54
+ - **When** reading the Phase 2 section
55
+ - **Then** it contains `pactkit lint` reference after the test step
56
+
57
+ ### Scenario 2: Done references document validators
58
+ - **Given** DONE_PROMPT in `commands.py`
59
+ - **When** reading Phase 3 Hygiene section
60
+ - **Then** it contains `pactkit lint-context` and `pactkit lint-lessons`
61
+
62
+ ### Scenario 3: upgrade has --agent flag
63
+ - **Given** `pactkit upgrade --help`
64
+ - **When** reading help output
65
+ - **Then** `--agent` appears with choices `claude`, `cursor`, `copilot`, `generic`, `all`
66
+
67
+ ### Scenario 5: Check uses spec-lint for Spec structure
68
+ - **Given** CHECK_PROMPT in `commands.py`
69
+ - **When** reading Phase 3.1
70
+ - **Then** it contains `pactkit spec-lint` reference
71
+
72
+ ### Scenario 6: Design updates context.md
73
+ - **Given** DESIGN_PROMPT in `workflows.py`
74
+ - **When** reading after Phase 4
75
+ - **Then** it contains `pactkit context` reference
76
+
77
+ ### Scenario 7: All existing tests pass
78
+ - **Given** all changes applied
79
+ - **When** running `pytest tests/ -v`
80
+ - **Then** all existing tests pass with zero failures
81
+
82
+ ## Implementation Steps
83
+
84
+ | Step | File | Action | Dependencies | Risk |
85
+ |------|------|--------|--------------|------|
86
+ | 1 | `src/pactkit/prompts/workflows.py` | R1: Add `pactkit lint` to Hotfix Phase 2 | None | Medium |
87
+ | 2 | `src/pactkit/prompts/commands.py` | R2: Add `pactkit lint-context`/`pactkit lint-lessons` to Done Phase 3 | None | Medium |
88
+ | 3 | `src/pactkit/cli.py` | R3+R4: Add `--agent` to upgrade_parser, forward in handler | None | Low |
89
+ | 4 | `src/pactkit/prompts/commands.py` | R5: Add `pactkit spec-lint` to Check Phase 3.1 | None | Low |
90
+ | 5 | `src/pactkit/prompts/workflows.py` | R6: Add `pactkit context` to Design after Phase 4 | None | Low |
91
+
92
+ ## Security Scope
93
+
94
+ | Check | Applicable | Reason |
95
+ |-------|------------|--------|
96
+ | SEC-1 | Yes | Source code modified |
97
+ | SEC-2 | No | No user input handling |
98
+ | SEC-3 | No | No database operations |
99
+ | SEC-4 | No | No frontend files |
100
+ | SEC-5 | No | No auth/session code |
101
+ | SEC-6 | No | No API endpoints |
102
+ | SEC-7 | No | No new error handling paths |
103
+ | SEC-8 | No | No dependency file changes |