pactkit 2.3.0__tar.gz → 2.3.1__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 (940) hide show
  1. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/pactkit.yaml +1 -1
  2. {pactkit-2.3.0 → pactkit-2.3.1}/CHANGELOG.md +7 -0
  3. {pactkit-2.3.0 → pactkit-2.3.1}/PKG-INFO +1 -1
  4. {pactkit-2.3.0 → pactkit-2.3.1}/pyproject.toml +1 -1
  5. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/__init__.py +1 -1
  6. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/prompts/agents.py +1 -1
  7. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/prompts/commands.py +45 -38
  8. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_agent_features.py +2 -2
  9. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_agents_enrichment.py +1 -1
  10. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_slim006.py +0 -1
  11. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story020_horizon.py +1 -1
  12. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim014_context.py +0 -1
  13. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim014_lazy_viz.py +3 -3
  14. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim014_validators.py +1 -2
  15. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim015_doctor.py +4 -3
  16. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim016_testmap_lint.py +3 -2
  17. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim017.py +0 -1
  18. pactkit-2.3.1/tests/unit/test_story_slim019_plan_subphases.py +101 -0
  19. pactkit-2.3.1/tests/unit/test_story_slim020_explore_stall_fix.py +91 -0
  20. {pactkit-2.3.0 → pactkit-2.3.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  21. {pactkit-2.3.0 → pactkit-2.3.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  22. {pactkit-2.3.0 → pactkit-2.3.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  23. {pactkit-2.3.0 → pactkit-2.3.1}/.github/dependabot.yml +0 -0
  24. {pactkit-2.3.0 → pactkit-2.3.1}/.github/workflows/ci.yml +0 -0
  25. {pactkit-2.3.0 → pactkit-2.3.1}/.github/workflows/pactkit.yml +0 -0
  26. {pactkit-2.3.0 → pactkit-2.3.1}/.gitignore +0 -0
  27. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/.gitignore +0 -0
  28. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/bun.lock +0 -0
  29. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/memory/.gitignore +0 -0
  30. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/memory/project.md +0 -0
  31. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/@opencode-ai/plugin/package.json +0 -0
  32. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/@opencode-ai/sdk/package.json +0 -0
  33. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/LICENSE +0 -0
  34. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/README.md +0 -0
  35. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/index.cjs +0 -0
  36. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/index.d.cts +0 -0
  37. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/index.d.ts +0 -0
  38. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/index.js +0 -0
  39. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/locales/index.cjs +0 -0
  40. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/locales/index.d.cts +0 -0
  41. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/locales/index.d.ts +0 -0
  42. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/locales/index.js +0 -0
  43. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/locales/package.json +0 -0
  44. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/mini/index.cjs +0 -0
  45. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/mini/index.d.cts +0 -0
  46. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/mini/index.d.ts +0 -0
  47. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/mini/index.js +0 -0
  48. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/mini/package.json +0 -0
  49. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/package.json +0 -0
  50. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/index.ts +0 -0
  51. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/locales/index.ts +0 -0
  52. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/mini/index.ts +0 -0
  53. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/ZodError.ts +0 -0
  54. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -0
  55. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -0
  56. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/benchmarks/index.ts +0 -0
  57. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -0
  58. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/benchmarks/object.ts +0 -0
  59. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -0
  60. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -0
  61. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/benchmarks/string.ts +0 -0
  62. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/benchmarks/union.ts +0 -0
  63. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/errors.ts +0 -0
  64. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/external.ts +0 -0
  65. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -0
  66. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -0
  67. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -0
  68. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -0
  69. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -0
  70. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/helpers/util.ts +0 -0
  71. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/index.ts +0 -0
  72. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/locales/en.ts +0 -0
  73. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/standard-schema.ts +0 -0
  74. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/Mocker.ts +0 -0
  75. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -0
  76. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -0
  77. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/array.test.ts +0 -0
  78. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -0
  79. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -0
  80. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/base.test.ts +0 -0
  81. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/bigint.test.ts +0 -0
  82. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/branded.test.ts +0 -0
  83. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/catch.test.ts +0 -0
  84. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/coerce.test.ts +0 -0
  85. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/complex.test.ts +0 -0
  86. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/custom.test.ts +0 -0
  87. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/date.test.ts +0 -0
  88. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -0
  89. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/default.test.ts +0 -0
  90. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/description.test.ts +0 -0
  91. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -0
  92. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/enum.test.ts +0 -0
  93. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/error.test.ts +0 -0
  94. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -0
  95. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -0
  96. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/function.test.ts +0 -0
  97. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/generics.test.ts +0 -0
  98. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -0
  99. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/intersection.test.ts +0 -0
  100. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/language-server.source.ts +0 -0
  101. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/language-server.test.ts +0 -0
  102. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/literal.test.ts +0 -0
  103. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/map.test.ts +0 -0
  104. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/masking.test.ts +0 -0
  105. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/mocker.test.ts +0 -0
  106. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/nan.test.ts +0 -0
  107. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -0
  108. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/nullable.test.ts +0 -0
  109. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/number.test.ts +0 -0
  110. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -0
  111. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -0
  112. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/object.test.ts +0 -0
  113. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/optional.test.ts +0 -0
  114. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -0
  115. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/parser.test.ts +0 -0
  116. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/partials.test.ts +0 -0
  117. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -0
  118. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -0
  119. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -0
  120. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/primitive.test.ts +0 -0
  121. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/promise.test.ts +0 -0
  122. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/readonly.test.ts +0 -0
  123. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/record.test.ts +0 -0
  124. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/recursive.test.ts +0 -0
  125. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/refine.test.ts +0 -0
  126. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -0
  127. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/set.test.ts +0 -0
  128. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -0
  129. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/string.test.ts +0 -0
  130. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/transformer.test.ts +0 -0
  131. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/tuple.test.ts +0 -0
  132. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/unions.test.ts +0 -0
  133. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/validations.test.ts +0 -0
  134. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/tests/void.test.ts +0 -0
  135. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v3/types.ts +0 -0
  136. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/checks.ts +0 -0
  137. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/coerce.ts +0 -0
  138. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/compat.ts +0 -0
  139. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/errors.ts +0 -0
  140. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/external.ts +0 -0
  141. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/index.ts +0 -0
  142. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/iso.ts +0 -0
  143. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/parse.ts +0 -0
  144. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/schemas.ts +0 -0
  145. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -0
  146. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -0
  147. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -0
  148. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -0
  149. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -0
  150. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -0
  151. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -0
  152. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -0
  153. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -0
  154. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -0
  155. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -0
  156. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -0
  157. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -0
  158. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -0
  159. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -0
  160. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -0
  161. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -0
  162. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -0
  163. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -0
  164. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -0
  165. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -0
  166. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -0
  167. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -0
  168. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -0
  169. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -0
  170. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -0
  171. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -0
  172. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -0
  173. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -0
  174. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -0
  175. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -0
  176. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -0
  177. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -0
  178. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -0
  179. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -0
  180. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -0
  181. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -0
  182. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -0
  183. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -0
  184. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -0
  185. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -0
  186. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -0
  187. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -0
  188. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -0
  189. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -0
  190. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -0
  191. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -0
  192. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -0
  193. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -0
  194. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -0
  195. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -0
  196. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -0
  197. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -0
  198. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -0
  199. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -0
  200. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -0
  201. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -0
  202. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -0
  203. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -0
  204. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -0
  205. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -0
  206. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -0
  207. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -0
  208. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -0
  209. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -0
  210. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -0
  211. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -0
  212. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/api.ts +0 -0
  213. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/checks.ts +0 -0
  214. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/config.ts +0 -0
  215. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/core.ts +0 -0
  216. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/doc.ts +0 -0
  217. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/errors.ts +0 -0
  218. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/index.ts +0 -0
  219. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/json-schema.ts +0 -0
  220. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/parse.ts +0 -0
  221. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/regexes.ts +0 -0
  222. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/registries.ts +0 -0
  223. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/schemas.ts +0 -0
  224. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/standard-schema.ts +0 -0
  225. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -0
  226. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/tests/index.test.ts +0 -0
  227. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -0
  228. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -0
  229. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -0
  230. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -0
  231. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -0
  232. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/to-json-schema.ts +0 -0
  233. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/util.ts +0 -0
  234. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/versions.ts +0 -0
  235. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/core/zsf.ts +0 -0
  236. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/index.ts +0 -0
  237. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ar.ts +0 -0
  238. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/az.ts +0 -0
  239. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/be.ts +0 -0
  240. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/bg.ts +0 -0
  241. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ca.ts +0 -0
  242. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/cs.ts +0 -0
  243. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/da.ts +0 -0
  244. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/de.ts +0 -0
  245. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/en.ts +0 -0
  246. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/eo.ts +0 -0
  247. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/es.ts +0 -0
  248. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/fa.ts +0 -0
  249. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/fi.ts +0 -0
  250. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/fr-CA.ts +0 -0
  251. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/fr.ts +0 -0
  252. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/he.ts +0 -0
  253. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/hu.ts +0 -0
  254. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/id.ts +0 -0
  255. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/index.ts +0 -0
  256. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/is.ts +0 -0
  257. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/it.ts +0 -0
  258. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ja.ts +0 -0
  259. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ka.ts +0 -0
  260. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/kh.ts +0 -0
  261. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/km.ts +0 -0
  262. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ko.ts +0 -0
  263. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/lt.ts +0 -0
  264. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/mk.ts +0 -0
  265. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ms.ts +0 -0
  266. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/nl.ts +0 -0
  267. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/no.ts +0 -0
  268. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ota.ts +0 -0
  269. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/pl.ts +0 -0
  270. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ps.ts +0 -0
  271. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/pt.ts +0 -0
  272. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ru.ts +0 -0
  273. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/sl.ts +0 -0
  274. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/sv.ts +0 -0
  275. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ta.ts +0 -0
  276. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/th.ts +0 -0
  277. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/tr.ts +0 -0
  278. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ua.ts +0 -0
  279. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/uk.ts +0 -0
  280. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/ur.ts +0 -0
  281. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/vi.ts +0 -0
  282. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/yo.ts +0 -0
  283. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/zh-CN.ts +0 -0
  284. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/locales/zh-TW.ts +0 -0
  285. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/checks.ts +0 -0
  286. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/coerce.ts +0 -0
  287. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/external.ts +0 -0
  288. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/index.ts +0 -0
  289. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/iso.ts +0 -0
  290. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/parse.ts +0 -0
  291. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/schemas.ts +0 -0
  292. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -0
  293. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -0
  294. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -0
  295. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -0
  296. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -0
  297. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -0
  298. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -0
  299. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -0
  300. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -0
  301. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -0
  302. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -0
  303. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -0
  304. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -0
  305. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/src/v4-mini/index.ts +0 -0
  306. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/ZodError.cjs +0 -0
  307. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/ZodError.d.cts +0 -0
  308. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/ZodError.d.ts +0 -0
  309. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/ZodError.js +0 -0
  310. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/errors.cjs +0 -0
  311. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/errors.d.cts +0 -0
  312. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/errors.d.ts +0 -0
  313. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/errors.js +0 -0
  314. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/external.cjs +0 -0
  315. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/external.d.cts +0 -0
  316. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/external.d.ts +0 -0
  317. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/external.js +0 -0
  318. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/enumUtil.cjs +0 -0
  319. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -0
  320. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -0
  321. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/enumUtil.js +0 -0
  322. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/errorUtil.cjs +0 -0
  323. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -0
  324. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -0
  325. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/errorUtil.js +0 -0
  326. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/parseUtil.cjs +0 -0
  327. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -0
  328. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -0
  329. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/parseUtil.js +0 -0
  330. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/partialUtil.cjs +0 -0
  331. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -0
  332. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -0
  333. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/partialUtil.js +0 -0
  334. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/typeAliases.cjs +0 -0
  335. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -0
  336. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -0
  337. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/typeAliases.js +0 -0
  338. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/util.cjs +0 -0
  339. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/util.d.cts +0 -0
  340. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/util.d.ts +0 -0
  341. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/helpers/util.js +0 -0
  342. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/index.cjs +0 -0
  343. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/index.d.cts +0 -0
  344. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/index.d.ts +0 -0
  345. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/index.js +0 -0
  346. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/locales/en.cjs +0 -0
  347. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/locales/en.d.cts +0 -0
  348. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/locales/en.d.ts +0 -0
  349. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/locales/en.js +0 -0
  350. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/package.json +0 -0
  351. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/standard-schema.cjs +0 -0
  352. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/standard-schema.d.cts +0 -0
  353. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/standard-schema.d.ts +0 -0
  354. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/standard-schema.js +0 -0
  355. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/types.cjs +0 -0
  356. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/types.d.cts +0 -0
  357. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/types.d.ts +0 -0
  358. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v3/types.js +0 -0
  359. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/checks.cjs +0 -0
  360. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/checks.d.cts +0 -0
  361. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/checks.d.ts +0 -0
  362. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/checks.js +0 -0
  363. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/coerce.cjs +0 -0
  364. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/coerce.d.cts +0 -0
  365. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/coerce.d.ts +0 -0
  366. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/coerce.js +0 -0
  367. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/compat.cjs +0 -0
  368. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/compat.d.cts +0 -0
  369. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/compat.d.ts +0 -0
  370. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/compat.js +0 -0
  371. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/errors.cjs +0 -0
  372. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/errors.d.cts +0 -0
  373. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/errors.d.ts +0 -0
  374. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/errors.js +0 -0
  375. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/external.cjs +0 -0
  376. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/external.d.cts +0 -0
  377. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/external.d.ts +0 -0
  378. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/external.js +0 -0
  379. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/index.cjs +0 -0
  380. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/index.d.cts +0 -0
  381. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/index.d.ts +0 -0
  382. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/index.js +0 -0
  383. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/iso.cjs +0 -0
  384. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/iso.d.cts +0 -0
  385. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/iso.d.ts +0 -0
  386. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/iso.js +0 -0
  387. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/package.json +0 -0
  388. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/parse.cjs +0 -0
  389. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/parse.d.cts +0 -0
  390. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/parse.d.ts +0 -0
  391. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/parse.js +0 -0
  392. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/schemas.cjs +0 -0
  393. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/schemas.d.cts +0 -0
  394. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/schemas.d.ts +0 -0
  395. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/classic/schemas.js +0 -0
  396. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/api.cjs +0 -0
  397. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/api.d.cts +0 -0
  398. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/api.d.ts +0 -0
  399. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/api.js +0 -0
  400. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/checks.cjs +0 -0
  401. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/checks.d.cts +0 -0
  402. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/checks.d.ts +0 -0
  403. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/checks.js +0 -0
  404. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/core.cjs +0 -0
  405. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/core.d.cts +0 -0
  406. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/core.d.ts +0 -0
  407. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/core.js +0 -0
  408. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/doc.cjs +0 -0
  409. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/doc.d.cts +0 -0
  410. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/doc.d.ts +0 -0
  411. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/doc.js +0 -0
  412. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/errors.cjs +0 -0
  413. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/errors.d.cts +0 -0
  414. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/errors.d.ts +0 -0
  415. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/errors.js +0 -0
  416. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/index.cjs +0 -0
  417. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/index.d.cts +0 -0
  418. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/index.d.ts +0 -0
  419. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/index.js +0 -0
  420. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/json-schema.cjs +0 -0
  421. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/json-schema.d.cts +0 -0
  422. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/json-schema.d.ts +0 -0
  423. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/json-schema.js +0 -0
  424. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/package.json +0 -0
  425. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/parse.cjs +0 -0
  426. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/parse.d.cts +0 -0
  427. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/parse.d.ts +0 -0
  428. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/parse.js +0 -0
  429. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/regexes.cjs +0 -0
  430. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/regexes.d.cts +0 -0
  431. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/regexes.d.ts +0 -0
  432. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/regexes.js +0 -0
  433. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/registries.cjs +0 -0
  434. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/registries.d.cts +0 -0
  435. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/registries.d.ts +0 -0
  436. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/registries.js +0 -0
  437. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/schemas.cjs +0 -0
  438. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/schemas.d.cts +0 -0
  439. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/schemas.d.ts +0 -0
  440. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/schemas.js +0 -0
  441. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/standard-schema.cjs +0 -0
  442. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/standard-schema.d.cts +0 -0
  443. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/standard-schema.d.ts +0 -0
  444. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/standard-schema.js +0 -0
  445. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/to-json-schema.cjs +0 -0
  446. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/to-json-schema.d.cts +0 -0
  447. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/to-json-schema.d.ts +0 -0
  448. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/to-json-schema.js +0 -0
  449. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/util.cjs +0 -0
  450. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/util.d.cts +0 -0
  451. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/util.d.ts +0 -0
  452. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/util.js +0 -0
  453. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/versions.cjs +0 -0
  454. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/versions.d.cts +0 -0
  455. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/versions.d.ts +0 -0
  456. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/core/versions.js +0 -0
  457. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/index.cjs +0 -0
  458. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/index.d.cts +0 -0
  459. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/index.d.ts +0 -0
  460. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/index.js +0 -0
  461. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ar.cjs +0 -0
  462. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ar.d.cts +0 -0
  463. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ar.d.ts +0 -0
  464. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ar.js +0 -0
  465. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/az.cjs +0 -0
  466. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/az.d.cts +0 -0
  467. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/az.d.ts +0 -0
  468. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/az.js +0 -0
  469. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/be.cjs +0 -0
  470. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/be.d.cts +0 -0
  471. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/be.d.ts +0 -0
  472. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/be.js +0 -0
  473. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/bg.cjs +0 -0
  474. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/bg.d.cts +0 -0
  475. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/bg.d.ts +0 -0
  476. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/bg.js +0 -0
  477. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ca.cjs +0 -0
  478. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ca.d.cts +0 -0
  479. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ca.d.ts +0 -0
  480. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ca.js +0 -0
  481. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/cs.cjs +0 -0
  482. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/cs.d.cts +0 -0
  483. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/cs.d.ts +0 -0
  484. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/cs.js +0 -0
  485. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/da.cjs +0 -0
  486. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/da.d.cts +0 -0
  487. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/da.d.ts +0 -0
  488. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/da.js +0 -0
  489. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/de.cjs +0 -0
  490. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/de.d.cts +0 -0
  491. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/de.d.ts +0 -0
  492. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/de.js +0 -0
  493. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/en.cjs +0 -0
  494. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/en.d.cts +0 -0
  495. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/en.d.ts +0 -0
  496. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/en.js +0 -0
  497. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/eo.cjs +0 -0
  498. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/eo.d.cts +0 -0
  499. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/eo.d.ts +0 -0
  500. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/eo.js +0 -0
  501. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/es.cjs +0 -0
  502. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/es.d.cts +0 -0
  503. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/es.d.ts +0 -0
  504. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/es.js +0 -0
  505. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fa.cjs +0 -0
  506. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fa.d.cts +0 -0
  507. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fa.d.ts +0 -0
  508. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fa.js +0 -0
  509. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fi.cjs +0 -0
  510. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fi.d.cts +0 -0
  511. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fi.d.ts +0 -0
  512. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fi.js +0 -0
  513. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fr-CA.cjs +0 -0
  514. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fr-CA.d.cts +0 -0
  515. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fr-CA.d.ts +0 -0
  516. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fr-CA.js +0 -0
  517. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fr.cjs +0 -0
  518. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fr.d.cts +0 -0
  519. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fr.d.ts +0 -0
  520. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/fr.js +0 -0
  521. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/he.cjs +0 -0
  522. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/he.d.cts +0 -0
  523. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/he.d.ts +0 -0
  524. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/he.js +0 -0
  525. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/hu.cjs +0 -0
  526. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/hu.d.cts +0 -0
  527. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/hu.d.ts +0 -0
  528. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/hu.js +0 -0
  529. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/id.cjs +0 -0
  530. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/id.d.cts +0 -0
  531. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/id.d.ts +0 -0
  532. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/id.js +0 -0
  533. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/index.cjs +0 -0
  534. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/index.d.cts +0 -0
  535. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/index.d.ts +0 -0
  536. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/index.js +0 -0
  537. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/is.cjs +0 -0
  538. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/is.d.cts +0 -0
  539. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/is.d.ts +0 -0
  540. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/is.js +0 -0
  541. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/it.cjs +0 -0
  542. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/it.d.cts +0 -0
  543. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/it.d.ts +0 -0
  544. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/it.js +0 -0
  545. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ja.cjs +0 -0
  546. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ja.d.cts +0 -0
  547. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ja.d.ts +0 -0
  548. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ja.js +0 -0
  549. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ka.cjs +0 -0
  550. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ka.d.cts +0 -0
  551. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ka.d.ts +0 -0
  552. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ka.js +0 -0
  553. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/kh.cjs +0 -0
  554. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/kh.d.cts +0 -0
  555. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/kh.d.ts +0 -0
  556. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/kh.js +0 -0
  557. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/km.cjs +0 -0
  558. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/km.d.cts +0 -0
  559. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/km.d.ts +0 -0
  560. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/km.js +0 -0
  561. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ko.cjs +0 -0
  562. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ko.d.cts +0 -0
  563. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ko.d.ts +0 -0
  564. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ko.js +0 -0
  565. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/lt.cjs +0 -0
  566. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/lt.d.cts +0 -0
  567. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/lt.d.ts +0 -0
  568. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/lt.js +0 -0
  569. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/mk.cjs +0 -0
  570. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/mk.d.cts +0 -0
  571. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/mk.d.ts +0 -0
  572. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/mk.js +0 -0
  573. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ms.cjs +0 -0
  574. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ms.d.cts +0 -0
  575. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ms.d.ts +0 -0
  576. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ms.js +0 -0
  577. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/nl.cjs +0 -0
  578. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/nl.d.cts +0 -0
  579. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/nl.d.ts +0 -0
  580. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/nl.js +0 -0
  581. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/no.cjs +0 -0
  582. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/no.d.cts +0 -0
  583. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/no.d.ts +0 -0
  584. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/no.js +0 -0
  585. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ota.cjs +0 -0
  586. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ota.d.cts +0 -0
  587. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ota.d.ts +0 -0
  588. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ota.js +0 -0
  589. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/package.json +0 -0
  590. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/pl.cjs +0 -0
  591. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/pl.d.cts +0 -0
  592. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/pl.d.ts +0 -0
  593. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/pl.js +0 -0
  594. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ps.cjs +0 -0
  595. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ps.d.cts +0 -0
  596. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ps.d.ts +0 -0
  597. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ps.js +0 -0
  598. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/pt.cjs +0 -0
  599. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/pt.d.cts +0 -0
  600. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/pt.d.ts +0 -0
  601. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/pt.js +0 -0
  602. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ru.cjs +0 -0
  603. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ru.d.cts +0 -0
  604. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ru.d.ts +0 -0
  605. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ru.js +0 -0
  606. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/sl.cjs +0 -0
  607. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/sl.d.cts +0 -0
  608. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/sl.d.ts +0 -0
  609. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/sl.js +0 -0
  610. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/sv.cjs +0 -0
  611. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/sv.d.cts +0 -0
  612. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/sv.d.ts +0 -0
  613. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/sv.js +0 -0
  614. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ta.cjs +0 -0
  615. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ta.d.cts +0 -0
  616. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ta.d.ts +0 -0
  617. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ta.js +0 -0
  618. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/th.cjs +0 -0
  619. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/th.d.cts +0 -0
  620. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/th.d.ts +0 -0
  621. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/th.js +0 -0
  622. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/tr.cjs +0 -0
  623. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/tr.d.cts +0 -0
  624. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/tr.d.ts +0 -0
  625. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/tr.js +0 -0
  626. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ua.cjs +0 -0
  627. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ua.d.cts +0 -0
  628. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ua.d.ts +0 -0
  629. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ua.js +0 -0
  630. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/uk.cjs +0 -0
  631. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/uk.d.cts +0 -0
  632. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/uk.d.ts +0 -0
  633. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/uk.js +0 -0
  634. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ur.cjs +0 -0
  635. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ur.d.cts +0 -0
  636. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ur.d.ts +0 -0
  637. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/ur.js +0 -0
  638. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/vi.cjs +0 -0
  639. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/vi.d.cts +0 -0
  640. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/vi.d.ts +0 -0
  641. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/vi.js +0 -0
  642. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/yo.cjs +0 -0
  643. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/yo.d.cts +0 -0
  644. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/yo.d.ts +0 -0
  645. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/yo.js +0 -0
  646. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/zh-CN.cjs +0 -0
  647. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/zh-CN.d.cts +0 -0
  648. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/zh-CN.d.ts +0 -0
  649. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/zh-CN.js +0 -0
  650. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/zh-TW.cjs +0 -0
  651. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/zh-TW.d.cts +0 -0
  652. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/zh-TW.d.ts +0 -0
  653. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/locales/zh-TW.js +0 -0
  654. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/checks.cjs +0 -0
  655. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/checks.d.cts +0 -0
  656. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/checks.d.ts +0 -0
  657. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/checks.js +0 -0
  658. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/coerce.cjs +0 -0
  659. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/coerce.d.cts +0 -0
  660. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/coerce.d.ts +0 -0
  661. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/coerce.js +0 -0
  662. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/external.cjs +0 -0
  663. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/external.d.cts +0 -0
  664. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/external.d.ts +0 -0
  665. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/external.js +0 -0
  666. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/index.cjs +0 -0
  667. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/index.d.cts +0 -0
  668. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/index.d.ts +0 -0
  669. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/index.js +0 -0
  670. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/iso.cjs +0 -0
  671. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/iso.d.cts +0 -0
  672. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/iso.d.ts +0 -0
  673. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/iso.js +0 -0
  674. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/package.json +0 -0
  675. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/parse.cjs +0 -0
  676. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/parse.d.cts +0 -0
  677. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/parse.d.ts +0 -0
  678. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/parse.js +0 -0
  679. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/schemas.cjs +0 -0
  680. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/schemas.d.cts +0 -0
  681. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/schemas.d.ts +0 -0
  682. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/mini/schemas.js +0 -0
  683. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4/package.json +0 -0
  684. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4-mini/index.cjs +0 -0
  685. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4-mini/index.d.cts +0 -0
  686. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4-mini/index.d.ts +0 -0
  687. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4-mini/index.js +0 -0
  688. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/node_modules/zod/v4-mini/package.json +0 -0
  689. {pactkit-2.3.0 → pactkit-2.3.1}/.opencode/package.json +0 -0
  690. {pactkit-2.3.0 → pactkit-2.3.1}/AGENTS.md +0 -0
  691. {pactkit-2.3.0 → pactkit-2.3.1}/CODE_OF_CONDUCT.md +0 -0
  692. {pactkit-2.3.0 → pactkit-2.3.1}/CONTRIBUTING.md +0 -0
  693. {pactkit-2.3.0 → pactkit-2.3.1}/LICENSE +0 -0
  694. {pactkit-2.3.0 → pactkit-2.3.1}/README.md +0 -0
  695. {pactkit-2.3.0 → pactkit-2.3.1}/SECURITY.md +0 -0
  696. {pactkit-2.3.0 → pactkit-2.3.1}/docs/assets/logo.png +0 -0
  697. {pactkit-2.3.0 → pactkit-2.3.1}/docs/guides/codex-integration-preresearch.md +0 -0
  698. {pactkit-2.3.0 → pactkit-2.3.1}/docs/guides/tool-integration-checklist.md +0 -0
  699. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-001.md +0 -0
  700. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-002.md +0 -0
  701. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-003.md +0 -0
  702. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-004.md +0 -0
  703. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-005.md +0 -0
  704. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-006.md +0 -0
  705. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-007.md +0 -0
  706. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-008.md +0 -0
  707. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-009.md +0 -0
  708. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-010.md +0 -0
  709. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-011.md +0 -0
  710. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-012.md +0 -0
  711. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-013.md +0 -0
  712. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-014.md +0 -0
  713. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-015.md +0 -0
  714. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-016.md +0 -0
  715. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-017.md +0 -0
  716. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-018.md +0 -0
  717. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-019.md +0 -0
  718. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-020.md +0 -0
  719. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-021.md +0 -0
  720. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-022.md +0 -0
  721. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-023.md +0 -0
  722. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-024.md +0 -0
  723. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-025.md +0 -0
  724. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-026.md +0 -0
  725. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-027.md +0 -0
  726. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-028.md +0 -0
  727. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-029.md +0 -0
  728. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-030.md +0 -0
  729. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-031.md +0 -0
  730. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-032.md +0 -0
  731. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-033.md +0 -0
  732. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-034.md +0 -0
  733. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-035.md +0 -0
  734. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-slim-001.md +0 -0
  735. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-slim-002.md +0 -0
  736. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-slim-003.md +0 -0
  737. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-slim-004.md +0 -0
  738. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-slim-005.md +0 -0
  739. {pactkit-2.3.0 → pactkit-2.3.1}/docs/specs/BUG-slim-006.md +0 -0
  740. {pactkit-2.3.0 → pactkit-2.3.1}/docs/test_cases/BUG-001_case.md +0 -0
  741. {pactkit-2.3.0 → pactkit-2.3.1}/docs/test_cases/BUG-002_case.md +0 -0
  742. {pactkit-2.3.0 → pactkit-2.3.1}/opencode.json +0 -0
  743. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/backfill.py +0 -0
  744. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/cleaners.py +0 -0
  745. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/cli.py +0 -0
  746. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/config.py +0 -0
  747. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/context_gen.py +0 -0
  748. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/coverage_gate.py +0 -0
  749. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/doctor.py +0 -0
  750. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/generators/__init__.py +0 -0
  751. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/generators/adapter.py +0 -0
  752. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/generators/deployer.py +0 -0
  753. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/guards.py +0 -0
  754. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/id_generator.py +0 -0
  755. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/invariants.py +0 -0
  756. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/issue_sync.py +0 -0
  757. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/lazy_visualize.py +0 -0
  758. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/lessons.py +0 -0
  759. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/lint_runner.py +0 -0
  760. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/profiles.py +0 -0
  761. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/prompts/__init__.py +0 -0
  762. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/prompts/references.py +0 -0
  763. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/prompts/rules.py +0 -0
  764. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/prompts/skills.py +0 -0
  765. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/prompts/workflows.py +0 -0
  766. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/regression.py +0 -0
  767. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/schemas.py +0 -0
  768. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/scripts.py +0 -0
  769. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/sec_scope.py +0 -0
  770. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/skills/__init__.py +0 -0
  771. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/skills/board.py +0 -0
  772. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/skills/scaffold.py +0 -0
  773. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/skills/spec_linter.py +0 -0
  774. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/skills/visualize.py +0 -0
  775. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/spec_status.py +0 -0
  776. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/test_mapper.py +0 -0
  777. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/utils.py +0 -0
  778. {pactkit-2.3.0 → pactkit-2.3.1}/src/pactkit/validators.py +0 -0
  779. {pactkit-2.3.0 → pactkit-2.3.1}/tests/conftest.py +0 -0
  780. {pactkit-2.3.0 → pactkit-2.3.1}/tests/e2e/__init__.py +0 -0
  781. {pactkit-2.3.0 → pactkit-2.3.1}/tests/e2e/cli/__init__.py +0 -0
  782. {pactkit-2.3.0 → pactkit-2.3.1}/tests/e2e/cli/test_cli_e2e.py +0 -0
  783. {pactkit-2.3.0 → pactkit-2.3.1}/tests/integration/__init__.py +0 -0
  784. {pactkit-2.3.0 → pactkit-2.3.1}/tests/integration/test_deploy_classic.py +0 -0
  785. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_agent_frontmatter.py +0 -0
  786. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_board_bug027.py +0 -0
  787. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_board_sections.py +0 -0
  788. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug001_skill_path.py +0 -0
  789. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug002_plugin_paths.py +0 -0
  790. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug003_multi_import.py +0 -0
  791. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug004_dead_set.py +0 -0
  792. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug005_archive_taskless.py +0 -0
  793. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug006_scan_excludes.py +0 -0
  794. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug007_stale_trace_refs.py +0 -0
  795. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug008_stale_command_refs.py +0 -0
  796. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug009_project_config_backfill.py +0 -0
  797. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug010_rewrite_yaml.py +0 -0
  798. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug011_stale_refs.py +0 -0
  799. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug012_call_graph_filter.py +0 -0
  800. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug013_config_single_source.py +0 -0
  801. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug014_version_hygiene.py +0 -0
  802. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug017_project_init_playbook.py +0 -0
  803. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug018_issue_tracker_verification.py +0 -0
  804. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug019_venv_deployment.py +0 -0
  805. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug020_claude_md_backup.py +0 -0
  806. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug025_release_delegation.py +0 -0
  807. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug026_version_sync.py +0 -0
  808. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug028_ghost_refs.py +0 -0
  809. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug029_stack_detection_fallback.py +0 -0
  810. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug030_spec_lint_cli.py +0 -0
  811. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug031_docstring_accuracy.py +0 -0
  812. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug034_plan_metadata_template.py +0 -0
  813. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug035_opencode_dual_layer.py +0 -0
  814. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_021.py +0 -0
  815. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_022.py +0 -0
  816. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_023.py +0 -0
  817. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_024.py +0 -0
  818. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_slim001_env_detection.py +0 -0
  819. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_slim002_instruction_collision.py +0 -0
  820. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_slim003.py +0 -0
  821. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_slim004.py +0 -0
  822. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_bug_slim005.py +0 -0
  823. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_check_command.py +0 -0
  824. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_command_frontmatter.py +0 -0
  825. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_command_visualize_modes.py +0 -0
  826. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_config.py +0 -0
  827. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_config_auto_merge.py +0 -0
  828. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_constitution_sharpening.py +0 -0
  829. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_create_skill.py +0 -0
  830. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_cross_flow_matrix.py +0 -0
  831. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_deploy_opencode_parity.py +0 -0
  832. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_deployer_cleanup.py +0 -0
  833. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_deployer_plugin.py +0 -0
  834. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_design_command.py +0 -0
  835. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_done_gates.py +0 -0
  836. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_draw_prompt.py +0 -0
  837. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_draw_references.py +0 -0
  838. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_drawio_mcp.py +0 -0
  839. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_home_path_fix.py +0 -0
  840. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_hotfix_command.py +0 -0
  841. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_init_guard.py +0 -0
  842. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_lang_profiles.py +0 -0
  843. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_list_stories.py +0 -0
  844. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_mcp_integration.py +0 -0
  845. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_model_config.py +0 -0
  846. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_modular_constitution.py +0 -0
  847. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_multi_prefix.py +0 -0
  848. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_pdca_slim.py +0 -0
  849. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_profiles.py +0 -0
  850. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_project_visibility.py +0 -0
  851. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_prompt_cli_refs.py +0 -0
  852. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_prompt_structural_invariants.py +0 -0
  853. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_prompts_package.py +0 -0
  854. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_release.py +0 -0
  855. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_release_field.py +0 -0
  856. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_release_v110.py +0 -0
  857. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_render_prompt.py +0 -0
  858. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_review_command.py +0 -0
  859. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_rules_enrichment.py +0 -0
  860. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_scaffold.py +0 -0
  861. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_scaffold_developer_prefix.py +0 -0
  862. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_schemas.py +0 -0
  863. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_script_extraction.py +0 -0
  864. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_selective_deploy.py +0 -0
  865. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_session_context.py +0 -0
  866. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_skill_structure.py +0 -0
  867. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_skills_enrichment.py +0 -0
  868. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_smart_regression.py +0 -0
  869. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_sprint_command.py +0 -0
  870. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_stack_references.py +0 -0
  871. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_status_command.py +0 -0
  872. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_statusline.py +0 -0
  873. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story014_release.py +0 -0
  874. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story015_ci_lint_gate.py +0 -0
  875. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story016_claude_md.py +0 -0
  876. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story017_init_claude_md.py +0 -0
  877. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story018_arch_staleness.py +0 -0
  878. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story019_bailout.py +0 -0
  879. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story021_rfc.py +0 -0
  880. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story022_decision_tree.py +0 -0
  881. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story023_test_quality.py +0 -0
  882. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story024_native_agent.py +0 -0
  883. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story025_ci_pipeline.py +0 -0
  884. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story026_issue_tracker.py +0 -0
  885. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story027_hooks.py +0 -0
  886. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story028_rule_scoping.py +0 -0
  887. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story029_doctor.py +0 -0
  888. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story030_lint.py +0 -0
  889. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story031_git_init_guard.py +0 -0
  890. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story032_greenfield_redirect.py +0 -0
  891. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story033_config_backfill.py +0 -0
  892. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story034_plan_config_refresh.py +0 -0
  893. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story035_readme_docs.py +0 -0
  894. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story037_regression_fix.py +0 -0
  895. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story038_call_graph_update.py +0 -0
  896. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story039_venv_config.py +0 -0
  897. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story040_layered_claude_md.py +0 -0
  898. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story042_spec_linter.py +0 -0
  899. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story043_active_clarify.py +0 -0
  900. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story044_consistency_check.py +0 -0
  901. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story045_auto_pr.py +0 -0
  902. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story046_agent_adapter.py +0 -0
  903. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story047_enterprise_flags.py +0 -0
  904. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story048_worktree_isolation.py +0 -0
  905. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story049_community_standards.py +0 -0
  906. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story050_doc_only_shortcut.py +0 -0
  907. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story051_workflow_streamlining.py +0 -0
  908. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story052_conditional_github_release.py +0 -0
  909. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story053_impact_regression.py +0 -0
  910. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story055_commands.py +0 -0
  911. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story055_config.py +0 -0
  912. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story055_spec_linter.py +0 -0
  913. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story056_commands.py +0 -0
  914. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story056_config.py +0 -0
  915. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story057_implicit_cleanup.py +0 -0
  916. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story058_routing_fix.py +0 -0
  917. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story060_init_hang.py +0 -0
  918. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story061_remove_thinking.py +0 -0
  919. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story062_mcp_recommendations.py +0 -0
  920. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story063_prompt_slimming.py +0 -0
  921. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story064_venv_local_md.py +0 -0
  922. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story065_sprint_model.py +0 -0
  923. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story069_opencode_format.py +0 -0
  924. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story070_opencode_compliance.py +0 -0
  925. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story071_opencode_config_parity.py +0 -0
  926. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story072_developer_prefix.py +0 -0
  927. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story073_command_model_routing.py +0 -0
  928. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim009_lazy_rules.py +0 -0
  929. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim010_dry_refactor.py +0 -0
  930. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim011_command_rules.py +0 -0
  931. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim012_ci.py +0 -0
  932. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim014_clean.py +0 -0
  933. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim014_guard.py +0 -0
  934. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim014_next_id.py +0 -0
  935. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim014_regression.py +0 -0
  936. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim014_sec_scope.py +1 -1
  937. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_story_slim018.py +0 -0
  938. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_tools.py +0 -0
  939. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_update_task.py +0 -0
  940. {pactkit-2.3.0 → pactkit-2.3.1}/tests/unit/test_visualize_modes.py +0 -0
@@ -2,7 +2,7 @@
2
2
  # Edit this file to customize which components are deployed.
3
3
  # Remove items from a list to disable them. Default: all enabled.
4
4
 
5
- version: "2.2.0"
5
+ version: "2.3.1"
6
6
  stack: python
7
7
  root: .
8
8
  developer: "slim"
@@ -4,6 +4,13 @@ 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.1] - 2026-03-23
8
+
9
+ ### Fixed
10
+ - **Plan Phase 3.2 Stall** (STORY-slim-019) — Split monolithic Spec-writing phase into 4 sub-steps (3.2a Skeleton, 3.2b Acceptance Criteria, 3.2c Security Scope, 3.2d Spec Lint) with output checkpoints between each, eliminating AI buffering stall on large Spec generation.
11
+ - **Explore Subagent Stall** (STORY-slim-020) — Added Bounded Delegation template to Plan Phase 1 (target/scope/limit/output constraints for Explore subagents), reduced `code-explorer` maxTurns from 50 to 15, and added scope-limiting instructions to prevent unbounded codebase exploration.
12
+ - **CI Workflow** — Reverted `actions/checkout` and `actions/setup-python` from v6 back to v4/v5 for CI stability after Dependabot upgrades caused failures.
13
+
7
14
  ## [2.3.0] - 2026-03-22
8
15
 
9
16
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pactkit
3
- Version: 2.3.0
3
+ Version: 2.3.1
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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pactkit"
7
- version = "2.3.0"
7
+ version = "2.3.1"
8
8
  description = "Spec-driven agentic DevOps toolkit for AI coding assistants"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -1,3 +1,3 @@
1
1
  """PactKit - Spec-driven agentic DevOps toolkit."""
2
2
 
3
- __version__ = "2.3.0"
3
+ __version__ = "2.3.1"
@@ -248,7 +248,7 @@ Generate system architecture diagrams using Draw.io XML. Supports three diagram
248
248
  "code-explorer": {
249
249
  "desc": "Deep code analysis and execution tracing.",
250
250
  "tools": "Read, Bash, Grep, Glob, Find",
251
- "maxTurns": 50,
251
+ "maxTurns": 15, # STORY-slim-020: reduced from 50 to prevent unbounded exploration stalls
252
252
  "memory": "user",
253
253
  "prompt": """You are the **Code Explorer** (aka System Archaeologist).
254
254
  **Motto**: "Read little, understand much."
@@ -64,11 +64,18 @@ allowed-tools: [Read, Write, Edit, Bash, Glob, Grep]
64
64
  6. **Output**: The enriched_input (original + answers) is used as context for Phase 1 onwards.
65
65
 
66
66
  ## 🎬 Phase 1: Archaeology (The "Know Before You Change" Step)
67
- 1. **Visual Scan**: Run `visualize` to see the module dependency graph. Use `--mode class` for structure, `--mode call` for logic.
68
- - For large codebases (50+ files), use `--focus <module> --depth 2` to limit scope.
67
+ > **Subagent Scope Rule**: When delegating research to an Explore subagent, always provide a **bounded** prompt: target function/class, directory scope, file limit, and expected output. Never delegate open-ended "trace the whole codebase" tasks.
68
+
69
+ 1. **Visual Scan**: Run `visualize --focus <module> --depth 2` to see the targeted dependency graph. Only expand to `--mode class` or `--mode call` if the focused scan is insufficient.
69
70
  2. **Logic Trace (CRITICAL)** — use pactkit-trace skill:
70
71
  - If modifying existing logic, trace the current implementation.
71
72
  - *Goal*: Identify the exact function/class responsible for the logic.
73
+ - **Delegation Template**: When using an Explore subagent for trace, formulate the prompt with:
74
+ - **Target**: specific function or class name to trace
75
+ - **Scope**: specific directory (e.g., `src/pactkit/generators/`)
76
+ - **Limit**: read at most 8-10 files
77
+ - **Output**: what to return (entry file, call chain, key data transformations)
78
+ - Example: `Agent(subagent_type="Explore", prompt="Find the deploy() entry point in src/pactkit/generators/deployer.py. Trace the call chain to file writes. Read at most 8 files. Return: entry function, call chain list, key data transformations.")`
72
79
 
73
80
  ## 🎬 Phase 2: Design & Impact
74
81
  1. **Diff**: Compare User Request vs Current Reality (from Phase 1).
@@ -79,9 +86,9 @@ allowed-tools: [Read, Write, Edit, Bash, Glob, Grep]
79
86
  1. Run `pactkit next-id` to get the next Story ID (reads developer prefix from pactkit.yaml, scans `docs/specs/`).
80
87
  2. **Output checkpoint**: Print "Story ID determined: {ID}. Writing Spec now."
81
88
 
82
- ## 🎬 Phase 3.2: Write Spec
83
- 1. **Spec**: Create `docs/specs/{ID}.md` detailing the *Change*.
84
- - **MUST — Metadata Table**: Include a metadata table at the top of the Spec using this EXACT format:
89
+ ## 🎬 Phase 3.2a: Spec Skeleton (Metadata + Requirements)
90
+ 1. **Create file**: Create `docs/specs/{ID}.md` with the following sections:
91
+ - **MUST — Metadata Table**: Include a metadata table at the top using this EXACT format:
85
92
  ```markdown
86
93
  | Field | Value |
87
94
  |-------|-------|
@@ -91,41 +98,41 @@ allowed-tools: [Read, Write, Edit, Bash, Glob, Grep]
91
98
  | Release | {version} |
92
99
  ```
93
100
  Field names MUST be exact case (ID, Status, Priority, Release) — not bold, not different names.
94
- - *Requirement*: Include a "Target Call Chain" section in the Spec based on your Trace findings.
101
+ - **MUST**: Fill in the `Release` metadata field by reading the `version` field from `{PACTKIT_YAML}` or `pyproject.toml`. Use that EXACT value — do NOT increment or predict a future version. If the file cannot be read, use `TBD`.
102
+ - **MUST**: Include `## Background` and `## Target Call Chain` sections based on your Trace findings.
95
103
  - **MUST**: Fill in the `## Requirements` section using RFC 2119 keywords (MUST/SHOULD/MAY).
96
- - **MUST**: Fill in the `## Acceptance Criteria` section with Given/When/Then scenarios.
104
+ 2. **Output checkpoint**: Print "Spec skeleton written. Adding acceptance criteria."
105
+
106
+ ## 🎬 Phase 3.2b: Acceptance Criteria & Implementation Steps
107
+ 1. **MUST**: Add `## Acceptance Criteria` section with Given/When/Then scenarios.
97
108
  - Each Scenario SHOULD map to a verifiable test case in `docs/test_cases/`.
98
- - **MUST**: Fill in the `Release` metadata field by reading the `version` field from `{PACTKIT_YAML}` or `pyproject.toml`. Use that EXACT value — do NOT increment or predict a future version. If the file cannot be read, use `TBD`.
99
- - **OPTIONAL — Implementation Steps**: If Phase 1 Trace identifies 2+ files to modify, add `## Implementation Steps` section with table format:
100
- ```
101
- | Step | File | Action | Dependencies | Risk |
102
- |------|------|--------|--------------|------|
103
- | 1 | `src/foo.py` | Description | None | Low |
104
- ```
105
- The `Dependencies` column accepts `None`, `Step N`, or comma-separated step references. The `Risk` column accepts `Low`, `Medium`, `High`. This section is optional but RECOMMENDED for multi-file changes.
106
- - **MUST — Security Scope**: Run `pactkit sec-scope <changed-files>` to auto-detect SEC-1~SEC-8 applicability. Paste the output Markdown table into the `## Security Scope` section of the Spec. If `pactkit sec-scope` is unavailable, apply these detection rules manually:
107
- | Check | Applicable When |
108
- |-------|-----------------|
109
- | SEC-1 | Any source code file modified (`.py`, `.js`, `.ts`, `.go`, `.java`, etc.) |
110
- | SEC-2 | Code contains `request.`, `form.`, `input`, `argv`, `sys.stdin`, `process.argv` |
111
- | SEC-3 | Files in `models/`, `dao/`, `repository/`; or code contains SQL/ORM patterns |
112
- | SEC-4 | Frontend files (`.tsx`, `.vue`, `.svelte`, `.html`); or code contains `innerHTML`, `dangerouslySetInnerHTML` |
113
- | SEC-5 | Files in `auth/`, `session/`, `login/`; or code contains `token`, `jwt`, `cookie`, `session` |
114
- | SEC-6 | Files in `api/`, `routes/`, `endpoints/`, `controllers/` |
115
- | SEC-7 | Files in `api/`, `routes/`; or code contains exception handling patterns |
116
- | SEC-8 | Dependency files modified (`package.json`, `requirements.txt`, `pyproject.toml`, `go.mod`, `Cargo.toml`) |
117
-
118
- **Docs/tests-only shortcut**: If ONLY `docs/**`, `tests/**`, `*.md`, `README*` files changed, mark ALL checks N/A with Reason "docs/tests only".
119
-
120
- Output format (the table must include a Reason column):
121
- ```markdown
122
- ## Security Scope
123
- | Check | Applicable | Reason |
124
- |-------|------------|--------|
125
- | SEC-1 | Yes | Source code modified |
126
- | SEC-2 | N/A | No user input handling |
127
- ```
128
- - **Spec Lint Self-Check**: After writing the Spec, run `pactkit spec-lint docs/specs/{ID}.md`. If ERROR rules fail, self-correct the Spec immediately (you wrote it — you have authority to fix it). Re-run until clean. This prevents the Spec from being rejected at Act Phase 0.5.
109
+ 2. **OPTIONAL Implementation Steps**: If Phase 1 Trace identifies 2+ files to modify, add `## Implementation Steps` section with table format:
110
+ ```
111
+ | Step | File | Action | Dependencies | Risk |
112
+ |------|------|--------|--------------|------|
113
+ | 1 | `src/foo.py` | Description | None | Low |
114
+ ```
115
+ The `Dependencies` column accepts `None`, `Step N`, or comma-separated step references. The `Risk` column accepts `Low`, `Medium`, `High`.
116
+ 3. **Output checkpoint**: Print "Acceptance criteria written. Running security scope."
117
+
118
+ ## 🎬 Phase 3.2c: Security Scope
119
+ 1. **MUST**: Run `pactkit sec-scope <changed-files>` to auto-detect SEC-1~SEC-8 applicability. Append the output to `## Security Scope` in the Spec.
120
+ 2. **Fallback**: If `pactkit sec-scope` is unavailable, manually assess each SEC-1 through SEC-8 check based on changed file paths and code patterns. Apply docs/tests-only shortcut if applicable (mark ALL N/A with Reason "docs/tests only").
121
+ 3. **Output format** (the table must include a Reason column):
122
+ ```markdown
123
+ ## Security Scope
124
+ | Check | Applicable | Reason |
125
+ |-------|------------|--------|
126
+ | SEC-1 | Yes | Source code modified |
127
+ | SEC-2 | N/A | No user input handling |
128
+ ```
129
+ 4. **Output checkpoint**: Print "Security scope appended. Running lint."
130
+
131
+ ## 🎬 Phase 3.2d: Spec Lint Self-Check
132
+ 1. Run `pactkit spec-lint docs/specs/{ID}.md`.
133
+ 2. If ERROR rules fail, self-correct the Spec immediately (you wrote it — you have authority to fix it). Re-run until clean.
134
+ 3. This prevents the Spec from being rejected at Act Phase 0.5.
135
+ 4. **Output checkpoint**: Print "Spec lint passed."
129
136
 
130
137
  ## 🎬 Phase 3.3: Board, Memory & Handover
131
138
  1. **Board**: Add Story using `add_story`.
@@ -69,12 +69,12 @@ class TestCodeExplorerLimits:
69
69
  def test_max_turns_in_data(self):
70
70
  from pactkit.prompts import AGENTS_EXPERT
71
71
  cfg = AGENTS_EXPERT['code-explorer']
72
- assert cfg.get('maxTurns') == 50
72
+ assert cfg.get('maxTurns') == 15 # STORY-slim-020: reduced from 50
73
73
 
74
74
  def test_max_turns_in_deployed_file(self, tmp_path):
75
75
  content = _deploy_and_read_agent(tmp_path, 'code-explorer')
76
76
  fm = _parse_agent_frontmatter(content)
77
- assert fm.get('maxTurns') == '50'
77
+ assert fm.get('maxTurns') == '15' # STORY-slim-020: reduced from 50
78
78
 
79
79
  def test_memory_in_data(self):
80
80
  from pactkit.prompts import AGENTS_EXPERT
@@ -150,7 +150,7 @@ class TestFrontmatterUnchanged:
150
150
 
151
151
  def test_code_explorer_max_turns(self):
152
152
  p = _prompts()
153
- assert p.AGENTS_EXPERT['code-explorer']['maxTurns'] == 50
153
+ assert p.AGENTS_EXPERT['code-explorer']['maxTurns'] == 15 # STORY-slim-020
154
154
 
155
155
  def test_visual_architect_max_turns(self):
156
156
  p = _prompts()
@@ -2,7 +2,6 @@
2
2
  from pathlib import Path
3
3
  from unittest.mock import patch
4
4
 
5
-
6
5
  PROJECT_ROOT = Path(__file__).resolve().parents[2]
7
6
 
8
7
 
@@ -86,7 +86,7 @@ class TestPromptGuidance:
86
86
  def test_plan_prompt_mentions_focus_heuristic(self):
87
87
  """S4: Plan prompt should have a heuristic for large codebases."""
88
88
  prompt = COMMANDS_CONTENT["project-plan.md"]
89
- assert "50" in prompt or "large" in prompt.lower()
89
+ assert "--focus" in prompt # STORY-slim-020: replaced "50+ files" with targeted --focus
90
90
 
91
91
  def test_act_prompt_mentions_depth(self):
92
92
  """Act prompt should also mention --depth."""
@@ -13,7 +13,6 @@ from pactkit.schemas import (
13
13
  CONTEXT_SECTIONS,
14
14
  )
15
15
 
16
-
17
16
  # ---------------------------------------------------------------------------
18
17
  # Helpers
19
18
  # ---------------------------------------------------------------------------
@@ -5,11 +5,11 @@ Tests for pactkit.lazy_visualize module.
5
5
 
6
6
  from __future__ import annotations
7
7
 
8
- import unittest
9
- from pathlib import Path
10
- from unittest.mock import patch, MagicMock
11
8
  import subprocess
12
9
  import tempfile
10
+ import unittest
11
+ from pathlib import Path
12
+ from unittest.mock import MagicMock, patch
13
13
 
14
14
 
15
15
  class TestShouldVisualize(unittest.TestCase):
@@ -5,10 +5,9 @@ Tests for pactkit.validators module.
5
5
 
6
6
  from __future__ import annotations
7
7
 
8
+ import tempfile
8
9
  import unittest
9
10
  from pathlib import Path
10
- import tempfile
11
- import os
12
11
 
13
12
 
14
13
  class TestLintContext(unittest.TestCase):
@@ -4,11 +4,10 @@ Covers R1-R7: doctor diagnostics, backfill-release, issue-sync, CLI wiring, prom
4
4
  """
5
5
  from __future__ import annotations
6
6
 
7
- import re
7
+ import shutil
8
8
  from pathlib import Path
9
9
  from unittest.mock import patch
10
10
 
11
-
12
11
  # ---------------------------------------------------------------------------
13
12
  # R1: check_orphaned_specs
14
13
  # ---------------------------------------------------------------------------
@@ -141,6 +140,7 @@ class TestR3StaleGraphs:
141
140
  """Graph older than source by > threshold → stale."""
142
141
  import os
143
142
  import time
143
+
144
144
  from pactkit.doctor import check_stale_graphs
145
145
 
146
146
  # Create source dir with a recent file
@@ -343,7 +343,7 @@ class TestR5IssueSync:
343
343
  class TestR6CLIWiring:
344
344
  """CLI must expose doctor, backfill-release, issue-sync subcommands."""
345
345
 
346
- _PACTKIT = str(Path(__file__).parents[2] / ".venv" / "bin" / "pactkit")
346
+ _PACTKIT = shutil.which("pactkit") or str(Path(__file__).parents[2] / ".venv" / "bin" / "pactkit")
347
347
 
348
348
  def test_doctor_subcommand_exists(self):
349
349
  """pactkit doctor should be a recognized subcommand."""
@@ -382,6 +382,7 @@ class TestR7PromptDelegation:
382
382
 
383
383
  def _reload_prompts(self):
384
384
  import importlib
385
+
385
386
  import pactkit.prompts as p
386
387
  importlib.reload(p)
387
388
  return p
@@ -4,10 +4,10 @@ Covers R1-R4: test-map, lint runner, CLI wiring, prompt delegation.
4
4
  """
5
5
  from __future__ import annotations
6
6
 
7
+ import shutil
7
8
  from pathlib import Path
8
9
  from unittest.mock import patch
9
10
 
10
-
11
11
  # ---------------------------------------------------------------------------
12
12
  # R1: map_to_tests
13
13
  # ---------------------------------------------------------------------------
@@ -139,7 +139,7 @@ class TestR2LintRunner:
139
139
  class TestR3CLIWiring:
140
140
  """CLI must expose test-map and lint subcommands."""
141
141
 
142
- _PACTKIT = str(Path(__file__).parents[2] / ".venv" / "bin" / "pactkit")
142
+ _PACTKIT = shutil.which("pactkit") or str(Path(__file__).parents[2] / ".venv" / "bin" / "pactkit")
143
143
 
144
144
  def test_test_map_subcommand_exists(self):
145
145
  """pactkit test-map should be a recognized subcommand."""
@@ -169,6 +169,7 @@ class TestR4PromptDelegation:
169
169
 
170
170
  def _reload_prompts(self):
171
171
  import importlib
172
+
172
173
  import pactkit.prompts as p
173
174
  importlib.reload(p)
174
175
  return p
@@ -12,7 +12,6 @@ from __future__ import annotations
12
12
  import inspect
13
13
  import textwrap
14
14
  from datetime import date
15
- from pathlib import Path
16
15
  from unittest.mock import patch
17
16
 
18
17
 
@@ -0,0 +1,101 @@
1
+ """Tests for STORY-slim-019: Split Plan Phase 3.2 into sub-steps.
2
+
3
+ Verifies the project-plan prompt template has 4 sub-phases (3.2a-3.2d)
4
+ with explicit output checkpoints, while preserving all required content.
5
+ """
6
+
7
+ from pactkit.prompts import COMMANDS_CONTENT
8
+
9
+ PLAN = COMMANDS_CONTENT["project-plan.md"]
10
+
11
+
12
+ class TestSubPhaseStructure:
13
+ """R1: Phase 3.2 must be split into 4 sub-phases."""
14
+
15
+ def test_has_phase_3_2a(self):
16
+ assert "Phase 3.2a" in PLAN
17
+
18
+ def test_has_phase_3_2b(self):
19
+ assert "Phase 3.2b" in PLAN
20
+
21
+ def test_has_phase_3_2c(self):
22
+ assert "Phase 3.2c" in PLAN
23
+
24
+ def test_has_phase_3_2d(self):
25
+ assert "Phase 3.2d" in PLAN
26
+
27
+ def test_subphases_in_order(self):
28
+ a = PLAN.index("Phase 3.2a")
29
+ b = PLAN.index("Phase 3.2b")
30
+ c = PLAN.index("Phase 3.2c")
31
+ d = PLAN.index("Phase 3.2d")
32
+ assert a < b < c < d
33
+
34
+
35
+ class TestOutputCheckpoints:
36
+ """R1: Each sub-phase must have an output checkpoint."""
37
+
38
+ def test_3_2a_checkpoint(self):
39
+ assert "Spec skeleton written" in PLAN
40
+
41
+ def test_3_2b_checkpoint(self):
42
+ assert "Acceptance criteria written" in PLAN
43
+
44
+ def test_3_2c_checkpoint(self):
45
+ assert "Security scope appended" in PLAN
46
+
47
+ def test_3_2d_checkpoint(self):
48
+ assert "Spec lint passed" in PLAN
49
+
50
+
51
+ class TestPreservedContent:
52
+ """R1+R3: All original required content must still be present."""
53
+
54
+ def test_metadata_table_instructions(self):
55
+ assert "Metadata Table" in PLAN
56
+
57
+ def test_requirements_section_rfc2119(self):
58
+ assert "RFC 2119" in PLAN
59
+
60
+ def test_acceptance_criteria_given_when_then(self):
61
+ assert "Given/When/Then" in PLAN
62
+
63
+ def test_release_field_from_yaml(self):
64
+ assert "Release" in PLAN and "pyproject.toml" in PLAN
65
+
66
+ def test_implementation_steps_optional(self):
67
+ assert "Implementation Steps" in PLAN
68
+
69
+ def test_security_scope_sec_scope_cli(self):
70
+ assert "pactkit sec-scope" in PLAN
71
+
72
+ def test_spec_lint_self_check(self):
73
+ assert "pactkit spec-lint" in PLAN
74
+
75
+ def test_target_call_chain(self):
76
+ assert "Target Call Chain" in PLAN
77
+
78
+
79
+ class TestNoSideEffects:
80
+ """R3: Other phases must not be altered."""
81
+
82
+ def test_phase_0_intact(self):
83
+ assert "Phase 0: The Thinking Process" in PLAN
84
+
85
+ def test_phase_0_5_intact(self):
86
+ assert "Phase 0.5: Init Guard" in PLAN
87
+
88
+ def test_phase_0_7_intact(self):
89
+ assert "Phase 0.7: Clarify Gate" in PLAN
90
+
91
+ def test_phase_1_intact(self):
92
+ assert "Phase 1: Archaeology" in PLAN
93
+
94
+ def test_phase_2_intact(self):
95
+ assert "Phase 2: Design" in PLAN
96
+
97
+ def test_phase_3_1_intact(self):
98
+ assert "Phase 3.1: Story ID Generation" in PLAN
99
+
100
+ def test_phase_3_3_intact(self):
101
+ assert "Phase 3.3: Board, Memory" in PLAN
@@ -0,0 +1,91 @@
1
+ """Tests for STORY-slim-020: Fix Explore subagent stall during Plan Phase 1.
2
+
3
+ Verifies:
4
+ - Phase 1 has scope-limiting instructions and delegation template
5
+ - code-explorer maxTurns reduced to 15
6
+ - Other phases unchanged
7
+ """
8
+
9
+ from pactkit.prompts import COMMANDS_CONTENT, AGENTS_EXPERT
10
+
11
+ PLAN = COMMANDS_CONTENT["project-plan.md"]
12
+ EXPLORER = AGENTS_EXPERT["code-explorer"]
13
+
14
+
15
+ class TestR1ScopeLimiting:
16
+ """R1: Phase 1 must have scope-limiting instructions."""
17
+
18
+ def test_file_count_limit_mentioned(self):
19
+ """Phase 1 must recommend a file-count limit for subagent delegation."""
20
+ # Must mention limiting files to read
21
+ assert "file" in PLAN.lower() and ("limit" in PLAN[PLAN.index("Phase 1"):PLAN.index("Phase 2")].lower()
22
+ or "at most" in PLAN[PLAN.index("Phase 1"):PLAN.index("Phase 2")].lower())
23
+
24
+ def test_scope_guidance_in_phase1(self):
25
+ """Phase 1 must instruct providing specific directory/function scope."""
26
+ phase1 = PLAN[PLAN.index("Phase 1"):PLAN.index("Phase 2")]
27
+ has_scope = ("directory" in phase1.lower() or "scope" in phase1.lower()
28
+ or "target" in phase1.lower())
29
+ assert has_scope, "Phase 1 must mention directory/scope/target for subagent"
30
+
31
+
32
+ class TestR2MaxTurns:
33
+ """R2: code-explorer maxTurns must be reduced."""
34
+
35
+ def test_max_turns_is_15(self):
36
+ assert EXPLORER["maxTurns"] == 15
37
+
38
+ def test_max_turns_not_50(self):
39
+ assert EXPLORER["maxTurns"] != 50
40
+
41
+
42
+ class TestR3DelegationTemplate:
43
+ """R3: Phase 1 must include a delegation template."""
44
+
45
+ def test_delegation_template_present(self):
46
+ phase1 = PLAN[PLAN.index("Phase 1"):PLAN.index("Phase 2")]
47
+ assert "Explore" in phase1, "Phase 1 must mention Explore subagent"
48
+
49
+ def test_template_has_example_prompt(self):
50
+ phase1 = PLAN[PLAN.index("Phase 1"):PLAN.index("Phase 2")]
51
+ # Must show an example of how to formulate the prompt
52
+ has_example = ("example" in phase1.lower() or "prompt=" in phase1.lower()
53
+ or "at most" in phase1.lower())
54
+ assert has_example, "Phase 1 must include an example delegation prompt"
55
+
56
+ def test_template_specifies_output_format(self):
57
+ phase1 = PLAN[PLAN.index("Phase 1"):PLAN.index("Phase 2")]
58
+ has_output = ("return" in phase1.lower() or "output" in phase1.lower()
59
+ or "report" in phase1.lower())
60
+ assert has_output, "Phase 1 must specify expected output from subagent"
61
+
62
+
63
+ class TestR4NoSideEffects:
64
+ """R4: Other phases must not be altered."""
65
+
66
+ def test_phase_0_intact(self):
67
+ assert "Phase 0: The Thinking Process" in PLAN
68
+
69
+ def test_phase_0_5_intact(self):
70
+ assert "Phase 0.5: Init Guard" in PLAN
71
+
72
+ def test_phase_0_7_intact(self):
73
+ assert "Phase 0.7: Clarify Gate" in PLAN
74
+
75
+ def test_phase_2_intact(self):
76
+ assert "Phase 2: Design" in PLAN
77
+
78
+ def test_phase_3_1_intact(self):
79
+ assert "Phase 3.1: Story ID Generation" in PLAN
80
+
81
+ def test_phase_3_2a_intact(self):
82
+ assert "Phase 3.2a" in PLAN
83
+
84
+ def test_phase_3_3_intact(self):
85
+ assert "Phase 3.3: Board, Memory" in PLAN
86
+
87
+ def test_explorer_boundaries_intact(self):
88
+ """code-explorer core protocol must not be changed."""
89
+ assert "Read-only operations" in EXPLORER["prompt"]
90
+ assert "Do not write code" in EXPLORER["prompt"]
91
+ assert "Do not modify Specs" in EXPLORER["prompt"]
File without changes
File without changes
File without changes
File without changes