pactkit 2.1.1__tar.gz → 2.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pactkit-2.1.1 → pactkit-2.3.0}/.gitignore +12 -0
- pactkit-2.3.0/.opencode/memory/project.md +7 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/pactkit.yaml +5 -1
- {pactkit-2.1.1 → pactkit-2.3.0}/AGENTS.md +7 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/CHANGELOG.md +38 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/PKG-INFO +86 -20
- {pactkit-2.1.1 → pactkit-2.3.0}/README.md +85 -19
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-017.md +1 -1
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-029.md +1 -1
- pactkit-2.3.0/docs/specs/BUG-slim-002.md +115 -0
- pactkit-2.3.0/docs/specs/BUG-slim-003.md +125 -0
- pactkit-2.3.0/docs/specs/BUG-slim-004.md +103 -0
- pactkit-2.3.0/docs/specs/BUG-slim-005.md +100 -0
- pactkit-2.3.0/docs/specs/BUG-slim-006.md +110 -0
- pactkit-2.3.0/opencode.json +3 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/pyproject.toml +1 -1
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/__init__.py +1 -1
- pactkit-2.3.0/src/pactkit/backfill.py +72 -0
- pactkit-2.3.0/src/pactkit/cleaners.py +84 -0
- pactkit-2.3.0/src/pactkit/cli.py +590 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/config.py +19 -1
- pactkit-2.3.0/src/pactkit/context_gen.py +235 -0
- pactkit-2.3.0/src/pactkit/coverage_gate.py +115 -0
- pactkit-2.3.0/src/pactkit/doctor.py +183 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/generators/deployer.py +271 -100
- pactkit-2.3.0/src/pactkit/guards.py +67 -0
- pactkit-2.3.0/src/pactkit/id_generator.py +37 -0
- pactkit-2.3.0/src/pactkit/invariants.py +36 -0
- pactkit-2.3.0/src/pactkit/issue_sync.py +154 -0
- pactkit-2.3.0/src/pactkit/lazy_visualize.py +106 -0
- pactkit-2.3.0/src/pactkit/lessons.py +80 -0
- pactkit-2.3.0/src/pactkit/lint_runner.py +91 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/__init__.py +2 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/commands.py +119 -149
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/rules.py +37 -11
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/skills.py +76 -51
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/workflows.py +83 -29
- pactkit-2.3.0/src/pactkit/regression.py +74 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/schemas.py +16 -0
- pactkit-2.3.0/src/pactkit/sec_scope.py +225 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/scaffold.py +1 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/spec_linter.py +9 -0
- pactkit-2.3.0/src/pactkit/spec_status.py +50 -0
- pactkit-2.3.0/src/pactkit/test_mapper.py +60 -0
- pactkit-2.3.0/src/pactkit/validators.py +132 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/e2e/cli/test_cli_e2e.py +11 -11
- pactkit-2.3.0/tests/unit/test_bug014_version_hygiene.py +164 -0
- pactkit-2.3.0/tests/unit/test_bug_slim002_instruction_collision.py +169 -0
- pactkit-2.3.0/tests/unit/test_bug_slim003.py +238 -0
- pactkit-2.3.0/tests/unit/test_bug_slim004.py +152 -0
- pactkit-2.3.0/tests/unit/test_bug_slim005.py +111 -0
- pactkit-2.3.0/tests/unit/test_bug_slim006.py +215 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_command_frontmatter.py +6 -2
- pactkit-2.3.0/tests/unit/test_cross_flow_matrix.py +104 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_deployer_plugin.py +6 -4
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_lang_profiles.py +9 -21
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_modular_constitution.py +3 -2
- pactkit-2.3.0/tests/unit/test_prompt_cli_refs.py +82 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_selective_deploy.py +6 -8
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_smart_regression.py +2 -1
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_sprint_command.py +2 -1
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story050_doc_only_shortcut.py +2 -2
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story057_implicit_cleanup.py +4 -3
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story070_opencode_compliance.py +17 -7
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story071_opencode_config_parity.py +8 -7
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story_slim009_lazy_rules.py +8 -8
- pactkit-2.3.0/tests/unit/test_story_slim010_dry_refactor.py +178 -0
- pactkit-2.3.0/tests/unit/test_story_slim011_command_rules.py +319 -0
- pactkit-2.3.0/tests/unit/test_story_slim012_ci.py +490 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_clean.py +89 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_context.py +228 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_guard.py +69 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_lazy_viz.py +228 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_next_id.py +82 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_regression.py +120 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_sec_scope.py +288 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_validators.py +266 -0
- pactkit-2.3.0/tests/unit/test_story_slim015_doctor.py +403 -0
- pactkit-2.3.0/tests/unit/test_story_slim016_testmap_lint.py +197 -0
- pactkit-2.3.0/tests/unit/test_story_slim017.py +234 -0
- pactkit-2.3.0/tests/unit/test_story_slim018.py +136 -0
- pactkit-2.1.1/.opencode/memory/project.md +0 -41
- pactkit-2.1.1/docs/architecture/governance/lessons.md +0 -101
- pactkit-2.1.1/docs/architecture/governance/rules.md +0 -25
- pactkit-2.1.1/docs/product/archive/archive_202602.md +0 -704
- pactkit-2.1.1/docs/product/archive/archive_202603.md +0 -202
- pactkit-2.1.1/docs/product/context.md +0 -26
- pactkit-2.1.1/docs/product/sprint_board.md +0 -18
- pactkit-2.1.1/docs/specs/STORY-001.md +0 -147
- pactkit-2.1.1/docs/specs/STORY-002.md +0 -132
- pactkit-2.1.1/docs/specs/STORY-003.md +0 -98
- pactkit-2.1.1/docs/specs/STORY-004.md +0 -87
- pactkit-2.1.1/docs/specs/STORY-005.md +0 -189
- pactkit-2.1.1/docs/specs/STORY-006.md +0 -137
- pactkit-2.1.1/docs/specs/STORY-007.md +0 -85
- pactkit-2.1.1/docs/specs/STORY-008.md +0 -94
- pactkit-2.1.1/docs/specs/STORY-009.md +0 -84
- pactkit-2.1.1/docs/specs/STORY-010.md +0 -82
- pactkit-2.1.1/docs/specs/STORY-011.md +0 -146
- pactkit-2.1.1/docs/specs/STORY-012.md +0 -84
- pactkit-2.1.1/docs/specs/STORY-013.md +0 -112
- pactkit-2.1.1/docs/specs/STORY-014.md +0 -51
- pactkit-2.1.1/docs/specs/STORY-015.md +0 -63
- pactkit-2.1.1/docs/specs/STORY-016.md +0 -55
- pactkit-2.1.1/docs/specs/STORY-017.md +0 -62
- pactkit-2.1.1/docs/specs/STORY-018.md +0 -74
- pactkit-2.1.1/docs/specs/STORY-019.md +0 -64
- pactkit-2.1.1/docs/specs/STORY-020.md +0 -69
- pactkit-2.1.1/docs/specs/STORY-021.md +0 -72
- pactkit-2.1.1/docs/specs/STORY-022.md +0 -64
- pactkit-2.1.1/docs/specs/STORY-023.md +0 -68
- pactkit-2.1.1/docs/specs/STORY-024.md +0 -127
- pactkit-2.1.1/docs/specs/STORY-025.md +0 -104
- pactkit-2.1.1/docs/specs/STORY-026.md +0 -122
- pactkit-2.1.1/docs/specs/STORY-027.md +0 -131
- pactkit-2.1.1/docs/specs/STORY-028.md +0 -132
- pactkit-2.1.1/docs/specs/STORY-029.md +0 -134
- pactkit-2.1.1/docs/specs/STORY-030.md +0 -149
- pactkit-2.1.1/docs/specs/STORY-031.md +0 -43
- pactkit-2.1.1/docs/specs/STORY-032.md +0 -51
- pactkit-2.1.1/docs/specs/STORY-033.md +0 -65
- pactkit-2.1.1/docs/specs/STORY-034.md +0 -60
- pactkit-2.1.1/docs/specs/STORY-035.md +0 -55
- pactkit-2.1.1/docs/specs/STORY-036.md +0 -69
- pactkit-2.1.1/docs/specs/STORY-037.md +0 -69
- pactkit-2.1.1/docs/specs/STORY-038.md +0 -69
- pactkit-2.1.1/docs/specs/STORY-039.md +0 -132
- pactkit-2.1.1/docs/specs/STORY-040.md +0 -142
- pactkit-2.1.1/docs/specs/STORY-041.md +0 -181
- pactkit-2.1.1/docs/specs/STORY-042.md +0 -156
- pactkit-2.1.1/docs/specs/STORY-043.md +0 -147
- pactkit-2.1.1/docs/specs/STORY-044.md +0 -151
- pactkit-2.1.1/docs/specs/STORY-045.md +0 -149
- pactkit-2.1.1/docs/specs/STORY-046.md +0 -88
- pactkit-2.1.1/docs/specs/STORY-047.md +0 -81
- pactkit-2.1.1/docs/specs/STORY-048.md +0 -113
- pactkit-2.1.1/docs/specs/STORY-049.md +0 -111
- pactkit-2.1.1/docs/specs/STORY-050.md +0 -110
- pactkit-2.1.1/docs/specs/STORY-051.md +0 -122
- pactkit-2.1.1/docs/specs/STORY-052.md +0 -90
- pactkit-2.1.1/docs/specs/STORY-053.md +0 -142
- pactkit-2.1.1/docs/specs/STORY-054.md +0 -146
- pactkit-2.1.1/docs/specs/STORY-055.md +0 -203
- pactkit-2.1.1/docs/specs/STORY-056.md +0 -134
- pactkit-2.1.1/docs/specs/STORY-057.md +0 -119
- pactkit-2.1.1/docs/specs/STORY-058.md +0 -131
- pactkit-2.1.1/docs/specs/STORY-059.md +0 -136
- pactkit-2.1.1/docs/specs/STORY-060.md +0 -91
- pactkit-2.1.1/docs/specs/STORY-061.md +0 -78
- pactkit-2.1.1/docs/specs/STORY-062.md +0 -105
- pactkit-2.1.1/docs/specs/STORY-063.md +0 -226
- pactkit-2.1.1/docs/specs/STORY-064.md +0 -130
- pactkit-2.1.1/docs/specs/STORY-065.md +0 -164
- pactkit-2.1.1/docs/specs/STORY-069.md +0 -265
- pactkit-2.1.1/docs/specs/STORY-070.md +0 -201
- pactkit-2.1.1/docs/specs/STORY-071.md +0 -257
- pactkit-2.1.1/docs/specs/STORY-072.md +0 -241
- pactkit-2.1.1/docs/specs/STORY-073.md +0 -169
- pactkit-2.1.1/docs/specs/STORY-slim-001.md +0 -273
- pactkit-2.1.1/docs/specs/STORY-slim-005.md +0 -483
- pactkit-2.1.1/docs/specs/STORY-slim-006.md +0 -321
- pactkit-2.1.1/docs/specs/STORY-slim-007.md +0 -301
- pactkit-2.1.1/docs/specs/STORY-slim-008.md +0 -202
- pactkit-2.1.1/docs/specs/STORY-slim-009.md +0 -224
- pactkit-2.1.1/opencode.json +0 -12
- pactkit-2.1.1/src/pactkit/cli.py +0 -237
- pactkit-2.1.1/tests/unit/test_bug014_version_hygiene.py +0 -283
- {pactkit-2.1.1 → pactkit-2.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.github/dependabot.yml +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.github/workflows/ci.yml +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.github/workflows/pactkit.yml +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/.gitignore +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/bun.lock +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/memory/.gitignore +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/@opencode-ai/plugin/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/@opencode-ai/sdk/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/LICENSE +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/README.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/locales/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/mini/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/ZodError.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/object.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/string.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/union.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/errors.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/external.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/util.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/locales/en.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/standard-schema.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/Mocker.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/array.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/base.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/bigint.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/branded.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/catch.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/coerce.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/complex.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/custom.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/date.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/default.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/description.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/enum.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/error.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/function.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/generics.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/intersection.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/language-server.source.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/language-server.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/literal.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/map.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/masking.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/mocker.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nan.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nullable.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/number.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/optional.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/parser.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/partials.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/primitive.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/promise.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/readonly.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/record.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/recursive.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/refine.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/set.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/string.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/transformer.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/tuple.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/unions.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/validations.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/void.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/types.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/checks.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/coerce.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/compat.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/errors.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/external.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/iso.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/parse.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/schemas.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/api.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/checks.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/config.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/core.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/doc.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/errors.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/json-schema.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/parse.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/regexes.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/registries.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/schemas.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/standard-schema.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/index.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/to-json-schema.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/util.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/versions.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/zsf.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ar.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/az.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/be.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/bg.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ca.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/cs.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/da.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/de.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/en.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/eo.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/es.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fa.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fi.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fr-CA.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fr.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/he.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/hu.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/id.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/is.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/it.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ja.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ka.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/kh.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/km.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ko.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/lt.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/mk.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ms.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/nl.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/no.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ota.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/pl.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ps.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/pt.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ru.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/sl.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/sv.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ta.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/th.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/tr.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ua.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/uk.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ur.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/vi.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/yo.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/zh-CN.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/zh-TW.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/checks.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/coerce.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/external.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/iso.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/parse.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/schemas.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4-mini/index.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.cjs +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.d.cts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.d.ts +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.js +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/.opencode/package.json +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/CODE_OF_CONDUCT.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/CONTRIBUTING.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/LICENSE +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/SECURITY.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/assets/logo.png +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/guides/codex-integration-preresearch.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/guides/tool-integration-checklist.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-001.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-002.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-003.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-004.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-005.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-006.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-007.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-008.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-009.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-010.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-011.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-012.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-013.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-014.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-015.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-016.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-018.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-019.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-020.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-021.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-022.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-023.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-024.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-025.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-026.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-027.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-028.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-030.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-031.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-032.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-033.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-034.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-035.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/specs/BUG-slim-001.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/test_cases/BUG-001_case.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/docs/test_cases/BUG-002_case.md +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/generators/__init__.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/generators/adapter.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/profiles.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/agents.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/prompts/references.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/scripts.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/__init__.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/board.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/skills/visualize.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/src/pactkit/utils.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/conftest.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/e2e/__init__.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/e2e/cli/__init__.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/integration/__init__.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/integration/test_deploy_classic.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_agent_features.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_agent_frontmatter.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_agents_enrichment.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_board_bug027.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_board_sections.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug001_skill_path.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug002_plugin_paths.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug003_multi_import.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug004_dead_set.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug005_archive_taskless.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug006_scan_excludes.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug007_stale_trace_refs.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug008_stale_command_refs.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug009_project_config_backfill.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug010_rewrite_yaml.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug011_stale_refs.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug012_call_graph_filter.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug013_config_single_source.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug017_project_init_playbook.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug018_issue_tracker_verification.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug019_venv_deployment.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug020_claude_md_backup.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug025_release_delegation.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug026_version_sync.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug028_ghost_refs.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug029_stack_detection_fallback.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug030_spec_lint_cli.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug031_docstring_accuracy.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug034_plan_metadata_template.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug035_opencode_dual_layer.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_021.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_022.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_023.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_024.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_bug_slim001_env_detection.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_check_command.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_command_visualize_modes.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_config.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_config_auto_merge.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_constitution_sharpening.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_create_skill.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_deploy_opencode_parity.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_deployer_cleanup.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_design_command.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_done_gates.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_draw_prompt.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_draw_references.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_drawio_mcp.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_home_path_fix.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_hotfix_command.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_init_guard.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_list_stories.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_mcp_integration.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_model_config.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_multi_prefix.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_pdca_slim.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_profiles.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_project_visibility.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_prompt_structural_invariants.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_prompts_package.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_release.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_release_field.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_release_v110.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_render_prompt.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_review_command.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_rules_enrichment.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_scaffold.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_scaffold_developer_prefix.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_schemas.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_script_extraction.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_session_context.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_skill_structure.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_skills_enrichment.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_stack_references.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_status_command.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_statusline.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story014_release.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story015_ci_lint_gate.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story016_claude_md.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story017_init_claude_md.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story018_arch_staleness.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story019_bailout.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story020_horizon.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story021_rfc.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story022_decision_tree.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story023_test_quality.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story024_native_agent.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story025_ci_pipeline.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story026_issue_tracker.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story027_hooks.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story028_rule_scoping.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story029_doctor.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story030_lint.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story031_git_init_guard.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story032_greenfield_redirect.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story033_config_backfill.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story034_plan_config_refresh.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story035_readme_docs.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story037_regression_fix.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story038_call_graph_update.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story039_venv_config.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story040_layered_claude_md.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story042_spec_linter.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story043_active_clarify.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story044_consistency_check.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story045_auto_pr.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story046_agent_adapter.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story047_enterprise_flags.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story048_worktree_isolation.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story049_community_standards.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story051_workflow_streamlining.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story052_conditional_github_release.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story053_impact_regression.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story055_commands.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story055_config.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story055_spec_linter.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story056_commands.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story056_config.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story058_routing_fix.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story060_init_hang.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story061_remove_thinking.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story062_mcp_recommendations.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story063_prompt_slimming.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story064_venv_local_md.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story065_sprint_model.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story069_opencode_format.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story072_developer_prefix.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_story073_command_model_routing.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_tools.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_update_task.py +0 -0
- {pactkit-2.1.1 → pactkit-2.3.0}/tests/unit/test_visualize_modes.py +0 -0
|
@@ -30,6 +30,18 @@ Thumbs.db
|
|
|
30
30
|
docs/architecture/graphs/
|
|
31
31
|
docs/architecture/snapshots/
|
|
32
32
|
|
|
33
|
+
# PactKit - IP protection (keep locally, not tracked in git)
|
|
34
|
+
# Only BUG-*.md specs are tracked; STORY/HOTFIX contain sensitive design details
|
|
35
|
+
docs/specs/STORY-*.md
|
|
36
|
+
docs/specs/HOTFIX-*.md
|
|
37
|
+
docs/test_cases/STORY-*_case.md
|
|
38
|
+
docs/test_cases/HOTFIX-*_case.md
|
|
39
|
+
docs/product/sprint_board.md
|
|
40
|
+
docs/product/context.md
|
|
41
|
+
docs/product/archive/
|
|
42
|
+
docs/product/prd.md
|
|
43
|
+
docs/architecture/governance/
|
|
44
|
+
|
|
33
45
|
# Claude Code local config
|
|
34
46
|
.claude/
|
|
35
47
|
|
|
@@ -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.
|
|
5
|
+
version: "2.2.0"
|
|
6
6
|
stack: python
|
|
7
7
|
root: .
|
|
8
8
|
developer: "slim"
|
|
@@ -60,6 +60,10 @@ rules:
|
|
|
60
60
|
# CI/CD — set provider to github or gitlab to generate pipeline config
|
|
61
61
|
ci:
|
|
62
62
|
provider: github
|
|
63
|
+
# runner: ubuntu-latest
|
|
64
|
+
# language_version: "3.11"
|
|
65
|
+
# github_host: "" # GHE server (empty = github.com)
|
|
66
|
+
# actions_ref: "" # GHE actions prefix
|
|
63
67
|
|
|
64
68
|
# Issue Tracker — set provider to github to link stories to issues
|
|
65
69
|
issue_tracker:
|
|
@@ -65,3 +65,10 @@ src/pactkit/
|
|
|
65
65
|
|
|
66
66
|
@./docs/product/context.md
|
|
67
67
|
output MUST use Chinese
|
|
68
|
+
|
|
69
|
+
## PDCA Execution Lessons
|
|
70
|
+
|
|
71
|
+
- **/project-done 不要重复跑回归测试**:如果 `/project-act` 阶段刚跑过全量测试且全绿,Done 阶段直接引用该结果,不要再跑一次。只有在 Done 阶段有额外文件修改(非 doc-only)时才重新跑。
|
|
72
|
+
- **大文件一次读完**:`lessons.md` 等治理文件直接一次性读取,不要分多次小范围读取再拼凑。
|
|
73
|
+
- **并行写多个独立文件**:rules.md、lessons.md、context.md、sprint_board.md 的更新互不依赖,应并行执行,不要串行。
|
|
74
|
+
- **流程指令是指导,不是死板清单**:当上下文已经包含某个步骤的结果时(如测试结果、lint 结果),直接复用,不要机械重复执行。
|
|
@@ -4,6 +4,44 @@ All notable changes to PactKit will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
6
6
|
|
|
7
|
+
## [2.3.0] - 2026-03-22
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **Deterministic CLI Subcommands** (STORY-slim-014) — Migrated 7 Done-phase operations from prompt-delegated to Python CLI: `clean`, `regression`, `context`, `sec-scope`, `guard`, `next-id`, `visualize --lazy`.
|
|
11
|
+
- **Doctor, Backfill-Release, Issue-Sync CLI** (STORY-slim-015) — `pactkit doctor` diagnoses project health (HLD drift, board structure, config completeness). `pactkit backfill-release` replaces `Release: TBD` in completed specs. `pactkit issue-sync` handles GitHub issue lifecycle for BUG/HOTFIX items.
|
|
12
|
+
- **Test-Map and Lint CLI** (STORY-slim-016) — `pactkit test-map` maps changed source files to test files via `LANG_PROFILES.test_map_pattern`. `pactkit lint` runs stack-aware lint with auto-fix and blocking modes from `pactkit.yaml`.
|
|
13
|
+
- **Lesson-Append, Invariants-Refresh, Coverage-Gate CLI** (STORY-slim-017) — `pactkit lesson-append` checks specificity (file/function reference) and dedup (Jaccard < 0.5) before appending. `pactkit invariants-refresh` updates test count invariant. `pactkit coverage-gate` enforces 3-tier coverage thresholds (80/50/block).
|
|
14
|
+
- **Systemic Cross-Flow Guards** (STORY-slim-018) — 4 guard test suites: R1 prompt-CLI cross-reference validation, R2 canonical `LANG_PROFILE_REQUIRED_KEYS` SSoT in `schemas.py`, R3 Spec Status lifecycle (`spec-status` CLI + W006 lint rule), R4 declarative cross-flow coverage matrix (12 subcommands × prompt keys).
|
|
15
|
+
- **Spec Status CLI** — `pactkit spec-status <spec> <status>` programmatically updates `| Status |` field in spec files. W006 lint rule flags invalid status values.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- **Cross-Flow Integrity** (BUG-slim-003 through BUG-slim-006) — 4 rounds of systematic audits fixed 25+ gaps: dead CLI subcommands with zero prompt references, argparser flags without `deploy()` parity, `visualize --lazy` not calling actual function, double `python3` prefix in HOTFIX_PROMPT, unused LANG_PROFILES keys removed.
|
|
19
|
+
- **SSoT Violations** — `backfill.py` imports `BOARD_SECTION_DONE` from schemas (was hardcoded regex). `lessons.py` uses `LESSONS_ROW_FORMAT` from schemas. 5 test files import `LANG_PROFILE_REQUIRED_KEYS` instead of hardcoding key sets.
|
|
20
|
+
- **Prompt Cognitive Overload** (STORY-slim-013) — Reduced redundancy across PDCA command prompts.
|
|
21
|
+
- **Rules-Commands Collision** (BUG-slim-002) — Resolved instruction conflicts between rules and command playbooks.
|
|
22
|
+
- **Draw Skill Stuck** — Added concrete templates to `pactkit-draw` to prevent empty-output behavior.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- `SPEC_VALID_STATUSES` and `LANG_PROFILE_REQUIRED_KEYS` canonicalized in `schemas.py` as single source of truth.
|
|
26
|
+
- Sprint board required sections enforced: `## 📋 Backlog`, `## 🔄 In Progress`, `## ✅ Done`.
|
|
27
|
+
- BUG-017/BUG-029 spec Status fields corrected to valid values per `SPEC_VALID_STATUSES`.
|
|
28
|
+
|
|
29
|
+
## [2.2.0] - 2026-03-20
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
- **Context-Aware Rule Loading** (STORY-slim-011) — `COMMAND_RULES_MAP` maps each of 11 commands to only the rules it needs, reducing per-command token usage by 20-83%. Classic format uses `@import` injection; OpenCode format embeds rule content inline. Credential safety rule (`09`) is force-injected into every command regardless of configuration.
|
|
33
|
+
- **Stack-Aware CI Pipeline Generation** (STORY-slim-012) — `CI_PROFILES` in `workflows.py` supports Python, Node.js, Go, and Java stacks with correct setup actions, install commands, and test runners. New `pactkit.yaml` CI config fields: `runner`, `language_version`, `github_host`, `actions_ref`.
|
|
34
|
+
- **GitHub Enterprise (GHE) Support** — Explicit `ci.github_host` configuration for GHE Server environments, with `ci.actions_ref` prefix replacement for custom action mirrors. Auto-detection fallback via `_detect_ghe()`.
|
|
35
|
+
- **OpenCode CI Parity** — `_deploy_opencode()` now calls `_deploy_ci()`, ensuring CI pipeline files are generated regardless of deployment format.
|
|
36
|
+
- **CI Status Feedback** — `/project-done` Phase 4 now includes optional CI status check via `gh run list` after push (non-blocking).
|
|
37
|
+
- **GitLab CI Stack-Aware** — GitLab CI templates now use correct Docker images and commands per stack (e.g., `node:20` + `npm ci` for Node projects).
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
- `_deploy_ci()` refactored from hardcoded Python-only templates to parameterized builders (`_build_github_workflow()`, `_build_gitlab_ci()`).
|
|
41
|
+
- `generate_default_yaml()` now outputs commented CI configuration fields (`runner`, `language_version`, `github_host`, `actions_ref`) for user discoverability.
|
|
42
|
+
- CLAUDE.md no longer contains global rule `@import` directives — rules are now injected at command level.
|
|
43
|
+
- OpenCode `opencode.json` instructions reduced to only `09-credential-safety.md` — other rules injected per-command.
|
|
44
|
+
|
|
7
45
|
## [2.1.1] - 2026-03-18
|
|
8
46
|
|
|
9
47
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pactkit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: Spec-driven agentic DevOps toolkit for AI coding assistants
|
|
5
5
|
Project-URL: Homepage, https://pactkit.dev
|
|
6
6
|
Project-URL: Repository, https://github.com/pactkit/pactkit
|
|
@@ -35,9 +35,11 @@ Description-Content-Type: text/markdown
|
|
|
35
35
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT" /></a>
|
|
36
36
|
</p>
|
|
37
37
|
|
|
38
|
-
<p align="center"><strong>
|
|
38
|
+
<p align="center"><strong>CODE is the Law. Data is the Truth. Prompt is ONLY instruction. AI is ONLY creativity.</strong></p>
|
|
39
39
|
|
|
40
|
-
> PactKit
|
|
40
|
+
> **PactKit** (Pact 契约 + Kit) is a governance framework that enforces the **P.A.C.T.** contract between humans and AI agents. Deterministic operations run as code, not prompts. Decisions are grounded in data, not memory. AI does what it's best at — creativity and language — while code handles everything that must be repeatable and correct.
|
|
41
|
+
>
|
|
42
|
+
> 25 CLI subcommands, 9 specialized agents, 11 commands, 10 skills, and a full Plan-Act-Check-Done lifecycle. One `pip install` and your AI assistant follows the contract.
|
|
41
43
|
|
|
42
44
|
### Supported AI Tools
|
|
43
45
|
|
|
@@ -57,15 +59,31 @@ You: /project-sprint "Add OAuth2 login"
|
|
|
57
59
|
Done Repo Maintainer gates regression, archives story, commits
|
|
58
60
|
```
|
|
59
61
|
|
|
60
|
-
##
|
|
62
|
+
## The P.A.C.T. Governance Contract
|
|
63
|
+
|
|
64
|
+
The name says it all — **Pact** means covenant. These four principles define the boundary between human intent and AI execution:
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
```
|
|
67
|
+
P Prompt is ONLY instruction Tells AI how to act — defines process, never state
|
|
68
|
+
A AI is ONLY creativity Formatting, summarization, language — never deterministic logic
|
|
69
|
+
C Code is the Law Sole executor of deterministic operations — no bypass, no approximation
|
|
70
|
+
T Truth Data is the Truth Factual basis for all judgment — no memory, no inference, no fabrication
|
|
71
|
+
```
|
|
63
72
|
|
|
64
|
-
-
|
|
65
|
-
-
|
|
73
|
+
- If a script exists → **use it**. Never reimplement in natural language. (C)
|
|
74
|
+
- If data is available → **read it**. Never guess or recall from memory. (T)
|
|
75
|
+
- Prompts define HOW, never WHAT. Current state comes from data, not docs. (P)
|
|
76
|
+
- AI formats, summarizes, and creates. AI does not parse, compute, or fabricate. (A)
|
|
77
|
+
|
|
78
|
+
> Read the full philosophy: [docs/architecture/governance/philosophy.md](docs/architecture/governance/philosophy.md)
|
|
79
|
+
|
|
80
|
+
## Why PactKit?
|
|
81
|
+
|
|
82
|
+
- **P.A.C.T. Governance** — A contract between humans and AI agents, with clear boundaries
|
|
83
|
+
- **Multi-Agent Ensemble** — 9 specialized agents collaborate, each with constrained tools
|
|
66
84
|
- **Full PDCA Lifecycle** — Plan -> Act -> Check -> Done, with quality gates at every stage
|
|
67
|
-
- **Safe by Design** — TDD-first
|
|
68
|
-
- **Multi-Tool Support** — Works with Claude Code and OpenCode
|
|
85
|
+
- **Safe by Design** — TDD-first, safe regression, pre-existing test protection
|
|
86
|
+
- **Multi-Tool Support** — Works with Claude Code and OpenCode
|
|
69
87
|
|
|
70
88
|
## Installation
|
|
71
89
|
|
|
@@ -140,6 +158,22 @@ Or run the full cycle in one command:
|
|
|
140
158
|
| **Init** | `/project-init` | System Architect | Bootstrap project structure and governance |
|
|
141
159
|
| **Design** | `/project-design` | Product Designer | PRD generation -> Story decomposition -> Board setup |
|
|
142
160
|
|
|
161
|
+
### Role-Based Command Guide
|
|
162
|
+
|
|
163
|
+
Choose commands based on your role:
|
|
164
|
+
|
|
165
|
+
| Role | Commands | What You Do |
|
|
166
|
+
|------|----------|-------------|
|
|
167
|
+
| **BA** | `/project-clarify` | Surface ambiguities, produce Clarified Brief |
|
|
168
|
+
| **PM** | `/project-design` | Generate PRD, decompose into Stories |
|
|
169
|
+
| **Architect** | `/project-plan`, `/project-init` | Create Specs, initialize project governance |
|
|
170
|
+
| **Developer** | `/project-act`, `/project-hotfix` | TDD implementation, emergency fixes |
|
|
171
|
+
| **QA** | `/project-check` | Security + quality audit, spec alignment |
|
|
172
|
+
| **DevOps** | `/project-done`, `/project-release`, `/project-pr` | Commit, release, pull request |
|
|
173
|
+
| **Team Lead** | `/project-sprint` | One-command PDCA orchestration (**Claude Code only**) |
|
|
174
|
+
|
|
175
|
+
> **Solo developer?** Focus on `/project-plan` → `/project-act` → `/project-done`. Other commands become valuable when you have team collaboration or external stakeholders.
|
|
176
|
+
|
|
143
177
|
### Embedded Skills (auto-invoked by commands)
|
|
144
178
|
|
|
145
179
|
| Skill | Embedded In | Purpose |
|
|
@@ -190,6 +224,38 @@ PactKit deploys 10 skills (3 scripted + 7 prompt-only), auto-invoked by commands
|
|
|
190
224
|
| **pactkit-review** | Prompt-only | PR code review with SOLID/Security/Quality checklists |
|
|
191
225
|
| **pactkit-release** | Prompt-only | Version bump, architecture snapshot, git tag |
|
|
192
226
|
|
|
227
|
+
## CLI Subcommands
|
|
228
|
+
|
|
229
|
+
PactKit ships 25 deterministic CLI subcommands — operations that were previously delegated to AI prompts are now enforced in Python code (the "C" in P.A.C.T.):
|
|
230
|
+
|
|
231
|
+
| Command | Purpose |
|
|
232
|
+
|---------|---------|
|
|
233
|
+
| `pactkit init` | Deploy toolkit to AI coding assistant |
|
|
234
|
+
| `pactkit update` | Update playbooks (preserves config) |
|
|
235
|
+
| `pactkit upgrade` | Upgrade with format selection |
|
|
236
|
+
| `pactkit version` | Show installed version |
|
|
237
|
+
| `pactkit schema` | Print document schemas |
|
|
238
|
+
| `pactkit doctor` | Diagnose project health (HLD drift, board, config) |
|
|
239
|
+
| `pactkit spec-lint` | Validate spec structure (14 rules: E001-E008, W001-W006) |
|
|
240
|
+
| `pactkit spec-status` | Update spec Status field (Draft/In Progress/Done) |
|
|
241
|
+
| `pactkit guard` | Check project init markers |
|
|
242
|
+
| `pactkit next-id` | Generate next Story/Bug ID |
|
|
243
|
+
| `pactkit context` | Generate `context.md` from project state |
|
|
244
|
+
| `pactkit clean` | Remove stack-specific temp artifacts |
|
|
245
|
+
| `pactkit lint` | Stack-aware lint with auto-fix and blocking modes |
|
|
246
|
+
| `pactkit regression` | Classify changes (SKIP/FULL/IMPACT) |
|
|
247
|
+
| `pactkit test-map` | Map source files to test files |
|
|
248
|
+
| `pactkit coverage-gate` | Enforce 3-tier coverage thresholds (80/50/block) |
|
|
249
|
+
| `pactkit visualize` | Conditional graph regeneration (lazy mode) |
|
|
250
|
+
| `pactkit lesson-append` | Append lesson with specificity check and dedup |
|
|
251
|
+
| `pactkit invariants-refresh` | Update test count invariant in rules.md |
|
|
252
|
+
| `pactkit sec-scope` | Detect security scope for changed files |
|
|
253
|
+
| `pactkit backfill-release` | Replace Release: TBD in completed specs |
|
|
254
|
+
| `pactkit issue-sync` | GitHub issue lifecycle for BUG/HOTFIX items |
|
|
255
|
+
| `pactkit lint-context` | Validate context.md structure |
|
|
256
|
+
| `pactkit lint-lessons` | Validate lessons.md structure |
|
|
257
|
+
| `pactkit lint-testcase` | Validate test case structure |
|
|
258
|
+
|
|
193
259
|
## Deployment Architecture
|
|
194
260
|
|
|
195
261
|
PactKit supports two deployment formats:
|
|
@@ -198,9 +264,9 @@ PactKit supports two deployment formats:
|
|
|
198
264
|
|
|
199
265
|
```
|
|
200
266
|
~/.claude/
|
|
201
|
-
├── CLAUDE.md <-
|
|
202
|
-
├── rules/ <-
|
|
203
|
-
├── commands/ <- 11 command playbooks
|
|
267
|
+
├── CLAUDE.md <- Project context entry point
|
|
268
|
+
├── rules/ <- 8 rule modules (loaded per-command, not globally)
|
|
269
|
+
├── commands/ <- 11 command playbooks (with per-command rule @imports)
|
|
204
270
|
├── agents/ <- 9 agent definitions
|
|
205
271
|
└── skills/ <- 10 skill packages
|
|
206
272
|
```
|
|
@@ -210,7 +276,7 @@ PactKit supports two deployment formats:
|
|
|
210
276
|
```
|
|
211
277
|
~/.config/opencode/
|
|
212
278
|
├── AGENTS.md <- On-demand @reference index (lazy rule loading)
|
|
213
|
-
├── rules/ <- 8 rule modules (3 core always-load +
|
|
279
|
+
├── rules/ <- 8 rule modules (3 core always-load + 6 on-demand)
|
|
214
280
|
├── commands/ <- 11 command playbooks (with model: routing)
|
|
215
281
|
├── agents/ <- 9 agent definitions (mode: subagent)
|
|
216
282
|
├── skills/ <- 10 skill packages (with SKILL.md frontmatter)
|
|
@@ -218,7 +284,7 @@ PactKit supports two deployment formats:
|
|
|
218
284
|
```
|
|
219
285
|
|
|
220
286
|
Key OpenCode differences:
|
|
221
|
-
- **Rules**:
|
|
287
|
+
- **Rules**: Per-command inline embedding; credential safety always loaded via `instructions` (context-aware loading, -20% to -83% tokens per command)
|
|
222
288
|
- **Agents**: `mode: subagent`, no `name` field, tools as record format
|
|
223
289
|
- **Commands**: `agent: build` + `model: provider/model-id` (model routing)
|
|
224
290
|
- **Config**: `pactkit.yaml` in `.opencode/` (not `.claude/`)
|
|
@@ -265,9 +331,9 @@ docs/
|
|
|
265
331
|
| `agents` | list | all 9 | Agent definitions to deploy |
|
|
266
332
|
| `commands` | list | all 11 | Command playbooks to deploy |
|
|
267
333
|
| `skills` | list | all 10 | Skills to deploy |
|
|
268
|
-
| `rules` | list | all
|
|
334
|
+
| `rules` | list | all 8 | Constitution rule modules to deploy |
|
|
269
335
|
| `exclude` | object | `{}` | Components to exclude (e.g., `exclude.agents: [agent-name]`) |
|
|
270
|
-
| `ci` | object | `provider: none` | CI/CD pipeline generation (`github`, `gitlab`, `none`) |
|
|
336
|
+
| `ci` | object | `provider: none` | CI/CD pipeline generation (`github`, `gitlab`, `none`). Sub-fields: `runner` (default: `ubuntu-latest`), `language_version` (default: auto per stack), `github_host` (GHE server address), `actions_ref` (GHE actions prefix) |
|
|
271
337
|
| `issue_tracker` | object | `provider: none` | External issue tracker (`github`, `none`) |
|
|
272
338
|
| `hooks` | object | disabled | Opt-in hook templates (pre-commit, post-test, pre-push) |
|
|
273
339
|
| `lint_blocking` | bool | `false` | Whether lint failures block commits |
|
|
@@ -283,15 +349,15 @@ PactKit's safe regression system prevents agents from blindly modifying pre-exis
|
|
|
283
349
|
- **Regression Check** — Read-only gate; pre-existing test failure = STOP and report
|
|
284
350
|
- **Done Gate** — Full regression by default; incremental only when ALL safety conditions are met
|
|
285
351
|
|
|
286
|
-
## Hierarchy of Truth
|
|
352
|
+
## Hierarchy of Truth (the "T" in P.A.C.T.)
|
|
287
353
|
|
|
288
354
|
```
|
|
289
|
-
Tier 1: Specs & Test Cases <- The Law
|
|
290
|
-
Tier 2: Tests <- The Verification
|
|
355
|
+
Tier 1: Specs & Test Cases <- The Law (CODE is the Law)
|
|
356
|
+
Tier 2: Tests <- The Verification (DATA is the Truth)
|
|
291
357
|
Tier 3: Implementation <- The Mutable Reality
|
|
292
358
|
```
|
|
293
359
|
|
|
294
|
-
When conflicts arise: Spec wins. Always.
|
|
360
|
+
When conflicts arise: Spec wins. Always. The agent modifies code, never the spec.
|
|
295
361
|
|
|
296
362
|
## MCP Integration
|
|
297
363
|
|
|
@@ -9,9 +9,11 @@
|
|
|
9
9
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT" /></a>
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
|
-
<p align="center"><strong>
|
|
12
|
+
<p align="center"><strong>CODE is the Law. Data is the Truth. Prompt is ONLY instruction. AI is ONLY creativity.</strong></p>
|
|
13
13
|
|
|
14
|
-
> PactKit
|
|
14
|
+
> **PactKit** (Pact 契约 + Kit) is a governance framework that enforces the **P.A.C.T.** contract between humans and AI agents. Deterministic operations run as code, not prompts. Decisions are grounded in data, not memory. AI does what it's best at — creativity and language — while code handles everything that must be repeatable and correct.
|
|
15
|
+
>
|
|
16
|
+
> 25 CLI subcommands, 9 specialized agents, 11 commands, 10 skills, and a full Plan-Act-Check-Done lifecycle. One `pip install` and your AI assistant follows the contract.
|
|
15
17
|
|
|
16
18
|
### Supported AI Tools
|
|
17
19
|
|
|
@@ -31,15 +33,31 @@ You: /project-sprint "Add OAuth2 login"
|
|
|
31
33
|
Done Repo Maintainer gates regression, archives story, commits
|
|
32
34
|
```
|
|
33
35
|
|
|
34
|
-
##
|
|
36
|
+
## The P.A.C.T. Governance Contract
|
|
37
|
+
|
|
38
|
+
The name says it all — **Pact** means covenant. These four principles define the boundary between human intent and AI execution:
|
|
35
39
|
|
|
36
|
-
|
|
40
|
+
```
|
|
41
|
+
P Prompt is ONLY instruction Tells AI how to act — defines process, never state
|
|
42
|
+
A AI is ONLY creativity Formatting, summarization, language — never deterministic logic
|
|
43
|
+
C Code is the Law Sole executor of deterministic operations — no bypass, no approximation
|
|
44
|
+
T Truth Data is the Truth Factual basis for all judgment — no memory, no inference, no fabrication
|
|
45
|
+
```
|
|
37
46
|
|
|
38
|
-
-
|
|
39
|
-
-
|
|
47
|
+
- If a script exists → **use it**. Never reimplement in natural language. (C)
|
|
48
|
+
- If data is available → **read it**. Never guess or recall from memory. (T)
|
|
49
|
+
- Prompts define HOW, never WHAT. Current state comes from data, not docs. (P)
|
|
50
|
+
- AI formats, summarizes, and creates. AI does not parse, compute, or fabricate. (A)
|
|
51
|
+
|
|
52
|
+
> Read the full philosophy: [docs/architecture/governance/philosophy.md](docs/architecture/governance/philosophy.md)
|
|
53
|
+
|
|
54
|
+
## Why PactKit?
|
|
55
|
+
|
|
56
|
+
- **P.A.C.T. Governance** — A contract between humans and AI agents, with clear boundaries
|
|
57
|
+
- **Multi-Agent Ensemble** — 9 specialized agents collaborate, each with constrained tools
|
|
40
58
|
- **Full PDCA Lifecycle** — Plan -> Act -> Check -> Done, with quality gates at every stage
|
|
41
|
-
- **Safe by Design** — TDD-first
|
|
42
|
-
- **Multi-Tool Support** — Works with Claude Code and OpenCode
|
|
59
|
+
- **Safe by Design** — TDD-first, safe regression, pre-existing test protection
|
|
60
|
+
- **Multi-Tool Support** — Works with Claude Code and OpenCode
|
|
43
61
|
|
|
44
62
|
## Installation
|
|
45
63
|
|
|
@@ -114,6 +132,22 @@ Or run the full cycle in one command:
|
|
|
114
132
|
| **Init** | `/project-init` | System Architect | Bootstrap project structure and governance |
|
|
115
133
|
| **Design** | `/project-design` | Product Designer | PRD generation -> Story decomposition -> Board setup |
|
|
116
134
|
|
|
135
|
+
### Role-Based Command Guide
|
|
136
|
+
|
|
137
|
+
Choose commands based on your role:
|
|
138
|
+
|
|
139
|
+
| Role | Commands | What You Do |
|
|
140
|
+
|------|----------|-------------|
|
|
141
|
+
| **BA** | `/project-clarify` | Surface ambiguities, produce Clarified Brief |
|
|
142
|
+
| **PM** | `/project-design` | Generate PRD, decompose into Stories |
|
|
143
|
+
| **Architect** | `/project-plan`, `/project-init` | Create Specs, initialize project governance |
|
|
144
|
+
| **Developer** | `/project-act`, `/project-hotfix` | TDD implementation, emergency fixes |
|
|
145
|
+
| **QA** | `/project-check` | Security + quality audit, spec alignment |
|
|
146
|
+
| **DevOps** | `/project-done`, `/project-release`, `/project-pr` | Commit, release, pull request |
|
|
147
|
+
| **Team Lead** | `/project-sprint` | One-command PDCA orchestration (**Claude Code only**) |
|
|
148
|
+
|
|
149
|
+
> **Solo developer?** Focus on `/project-plan` → `/project-act` → `/project-done`. Other commands become valuable when you have team collaboration or external stakeholders.
|
|
150
|
+
|
|
117
151
|
### Embedded Skills (auto-invoked by commands)
|
|
118
152
|
|
|
119
153
|
| Skill | Embedded In | Purpose |
|
|
@@ -164,6 +198,38 @@ PactKit deploys 10 skills (3 scripted + 7 prompt-only), auto-invoked by commands
|
|
|
164
198
|
| **pactkit-review** | Prompt-only | PR code review with SOLID/Security/Quality checklists |
|
|
165
199
|
| **pactkit-release** | Prompt-only | Version bump, architecture snapshot, git tag |
|
|
166
200
|
|
|
201
|
+
## CLI Subcommands
|
|
202
|
+
|
|
203
|
+
PactKit ships 25 deterministic CLI subcommands — operations that were previously delegated to AI prompts are now enforced in Python code (the "C" in P.A.C.T.):
|
|
204
|
+
|
|
205
|
+
| Command | Purpose |
|
|
206
|
+
|---------|---------|
|
|
207
|
+
| `pactkit init` | Deploy toolkit to AI coding assistant |
|
|
208
|
+
| `pactkit update` | Update playbooks (preserves config) |
|
|
209
|
+
| `pactkit upgrade` | Upgrade with format selection |
|
|
210
|
+
| `pactkit version` | Show installed version |
|
|
211
|
+
| `pactkit schema` | Print document schemas |
|
|
212
|
+
| `pactkit doctor` | Diagnose project health (HLD drift, board, config) |
|
|
213
|
+
| `pactkit spec-lint` | Validate spec structure (14 rules: E001-E008, W001-W006) |
|
|
214
|
+
| `pactkit spec-status` | Update spec Status field (Draft/In Progress/Done) |
|
|
215
|
+
| `pactkit guard` | Check project init markers |
|
|
216
|
+
| `pactkit next-id` | Generate next Story/Bug ID |
|
|
217
|
+
| `pactkit context` | Generate `context.md` from project state |
|
|
218
|
+
| `pactkit clean` | Remove stack-specific temp artifacts |
|
|
219
|
+
| `pactkit lint` | Stack-aware lint with auto-fix and blocking modes |
|
|
220
|
+
| `pactkit regression` | Classify changes (SKIP/FULL/IMPACT) |
|
|
221
|
+
| `pactkit test-map` | Map source files to test files |
|
|
222
|
+
| `pactkit coverage-gate` | Enforce 3-tier coverage thresholds (80/50/block) |
|
|
223
|
+
| `pactkit visualize` | Conditional graph regeneration (lazy mode) |
|
|
224
|
+
| `pactkit lesson-append` | Append lesson with specificity check and dedup |
|
|
225
|
+
| `pactkit invariants-refresh` | Update test count invariant in rules.md |
|
|
226
|
+
| `pactkit sec-scope` | Detect security scope for changed files |
|
|
227
|
+
| `pactkit backfill-release` | Replace Release: TBD in completed specs |
|
|
228
|
+
| `pactkit issue-sync` | GitHub issue lifecycle for BUG/HOTFIX items |
|
|
229
|
+
| `pactkit lint-context` | Validate context.md structure |
|
|
230
|
+
| `pactkit lint-lessons` | Validate lessons.md structure |
|
|
231
|
+
| `pactkit lint-testcase` | Validate test case structure |
|
|
232
|
+
|
|
167
233
|
## Deployment Architecture
|
|
168
234
|
|
|
169
235
|
PactKit supports two deployment formats:
|
|
@@ -172,9 +238,9 @@ PactKit supports two deployment formats:
|
|
|
172
238
|
|
|
173
239
|
```
|
|
174
240
|
~/.claude/
|
|
175
|
-
├── CLAUDE.md <-
|
|
176
|
-
├── rules/ <-
|
|
177
|
-
├── commands/ <- 11 command playbooks
|
|
241
|
+
├── CLAUDE.md <- Project context entry point
|
|
242
|
+
├── rules/ <- 8 rule modules (loaded per-command, not globally)
|
|
243
|
+
├── commands/ <- 11 command playbooks (with per-command rule @imports)
|
|
178
244
|
├── agents/ <- 9 agent definitions
|
|
179
245
|
└── skills/ <- 10 skill packages
|
|
180
246
|
```
|
|
@@ -184,7 +250,7 @@ PactKit supports two deployment formats:
|
|
|
184
250
|
```
|
|
185
251
|
~/.config/opencode/
|
|
186
252
|
├── AGENTS.md <- On-demand @reference index (lazy rule loading)
|
|
187
|
-
├── rules/ <- 8 rule modules (3 core always-load +
|
|
253
|
+
├── rules/ <- 8 rule modules (3 core always-load + 6 on-demand)
|
|
188
254
|
├── commands/ <- 11 command playbooks (with model: routing)
|
|
189
255
|
├── agents/ <- 9 agent definitions (mode: subagent)
|
|
190
256
|
├── skills/ <- 10 skill packages (with SKILL.md frontmatter)
|
|
@@ -192,7 +258,7 @@ PactKit supports two deployment formats:
|
|
|
192
258
|
```
|
|
193
259
|
|
|
194
260
|
Key OpenCode differences:
|
|
195
|
-
- **Rules**:
|
|
261
|
+
- **Rules**: Per-command inline embedding; credential safety always loaded via `instructions` (context-aware loading, -20% to -83% tokens per command)
|
|
196
262
|
- **Agents**: `mode: subagent`, no `name` field, tools as record format
|
|
197
263
|
- **Commands**: `agent: build` + `model: provider/model-id` (model routing)
|
|
198
264
|
- **Config**: `pactkit.yaml` in `.opencode/` (not `.claude/`)
|
|
@@ -239,9 +305,9 @@ docs/
|
|
|
239
305
|
| `agents` | list | all 9 | Agent definitions to deploy |
|
|
240
306
|
| `commands` | list | all 11 | Command playbooks to deploy |
|
|
241
307
|
| `skills` | list | all 10 | Skills to deploy |
|
|
242
|
-
| `rules` | list | all
|
|
308
|
+
| `rules` | list | all 8 | Constitution rule modules to deploy |
|
|
243
309
|
| `exclude` | object | `{}` | Components to exclude (e.g., `exclude.agents: [agent-name]`) |
|
|
244
|
-
| `ci` | object | `provider: none` | CI/CD pipeline generation (`github`, `gitlab`, `none`) |
|
|
310
|
+
| `ci` | object | `provider: none` | CI/CD pipeline generation (`github`, `gitlab`, `none`). Sub-fields: `runner` (default: `ubuntu-latest`), `language_version` (default: auto per stack), `github_host` (GHE server address), `actions_ref` (GHE actions prefix) |
|
|
245
311
|
| `issue_tracker` | object | `provider: none` | External issue tracker (`github`, `none`) |
|
|
246
312
|
| `hooks` | object | disabled | Opt-in hook templates (pre-commit, post-test, pre-push) |
|
|
247
313
|
| `lint_blocking` | bool | `false` | Whether lint failures block commits |
|
|
@@ -257,15 +323,15 @@ PactKit's safe regression system prevents agents from blindly modifying pre-exis
|
|
|
257
323
|
- **Regression Check** — Read-only gate; pre-existing test failure = STOP and report
|
|
258
324
|
- **Done Gate** — Full regression by default; incremental only when ALL safety conditions are met
|
|
259
325
|
|
|
260
|
-
## Hierarchy of Truth
|
|
326
|
+
## Hierarchy of Truth (the "T" in P.A.C.T.)
|
|
261
327
|
|
|
262
328
|
```
|
|
263
|
-
Tier 1: Specs & Test Cases <- The Law
|
|
264
|
-
Tier 2: Tests <- The Verification
|
|
329
|
+
Tier 1: Specs & Test Cases <- The Law (CODE is the Law)
|
|
330
|
+
Tier 2: Tests <- The Verification (DATA is the Truth)
|
|
265
331
|
Tier 3: Implementation <- The Mutable Reality
|
|
266
332
|
```
|
|
267
333
|
|
|
268
|
-
When conflicts arise: Spec wins. Always.
|
|
334
|
+
When conflicts arise: Spec wins. Always. The agent modifies code, never the spec.
|
|
269
335
|
|
|
270
336
|
## MCP Integration
|
|
271
337
|
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# BUG-slim-002: Rules-Commands Instruction Collision Causes Plan/Act Stall
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
|-------|-------|
|
|
5
|
+
| ID | BUG-slim-002 |
|
|
6
|
+
| Status | Draft |
|
|
7
|
+
| Priority | P1 |
|
|
8
|
+
| Release | 2.2.0 |
|
|
9
|
+
|
|
10
|
+
## Background
|
|
11
|
+
|
|
12
|
+
When running `/project-plan` or `/project-act`, the AI agent frequently stalls (long thinking time, repeated actions, or apparent hang). Root cause analysis reveals that the global Rules (`01-core-protocol`, `02-hierarchy-of-truth`) contain instructions that **duplicate or conflict with** the phase-ordered instructions inside Command playbooks. The AI attempts to satisfy both layers simultaneously, resulting in repeated execution (e.g., `visualize` triggered up to 5 times per Story cycle), logical deadlocks (Rule 02 demands "read Spec before modifying code" but Plan is creating the Spec), and cascading sub-flows (Init Guard auto-triggers a full 7-phase `/project-init`).
|
|
13
|
+
|
|
14
|
+
## Root Cause Analysis
|
|
15
|
+
|
|
16
|
+
| ID | Problem | Source | Impact |
|
|
17
|
+
|----|---------|--------|--------|
|
|
18
|
+
| RC-1 | Rule 01 "Visual First" triggers `visualize` (3 modes) independently of Command-internal visualize phases | `rules.py` RULES_MODULES["core"] | 2-3x redundant visualize runs per command |
|
|
19
|
+
| RC-2 | Rule 02 "Operating Guidelines" requires reading Spec before code modification, but Plan is creating the Spec (does not exist yet) | `rules.py` RULES_MODULES["hierarchy"] | Logical deadlock / wasted search for nonexistent file |
|
|
20
|
+
| RC-3 | Plan Phase 0.5 Init Guard auto-executes full `/project-init` (7 phases) when any marker is missing | `commands.py` COMMANDS_CONTENT["project-plan.md"] | Cascading 7-phase sub-flow mid-Plan |
|
|
21
|
+
| RC-4 | Plan Phase 0.7 Clarify Gate auto-triggers on 2 High signals without escape hatch | `commands.py` COMMANDS_CONTENT["project-plan.md"] | Implicit blocking wait for user input |
|
|
22
|
+
| RC-5 | Act Phase 0.6 Consistency Check does full Spec/Board/TestCase cross-reference before any code is written | `commands.py` COMMANDS_CONTENT["project-act.md"] | Heavy text parsing phase that adds latency |
|
|
23
|
+
| RC-6 | Act runs visualize 3 separate times: Phase 1 (trace), Phase 4 (Lazy Visualize), plus Rule 01 (Visual First) | Multiple sources | 3x redundant visualize in Act alone |
|
|
24
|
+
|
|
25
|
+
## Target Call Chain
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
User invokes /project-plan or /project-act
|
|
29
|
+
-> Claude Code loads CLAUDE.md (@import all 8 rules)
|
|
30
|
+
-> Rule 01 "Visual First" fires (visualize x3 modes)
|
|
31
|
+
-> Rule 02 "Operating Guidelines" fires (search for Spec)
|
|
32
|
+
-> Command playbook executes
|
|
33
|
+
-> Phase 0.5 Init Guard (may cascade to /project-init x7 phases)
|
|
34
|
+
-> Phase 0.7 Clarify Gate (may block on user input)
|
|
35
|
+
-> Phase 1 Archaeology/Trace (visualize again)
|
|
36
|
+
-> [Act only] Phase 0.6 Consistency Check (heavy parsing)
|
|
37
|
+
-> [Act only] Phase 4 Lazy Visualize (visualize again)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Requirements
|
|
41
|
+
|
|
42
|
+
### R1: PDCA Command Exemption for Visual First
|
|
43
|
+
Rule 01 "Visual First" MUST include a PDCA exemption clause stating that when a PDCA command (`/project-plan`, `/project-act`, `/project-check`, `/project-done`, `/project-hotfix`, `/project-sprint`, `/project-design`, `/project-init`) is active, the command's own visualize phases take precedence and the global "Visual First" rule is suppressed.
|
|
44
|
+
|
|
45
|
+
### R2: Plan-Phase Exemption for Operating Guidelines
|
|
46
|
+
Rule 02 "Operating Guidelines" MUST include a clause exempting `/project-plan` and `/project-design` from the "read Spec before modifying code" requirement, since these commands create (not modify) Specs.
|
|
47
|
+
|
|
48
|
+
### R3: Init Guard Downgrade to Suggestion-and-Stop
|
|
49
|
+
Plan Phase 0.5 Init Guard MUST be changed from auto-executing `/project-init` to printing a warning message and STOPPING. The user can then manually run `/project-init` if needed.
|
|
50
|
+
|
|
51
|
+
### R4: Clarify Gate Threshold Increase
|
|
52
|
+
Plan Phase 0.7 Clarify Gate SHOULD raise the auto-trigger threshold: require 2 High + 1 Medium signal (instead of 2 High alone). Single-sentence input (< 15 words) SHOULD be downgraded from Medium to Low signal.
|
|
53
|
+
|
|
54
|
+
### R5: Act Consistency Check Simplification
|
|
55
|
+
Act Phase 0.6 Consistency Check SHOULD be simplified to a lightweight existence check (does Spec exist? does Board entry exist?) instead of full cross-reference parsing. The detailed Spec-Board-TestCase alignment analysis SHOULD be deferred to `/project-check`.
|
|
56
|
+
|
|
57
|
+
### R6: Act Visualize Deduplication
|
|
58
|
+
Act Phase 1 MUST NOT run `visualize` if Phase 4 Lazy Visualize will run it anyway. Phase 1 SHOULD only run `visualize --focus <module>` (single targeted mode), not the full 3-mode scan. The full 3-mode scan remains in Phase 4 (post-implementation) via Lazy Visualize Protocol.
|
|
59
|
+
|
|
60
|
+
## Implementation Steps
|
|
61
|
+
|
|
62
|
+
| Step | File | Action | Dependencies | Risk |
|
|
63
|
+
|------|------|--------|--------------|------|
|
|
64
|
+
| 1 | `src/pactkit/prompts/rules.py` | Add PDCA exemption to "Visual First" in RULES_MODULES["core"] (R1) | None | Low |
|
|
65
|
+
| 2 | `src/pactkit/prompts/rules.py` | Add Plan/Design exemption to "Operating Guidelines" in RULES_MODULES["hierarchy"] (R2) | None | Low |
|
|
66
|
+
| 3 | `src/pactkit/prompts/commands.py` | Rewrite Plan Phase 0.5 Init Guard: warn + STOP instead of auto-execute (R3) | None | Low |
|
|
67
|
+
| 4 | `src/pactkit/prompts/commands.py` | Adjust Clarify Gate threshold in Plan Phase 0.7 (R4) | None | Low |
|
|
68
|
+
| 5 | `src/pactkit/prompts/commands.py` | Simplify Act Phase 0.6 to lightweight existence check (R5) | None | Low |
|
|
69
|
+
| 6 | `src/pactkit/prompts/commands.py` | Deduplicate Act visualize: Phase 1 focus-only, Phase 4 full Lazy Visualize (R6) | None | Low |
|
|
70
|
+
| 7 | `tests/` | Add/update tests to verify prompt content changes | Steps 1-6 | Low |
|
|
71
|
+
|
|
72
|
+
## Acceptance Criteria
|
|
73
|
+
|
|
74
|
+
### AC1: Visual First PDCA Exemption
|
|
75
|
+
Given Rule 01 "Visual First" is deployed
|
|
76
|
+
When a PDCA command (e.g., `/project-act`) is active
|
|
77
|
+
Then the rule text includes a PDCA exemption clause and does not independently trigger visualize
|
|
78
|
+
|
|
79
|
+
### AC2: Plan-Phase Spec Read Exemption
|
|
80
|
+
Given Rule 02 "Operating Guidelines" is deployed
|
|
81
|
+
When `/project-plan` or `/project-design` is active
|
|
82
|
+
Then the rule text exempts these commands from "read Spec before modifying code"
|
|
83
|
+
|
|
84
|
+
### AC3: Init Guard Warns Instead of Auto-Executing
|
|
85
|
+
Given Plan Phase 0.5 Init Guard detects a missing marker
|
|
86
|
+
When the guard evaluates
|
|
87
|
+
Then it prints a warning with the missing markers and STOPs, without auto-executing `/project-init`
|
|
88
|
+
|
|
89
|
+
### AC4: Clarify Gate Higher Threshold
|
|
90
|
+
Given Plan Phase 0.7 Clarify Gate is evaluating user input
|
|
91
|
+
When the input has exactly 2 High signals but 0 Medium signals
|
|
92
|
+
Then Clarify is suggested (not auto-triggered)
|
|
93
|
+
|
|
94
|
+
### AC5: Act Lightweight Consistency Check
|
|
95
|
+
Given Act Phase 0.6 is executing
|
|
96
|
+
When it checks Spec-Board alignment
|
|
97
|
+
Then it only verifies existence (Spec file exists, Board entry exists) without cross-reference parsing
|
|
98
|
+
|
|
99
|
+
### AC6: Act Visualize Runs Once Per Phase
|
|
100
|
+
Given Act Phase 1 and Phase 4 both reference visualize
|
|
101
|
+
When Act executes end-to-end
|
|
102
|
+
Then Phase 1 runs only `--focus <module>` (1 mode) and Phase 4 runs Lazy Visualize (conditional 3 modes), with no duplication from Rule 01
|
|
103
|
+
|
|
104
|
+
## Security Scope
|
|
105
|
+
|
|
106
|
+
| Check | Applicable | Reason |
|
|
107
|
+
|-------|------------|--------|
|
|
108
|
+
| SEC-1 | Yes | Python source files modified (rules.py, commands.py) |
|
|
109
|
+
| SEC-2 | No | No user input handling — prompt template changes only |
|
|
110
|
+
| SEC-3 | No | No database operations |
|
|
111
|
+
| SEC-4 | No | No frontend files |
|
|
112
|
+
| SEC-5 | No | No auth/session logic |
|
|
113
|
+
| SEC-6 | No | No API endpoints |
|
|
114
|
+
| SEC-7 | No | No error handling changes |
|
|
115
|
+
| SEC-8 | No | No dependency file changes |
|