pactkit 2.3.0__tar.gz → 2.3.3__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.3.0 → pactkit-2.3.3}/.opencode/pactkit.yaml +9 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/CHANGELOG.md +24 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/PKG-INFO +26 -13
- {pactkit-2.3.0 → pactkit-2.3.3}/README.md +25 -12
- {pactkit-2.3.0 → pactkit-2.3.3}/pyproject.toml +1 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/__init__.py +1 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/cli.py +45 -12
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/config.py +44 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/guards.py +19 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/lazy_visualize.py +14 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/prompts/agents.py +1 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/prompts/commands.py +60 -50
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/prompts/rules.py +40 -8
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/prompts/workflows.py +10 -3
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/skills/board.py +4 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_agent_features.py +2 -2
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_agents_enrichment.py +1 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_slim006.py +0 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_config.py +2 -2
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_prompt_structural_invariants.py +2 -2
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_selective_deploy.py +1 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story020_horizon.py +1 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story023_test_quality.py +1 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim011_command_rules.py +5 -5
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim014_context.py +0 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim014_lazy_viz.py +3 -3
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim014_validators.py +1 -2
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim015_doctor.py +4 -3
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim016_testmap_lint.py +3 -2
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim017.py +0 -1
- pactkit-2.3.3/tests/unit/test_story_slim019_plan_subphases.py +101 -0
- pactkit-2.3.3/tests/unit/test_story_slim020_explore_stall_fix.py +91 -0
- pactkit-2.3.3/tests/unit/test_story_slim021.py +199 -0
- pactkit-2.3.3/tests/unit/test_story_slim022.py +335 -0
- pactkit-2.3.3/tests/unit/test_story_slim023.py +132 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.github/dependabot.yml +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.github/workflows/ci.yml +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.github/workflows/pactkit.yml +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.gitignore +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/.gitignore +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/bun.lock +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/memory/.gitignore +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/memory/project.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/@opencode-ai/plugin/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/@opencode-ai/sdk/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/LICENSE +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/README.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/locales/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/locales/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/locales/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/locales/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/locales/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/mini/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/mini/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/mini/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/mini/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/mini/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/locales/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/mini/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/ZodError.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/benchmarks/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/benchmarks/object.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/benchmarks/string.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/benchmarks/union.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/errors.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/external.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/helpers/util.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/locales/en.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/standard-schema.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/Mocker.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/array.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/base.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/bigint.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/branded.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/catch.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/coerce.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/complex.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/custom.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/date.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/default.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/description.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/enum.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/error.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/function.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/generics.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/intersection.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/language-server.source.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/language-server.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/literal.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/map.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/masking.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/mocker.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/nan.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/nullable.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/number.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/object.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/optional.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/parser.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/partials.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/primitive.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/promise.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/readonly.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/record.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/recursive.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/refine.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/set.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/string.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/transformer.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/tuple.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/unions.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/validations.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/tests/void.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v3/types.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/checks.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/coerce.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/compat.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/errors.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/external.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/iso.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/parse.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/schemas.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/api.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/checks.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/config.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/core.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/doc.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/errors.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/json-schema.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/parse.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/regexes.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/registries.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/schemas.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/standard-schema.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/tests/index.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/to-json-schema.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/util.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/versions.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/core/zsf.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ar.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/az.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/be.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/bg.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ca.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/cs.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/da.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/de.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/en.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/eo.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/es.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/fa.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/fi.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/fr-CA.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/fr.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/he.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/hu.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/id.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/is.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/it.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ja.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ka.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/kh.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/km.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ko.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/lt.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/mk.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ms.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/nl.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/no.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ota.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/pl.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ps.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/pt.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ru.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/sl.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/sv.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ta.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/th.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/tr.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ua.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/uk.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/ur.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/vi.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/yo.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/zh-CN.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/locales/zh-TW.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/checks.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/coerce.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/external.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/iso.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/parse.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/schemas.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/src/v4-mini/index.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/ZodError.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/ZodError.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/ZodError.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/ZodError.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/errors.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/errors.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/errors.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/errors.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/external.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/external.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/external.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/external.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/enumUtil.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/enumUtil.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/errorUtil.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/errorUtil.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/parseUtil.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/parseUtil.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/partialUtil.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/partialUtil.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/typeAliases.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/typeAliases.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/util.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/util.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/util.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/helpers/util.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/locales/en.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/locales/en.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/locales/en.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/locales/en.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/standard-schema.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/standard-schema.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/standard-schema.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/standard-schema.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/types.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/types.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/types.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v3/types.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/checks.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/checks.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/checks.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/checks.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/coerce.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/coerce.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/coerce.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/coerce.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/compat.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/compat.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/compat.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/compat.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/errors.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/errors.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/errors.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/errors.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/external.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/external.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/external.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/external.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/iso.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/iso.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/iso.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/iso.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/parse.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/parse.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/parse.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/parse.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/schemas.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/schemas.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/schemas.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/classic/schemas.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/api.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/api.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/api.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/api.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/checks.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/checks.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/checks.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/checks.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/core.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/core.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/core.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/core.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/doc.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/doc.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/doc.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/doc.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/errors.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/errors.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/errors.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/errors.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/json-schema.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/json-schema.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/json-schema.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/json-schema.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/parse.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/parse.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/parse.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/parse.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/regexes.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/regexes.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/regexes.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/regexes.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/registries.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/registries.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/registries.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/registries.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/schemas.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/schemas.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/schemas.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/schemas.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/standard-schema.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/standard-schema.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/standard-schema.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/standard-schema.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/to-json-schema.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/to-json-schema.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/to-json-schema.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/to-json-schema.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/util.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/util.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/util.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/util.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/versions.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/versions.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/versions.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/core/versions.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ar.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ar.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ar.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ar.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/az.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/az.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/az.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/az.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/be.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/be.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/be.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/be.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/bg.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/bg.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/bg.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/bg.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ca.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ca.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ca.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ca.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/cs.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/cs.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/cs.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/cs.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/da.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/da.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/da.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/da.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/de.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/de.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/de.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/de.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/en.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/en.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/en.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/en.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/eo.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/eo.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/eo.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/eo.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/es.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/es.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/es.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/es.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fa.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fa.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fa.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fa.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fi.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fi.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fi.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fi.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fr-CA.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fr-CA.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fr-CA.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fr-CA.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fr.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fr.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fr.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/fr.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/he.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/he.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/he.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/he.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/hu.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/hu.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/hu.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/hu.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/id.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/id.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/id.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/id.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/is.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/is.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/is.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/is.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/it.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/it.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/it.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/it.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ja.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ja.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ja.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ja.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ka.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ka.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ka.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ka.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/kh.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/kh.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/kh.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/kh.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/km.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/km.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/km.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/km.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ko.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ko.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ko.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ko.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/lt.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/lt.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/lt.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/lt.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/mk.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/mk.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/mk.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/mk.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ms.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ms.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ms.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ms.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/nl.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/nl.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/nl.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/nl.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/no.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/no.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/no.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/no.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ota.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ota.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ota.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ota.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/pl.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/pl.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/pl.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/pl.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ps.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ps.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ps.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ps.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/pt.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/pt.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/pt.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/pt.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ru.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ru.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ru.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ru.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/sl.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/sl.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/sl.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/sl.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/sv.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/sv.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/sv.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/sv.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ta.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ta.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ta.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ta.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/th.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/th.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/th.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/th.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/tr.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/tr.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/tr.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/tr.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ua.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ua.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ua.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ua.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/uk.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/uk.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/uk.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/uk.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ur.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ur.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ur.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/ur.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/vi.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/vi.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/vi.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/vi.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/yo.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/yo.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/yo.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/yo.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/zh-CN.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/zh-CN.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/zh-CN.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/zh-CN.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/zh-TW.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/zh-TW.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/zh-TW.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/locales/zh-TW.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/checks.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/checks.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/checks.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/checks.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/coerce.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/coerce.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/coerce.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/coerce.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/external.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/external.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/external.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/external.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/iso.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/iso.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/iso.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/iso.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/parse.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/parse.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/parse.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/parse.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/schemas.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/schemas.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/schemas.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/mini/schemas.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4-mini/index.cjs +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4-mini/index.d.cts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4-mini/index.d.ts +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4-mini/index.js +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/node_modules/zod/v4-mini/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/.opencode/package.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/AGENTS.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/CODE_OF_CONDUCT.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/CONTRIBUTING.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/LICENSE +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/SECURITY.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/assets/logo.png +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/guides/codex-integration-preresearch.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/guides/tool-integration-checklist.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-001.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-002.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-003.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-004.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-005.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-006.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-007.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-008.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-009.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-010.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-011.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-012.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-013.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-014.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-015.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-016.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-017.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-018.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-019.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-020.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-021.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-022.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-023.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-024.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-025.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-026.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-027.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-028.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-029.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-030.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-031.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-032.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-033.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-034.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-035.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-slim-001.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-slim-002.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-slim-003.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-slim-004.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-slim-005.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/specs/BUG-slim-006.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/test_cases/BUG-001_case.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/docs/test_cases/BUG-002_case.md +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/opencode.json +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/backfill.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/cleaners.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/context_gen.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/coverage_gate.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/doctor.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/generators/__init__.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/generators/adapter.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/generators/deployer.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/id_generator.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/invariants.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/issue_sync.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/lessons.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/lint_runner.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/profiles.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/prompts/__init__.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/prompts/references.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/prompts/skills.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/regression.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/schemas.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/scripts.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/sec_scope.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/skills/__init__.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/skills/scaffold.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/skills/spec_linter.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/skills/visualize.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/spec_status.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/test_mapper.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/utils.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/src/pactkit/validators.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/conftest.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/e2e/__init__.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/e2e/cli/__init__.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/e2e/cli/test_cli_e2e.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/integration/__init__.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/integration/test_deploy_classic.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_agent_frontmatter.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_board_bug027.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_board_sections.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug001_skill_path.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug002_plugin_paths.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug003_multi_import.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug004_dead_set.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug005_archive_taskless.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug006_scan_excludes.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug007_stale_trace_refs.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug008_stale_command_refs.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug009_project_config_backfill.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug010_rewrite_yaml.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug011_stale_refs.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug012_call_graph_filter.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug013_config_single_source.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug014_version_hygiene.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug017_project_init_playbook.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug018_issue_tracker_verification.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug019_venv_deployment.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug020_claude_md_backup.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug025_release_delegation.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug026_version_sync.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug028_ghost_refs.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug029_stack_detection_fallback.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug030_spec_lint_cli.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug031_docstring_accuracy.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug034_plan_metadata_template.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug035_opencode_dual_layer.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_021.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_022.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_023.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_024.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_slim001_env_detection.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_slim002_instruction_collision.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_slim003.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_slim004.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_bug_slim005.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_check_command.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_command_frontmatter.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_command_visualize_modes.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_config_auto_merge.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_constitution_sharpening.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_create_skill.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_cross_flow_matrix.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_deploy_opencode_parity.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_deployer_cleanup.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_deployer_plugin.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_design_command.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_done_gates.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_draw_prompt.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_draw_references.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_drawio_mcp.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_home_path_fix.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_hotfix_command.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_init_guard.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_lang_profiles.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_list_stories.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_mcp_integration.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_model_config.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_modular_constitution.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_multi_prefix.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_pdca_slim.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_profiles.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_project_visibility.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_prompt_cli_refs.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_prompts_package.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_release.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_release_field.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_release_v110.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_render_prompt.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_review_command.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_rules_enrichment.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_scaffold.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_scaffold_developer_prefix.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_schemas.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_script_extraction.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_session_context.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_skill_structure.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_skills_enrichment.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_smart_regression.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_sprint_command.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_stack_references.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_status_command.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_statusline.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story014_release.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story015_ci_lint_gate.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story016_claude_md.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story017_init_claude_md.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story018_arch_staleness.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story019_bailout.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story021_rfc.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story022_decision_tree.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story024_native_agent.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story025_ci_pipeline.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story026_issue_tracker.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story027_hooks.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story028_rule_scoping.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story029_doctor.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story030_lint.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story031_git_init_guard.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story032_greenfield_redirect.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story033_config_backfill.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story034_plan_config_refresh.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story035_readme_docs.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story037_regression_fix.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story038_call_graph_update.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story039_venv_config.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story040_layered_claude_md.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story042_spec_linter.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story043_active_clarify.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story044_consistency_check.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story045_auto_pr.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story046_agent_adapter.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story047_enterprise_flags.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story048_worktree_isolation.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story049_community_standards.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story050_doc_only_shortcut.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story051_workflow_streamlining.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story052_conditional_github_release.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story053_impact_regression.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story055_commands.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story055_config.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story055_spec_linter.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story056_commands.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story056_config.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story057_implicit_cleanup.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story058_routing_fix.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story060_init_hang.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story061_remove_thinking.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story062_mcp_recommendations.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story063_prompt_slimming.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story064_venv_local_md.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story065_sprint_model.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story069_opencode_format.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story070_opencode_compliance.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story071_opencode_config_parity.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story072_developer_prefix.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story073_command_model_routing.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim009_lazy_rules.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim010_dry_refactor.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim012_ci.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim014_clean.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim014_guard.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim014_next_id.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim014_regression.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim014_sec_scope.py +1 -1
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_story_slim018.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_tools.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_update_task.py +0 -0
- {pactkit-2.3.0 → pactkit-2.3.3}/tests/unit/test_visualize_modes.py +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Edit this file to customize which components are deployed.
|
|
3
3
|
# Remove items from a list to disable them. Default: all enabled.
|
|
4
4
|
|
|
5
|
-
version: "2.
|
|
5
|
+
version: "2.3.3"
|
|
6
6
|
stack: python
|
|
7
7
|
root: .
|
|
8
8
|
developer: "slim"
|
|
@@ -56,6 +56,7 @@ rules:
|
|
|
56
56
|
- 06-mcp-integration
|
|
57
57
|
- 07-shared-protocols
|
|
58
58
|
- 08-architecture-principles
|
|
59
|
+
- 09-sectional-write
|
|
59
60
|
|
|
60
61
|
# CI/CD — set provider to github or gitlab to generate pipeline config
|
|
61
62
|
ci:
|
|
@@ -112,3 +113,10 @@ agent_models:
|
|
|
112
113
|
system-architect: opus
|
|
113
114
|
system-medic: haiku
|
|
114
115
|
visual-architect: sonnet
|
|
116
|
+
|
|
117
|
+
# Custom — user-defined keys (preserved by PactKit)
|
|
118
|
+
e2e:
|
|
119
|
+
blocking: false
|
|
120
|
+
env_file: .env.test
|
|
121
|
+
test_dir: tests/e2e
|
|
122
|
+
type: none
|
|
@@ -4,6 +4,30 @@ 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.3] - 2026-03-23
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **Auto Version Sync** (STORY-slim-023) — `pactkit update --if-needed` compares `pactkit.yaml` version vs installed `__version__`. If match, skips redeploy; if mismatch, proceeds with full deploy. Core Protocol prompt updated to run this at session start for zero-friction upgrades.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **Guard Version Mismatch Detection** (HOTFIX-slim-024) — `pactkit guard` now checks version mismatch and prints warning with suggestion to run `pactkit update`. Also adds `e2e` to `_BACKFILL_KEYS` so new config section is auto-added during update.
|
|
14
|
+
|
|
15
|
+
## [2.3.2] - 2026-03-23
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **E2E Testing Framework** (STORY-slim-022) — Config-driven E2E strategy in `pactkit.yaml` (`e2e.type`: none/cli/frontend/backend/fullstack). `/project-check` Phase 4 rewritten from hardcoded Strategy A/B to config-driven table. `env_file` field (default `.env.test`) for test credential isolation. Non-blocking by default (`e2e.blocking: false`).
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- **Visualize CLI --mode** (HOTFIX-slim-023) — `pactkit visualize --mode class/call` previously failed with "unrecognized arguments". Added `--mode` parameter and wired non-lazy mode to execute graphs directly.
|
|
22
|
+
- **Board Archive Section Headers** (HOTFIX-slim-021) — `archive_stories()` now preserves `## 🔄 In Progress` and `## ✅ Done` section headers when archiving removes all stories from a section.
|
|
23
|
+
|
|
24
|
+
## [2.3.1] - 2026-03-23
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- **Plan Phase 3.2 Stall** (STORY-slim-019) — Split monolithic Spec-writing phase into 4 sub-steps (3.2a Skeleton, 3.2b Acceptance Criteria, 3.2c Security Scope, 3.2d Spec Lint) with output checkpoints between each, eliminating AI buffering stall on large Spec generation.
|
|
28
|
+
- **Explore Subagent Stall** (STORY-slim-020) — Added Bounded Delegation template to Plan Phase 1 (target/scope/limit/output constraints for Explore subagents), reduced `code-explorer` maxTurns from 50 to 15, and added scope-limiting instructions to prevent unbounded codebase exploration.
|
|
29
|
+
- **CI Workflow** — Reverted `actions/checkout` and `actions/setup-python` from v6 back to v4/v5 for CI stability after Dependabot upgrades caused failures.
|
|
30
|
+
|
|
7
31
|
## [2.3.0] - 2026-03-22
|
|
8
32
|
|
|
9
33
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pactkit
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.3
|
|
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
|
|
@@ -158,21 +158,34 @@ Or run the full cycle in one command:
|
|
|
158
158
|
| **Init** | `/project-init` | System Architect | Bootstrap project structure and governance |
|
|
159
159
|
| **Design** | `/project-design` | Product Designer | PRD generation -> Story decomposition -> Board setup |
|
|
160
160
|
|
|
161
|
-
###
|
|
161
|
+
### When to Use What
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
The core loop is **Plan → Act → Done**. Other commands plug in as needed:
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
165
|
+
```
|
|
166
|
+
You have a task
|
|
167
|
+
│
|
|
168
|
+
├─ Vague idea, multiple features? ──→ /project-design
|
|
169
|
+
│
|
|
170
|
+
├─ Unclear requirement? ──→ /project-clarify → /project-plan
|
|
171
|
+
│
|
|
172
|
+
├─ Clear feature or bug?
|
|
173
|
+
│ │
|
|
174
|
+
│ ├─ Small fix (1 file, obvious)? ──→ /project-hotfix
|
|
175
|
+
│ │
|
|
176
|
+
│ └─ Needs design? ──→ /project-plan → /project-act
|
|
177
|
+
│ │
|
|
178
|
+
│ ├─ Security-sensitive? ──→ /project-check (QA audit)
|
|
179
|
+
│ │
|
|
180
|
+
│ └─ /project-done
|
|
181
|
+
│ │
|
|
182
|
+
│ ├─ On feature branch? ──→ /project-pr
|
|
183
|
+
│ └─ Ready to release? ──→ /project-release
|
|
184
|
+
│
|
|
185
|
+
└─ Fully automated? ──→ /project-sprint (runs all phases)
|
|
186
|
+
```
|
|
174
187
|
|
|
175
|
-
|
|
188
|
+
**Solo developer?** Start with `/project-plan` → `/project-act` → `/project-done`. Add `/project-hotfix` for small fixes and `/project-check` when security matters.
|
|
176
189
|
|
|
177
190
|
### Embedded Skills (auto-invoked by commands)
|
|
178
191
|
|
|
@@ -132,21 +132,34 @@ Or run the full cycle in one command:
|
|
|
132
132
|
| **Init** | `/project-init` | System Architect | Bootstrap project structure and governance |
|
|
133
133
|
| **Design** | `/project-design` | Product Designer | PRD generation -> Story decomposition -> Board setup |
|
|
134
134
|
|
|
135
|
-
###
|
|
135
|
+
### When to Use What
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
The core loop is **Plan → Act → Done**. Other commands plug in as needed:
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
139
|
+
```
|
|
140
|
+
You have a task
|
|
141
|
+
│
|
|
142
|
+
├─ Vague idea, multiple features? ──→ /project-design
|
|
143
|
+
│
|
|
144
|
+
├─ Unclear requirement? ──→ /project-clarify → /project-plan
|
|
145
|
+
│
|
|
146
|
+
├─ Clear feature or bug?
|
|
147
|
+
│ │
|
|
148
|
+
│ ├─ Small fix (1 file, obvious)? ──→ /project-hotfix
|
|
149
|
+
│ │
|
|
150
|
+
│ └─ Needs design? ──→ /project-plan → /project-act
|
|
151
|
+
│ │
|
|
152
|
+
│ ├─ Security-sensitive? ──→ /project-check (QA audit)
|
|
153
|
+
│ │
|
|
154
|
+
│ └─ /project-done
|
|
155
|
+
│ │
|
|
156
|
+
│ ├─ On feature branch? ──→ /project-pr
|
|
157
|
+
│ └─ Ready to release? ──→ /project-release
|
|
158
|
+
│
|
|
159
|
+
└─ Fully automated? ──→ /project-sprint (runs all phases)
|
|
160
|
+
```
|
|
148
161
|
|
|
149
|
-
|
|
162
|
+
**Solo developer?** Start with `/project-plan` → `/project-act` → `/project-done`. Add `/project-hotfix` for small fixes and `/project-check` when security matters.
|
|
150
163
|
|
|
151
164
|
### Embedded Skills (auto-invoked by commands)
|
|
152
165
|
|
|
@@ -137,6 +137,13 @@ def main():
|
|
|
137
137
|
default=False,
|
|
138
138
|
help="Non-interactive mode: auto-accept defaults (CI/CD environments)",
|
|
139
139
|
)
|
|
140
|
+
# STORY-slim-023: Auto version sync
|
|
141
|
+
update_parser.add_argument(
|
|
142
|
+
"--if-needed",
|
|
143
|
+
action="store_true",
|
|
144
|
+
default=False,
|
|
145
|
+
help="Only redeploy if installed version differs from pactkit.yaml version",
|
|
146
|
+
)
|
|
140
147
|
|
|
141
148
|
# pactkit upgrade (alias for init, migrates legacy scafpy files)
|
|
142
149
|
upgrade_parser = subparsers.add_parser("upgrade", help="Upgrade PactKit (migrate legacy scafpy config)")
|
|
@@ -237,10 +244,14 @@ def main():
|
|
|
237
244
|
lint_tc_parser = subparsers.add_parser("lint-testcase", help="Validate test case file structure")
|
|
238
245
|
lint_tc_parser.add_argument("path", help="Path to test case file")
|
|
239
246
|
|
|
240
|
-
# pactkit visualize --lazy (STORY-slim-014 R7)
|
|
247
|
+
# pactkit visualize --lazy --mode (STORY-slim-014 R7, HOTFIX-slim-023)
|
|
241
248
|
viz_parser = subparsers.add_parser("visualize", help="Visualize code dependency graph")
|
|
242
249
|
viz_parser.add_argument("--lazy", action="store_true", help="Skip if no source changes")
|
|
243
250
|
viz_parser.add_argument("--stack", default="auto", help="Language stack (default: auto)")
|
|
251
|
+
viz_parser.add_argument(
|
|
252
|
+
"--mode", choices=["file", "class", "call"], default=None,
|
|
253
|
+
help="Graph mode (default: all three)",
|
|
254
|
+
)
|
|
244
255
|
|
|
245
256
|
# pactkit doctor (STORY-slim-015 R1-R3)
|
|
246
257
|
subparsers.add_parser("doctor", help="Diagnose project health")
|
|
@@ -286,6 +297,23 @@ def main():
|
|
|
286
297
|
args = parser.parse_args()
|
|
287
298
|
|
|
288
299
|
if args.command in ("init", "update", "upgrade"):
|
|
300
|
+
# STORY-slim-023: --if-needed skips deploy when versions match
|
|
301
|
+
if args.command == "update" and getattr(args, "if_needed", False):
|
|
302
|
+
from pathlib import Path
|
|
303
|
+
|
|
304
|
+
from pactkit.config import load_config
|
|
305
|
+
|
|
306
|
+
yaml_path = Path.cwd() / ".claude" / "pactkit.yaml"
|
|
307
|
+
if yaml_path.exists():
|
|
308
|
+
cfg = load_config(yaml_path)
|
|
309
|
+
yaml_version = cfg.get("version", "")
|
|
310
|
+
if yaml_version == __version__:
|
|
311
|
+
print(f"PactKit {__version__} up-to-date — skipping redeploy")
|
|
312
|
+
raise SystemExit(0)
|
|
313
|
+
print(f"PactKit version mismatch: {yaml_version} → {__version__}. Updating...")
|
|
314
|
+
else:
|
|
315
|
+
print("No pactkit.yaml found. Running first-time setup...")
|
|
316
|
+
|
|
289
317
|
from pactkit.generators.deployer import deploy
|
|
290
318
|
|
|
291
319
|
deploy(
|
|
@@ -316,11 +344,17 @@ def main():
|
|
|
316
344
|
elif args.command == "guard":
|
|
317
345
|
from pathlib import Path
|
|
318
346
|
|
|
319
|
-
from pactkit.guards import check_init_markers
|
|
347
|
+
from pactkit.guards import check_init_markers, check_version_mismatch
|
|
320
348
|
|
|
321
|
-
|
|
349
|
+
project_root = Path.cwd()
|
|
350
|
+
ok, missing = check_init_markers(project_root)
|
|
322
351
|
if ok:
|
|
323
352
|
print("Guard: PASS — all init markers present")
|
|
353
|
+
# HOTFIX-slim-024: check version mismatch
|
|
354
|
+
version_warn = check_version_mismatch(project_root)
|
|
355
|
+
if version_warn:
|
|
356
|
+
print(f" ⚠️ {version_warn}")
|
|
357
|
+
print(" Run `pactkit update` to sync")
|
|
324
358
|
else:
|
|
325
359
|
for m in missing:
|
|
326
360
|
print(f" ✗ {m}")
|
|
@@ -429,23 +463,22 @@ def main():
|
|
|
429
463
|
print(f"{args.path}\n Result: PASS")
|
|
430
464
|
|
|
431
465
|
elif args.command == "visualize":
|
|
432
|
-
|
|
433
|
-
from pathlib import Path
|
|
466
|
+
from pathlib import Path
|
|
434
467
|
|
|
435
|
-
|
|
468
|
+
from pactkit.lazy_visualize import run_visualize_graphs, run_visualize_single, should_visualize
|
|
436
469
|
|
|
437
|
-
|
|
470
|
+
project_root = Path.cwd()
|
|
471
|
+
if args.lazy:
|
|
438
472
|
should_run, reason = should_visualize(project_root, stack=args.stack)
|
|
439
473
|
if not should_run:
|
|
440
474
|
print(reason)
|
|
441
475
|
raise SystemExit(0)
|
|
442
476
|
print(f"Visualize needed: {reason}")
|
|
443
|
-
|
|
444
|
-
|
|
477
|
+
# HOTFIX-slim-023: support --mode for single or all modes
|
|
478
|
+
if args.mode:
|
|
479
|
+
run_visualize_single(project_root, args.mode)
|
|
480
|
+
else:
|
|
445
481
|
run_visualize_graphs(project_root)
|
|
446
|
-
raise SystemExit(0)
|
|
447
|
-
# Non-lazy: print guidance for manual run
|
|
448
|
-
print("Run visualize skill for full graph generation")
|
|
449
482
|
|
|
450
483
|
elif args.command == "doctor":
|
|
451
484
|
from pathlib import Path
|
|
@@ -69,6 +69,7 @@ VALID_RULES = frozenset(
|
|
|
69
69
|
"06-mcp-integration",
|
|
70
70
|
"07-shared-protocols",
|
|
71
71
|
"08-architecture-principles",
|
|
72
|
+
"09-sectional-write",
|
|
72
73
|
}
|
|
73
74
|
)
|
|
74
75
|
|
|
@@ -82,6 +83,8 @@ VALID_ISSUE_PROVIDERS = frozenset({"github", "none"})
|
|
|
82
83
|
|
|
83
84
|
VALID_HOOK_TEMPLATES = frozenset({"pre_commit_lint", "post_test_coverage", "pre_push_check"})
|
|
84
85
|
|
|
86
|
+
VALID_E2E_TYPES = frozenset({"none", "cli", "frontend", "backend", "fullstack"})
|
|
87
|
+
|
|
85
88
|
# Commands deprecated in v1.2.0 — converted to skills (STORY-011)
|
|
86
89
|
DEPRECATED_COMMANDS = frozenset(
|
|
87
90
|
{
|
|
@@ -164,6 +167,12 @@ def get_default_config() -> dict:
|
|
|
164
167
|
"security_checklist": True,
|
|
165
168
|
"security_scope_override": "none",
|
|
166
169
|
},
|
|
170
|
+
"e2e": {
|
|
171
|
+
"type": "none",
|
|
172
|
+
"blocking": False,
|
|
173
|
+
"test_dir": "tests/e2e",
|
|
174
|
+
"env_file": ".env.test",
|
|
175
|
+
},
|
|
167
176
|
"done": {
|
|
168
177
|
"lesson_quality_threshold": 15,
|
|
169
178
|
},
|
|
@@ -352,6 +361,7 @@ def load_config(path: Path | str | None = None) -> dict:
|
|
|
352
361
|
"regression",
|
|
353
362
|
"check",
|
|
354
363
|
"done",
|
|
364
|
+
"e2e",
|
|
355
365
|
"command_models",
|
|
356
366
|
}
|
|
357
367
|
|
|
@@ -447,6 +457,7 @@ def auto_merge_config_file(path: Union[Path, str]) -> list[str]:
|
|
|
447
457
|
"regression",
|
|
448
458
|
"check",
|
|
449
459
|
"done",
|
|
460
|
+
"e2e", # STORY-slim-022
|
|
450
461
|
)
|
|
451
462
|
for key in _BACKFILL_KEYS:
|
|
452
463
|
if key not in user_data:
|
|
@@ -796,6 +807,30 @@ def validate_config(config: dict) -> None:
|
|
|
796
807
|
if not isinstance(threshold, int) or threshold < 0 or threshold > 25:
|
|
797
808
|
warnings.warn(f"done.lesson_quality_threshold should be an integer 0-25, got {threshold!r}")
|
|
798
809
|
|
|
810
|
+
# Validate e2e section (STORY-slim-022)
|
|
811
|
+
e2e = config.get("e2e", {})
|
|
812
|
+
if isinstance(e2e, dict):
|
|
813
|
+
e2e_type = e2e.get("type", "none")
|
|
814
|
+
if e2e_type not in VALID_E2E_TYPES:
|
|
815
|
+
warnings.warn(
|
|
816
|
+
f"e2e.type should be one of {', '.join(sorted(VALID_E2E_TYPES))}, got '{e2e_type}'"
|
|
817
|
+
)
|
|
818
|
+
e2e_blocking = e2e.get("blocking", False)
|
|
819
|
+
if not isinstance(e2e_blocking, bool):
|
|
820
|
+
warnings.warn(
|
|
821
|
+
f"e2e.blocking should be a boolean (true/false), got {type(e2e_blocking).__name__}"
|
|
822
|
+
)
|
|
823
|
+
e2e_test_dir = e2e.get("test_dir")
|
|
824
|
+
if e2e_test_dir is not None and not isinstance(e2e_test_dir, str):
|
|
825
|
+
warnings.warn(
|
|
826
|
+
f"e2e.test_dir should be a string, got {type(e2e_test_dir).__name__}"
|
|
827
|
+
)
|
|
828
|
+
e2e_env_file = e2e.get("env_file")
|
|
829
|
+
if e2e_env_file is not None and not isinstance(e2e_env_file, str):
|
|
830
|
+
warnings.warn(
|
|
831
|
+
f"e2e.env_file should be a string, got {type(e2e_env_file).__name__}"
|
|
832
|
+
)
|
|
833
|
+
|
|
799
834
|
# enterprise section (STORY-047) — accepted without warnings
|
|
800
835
|
# multi_agent field (STORY-046) — accepted without warnings
|
|
801
836
|
|
|
@@ -902,6 +937,15 @@ def generate_default_yaml() -> str:
|
|
|
902
937
|
lines.append("done:")
|
|
903
938
|
lines.append(f" lesson_quality_threshold: {done_cfg.get('lesson_quality_threshold', 15)}")
|
|
904
939
|
|
|
940
|
+
# Write e2e section (STORY-slim-022)
|
|
941
|
+
e2e = cfg.get("e2e", {})
|
|
942
|
+
lines.extend(["", "# E2E Testing — configure end-to-end test strategy (none|cli|frontend|backend|fullstack)"])
|
|
943
|
+
lines.append("e2e:")
|
|
944
|
+
lines.append(f" type: {e2e.get('type', 'none')}")
|
|
945
|
+
lines.append(f" blocking: {'true' if e2e.get('blocking') else 'false'}")
|
|
946
|
+
lines.append(f" test_dir: {e2e.get('test_dir', 'tests/e2e')}")
|
|
947
|
+
lines.append(f" env_file: {e2e.get('env_file', '.env.test')}")
|
|
948
|
+
|
|
905
949
|
# Write command_models section (STORY-073)
|
|
906
950
|
cmd_models = cfg.get("command_models", {})
|
|
907
951
|
if cmd_models:
|
|
@@ -6,7 +6,8 @@ from __future__ import annotations
|
|
|
6
6
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
|
|
9
|
-
from pactkit
|
|
9
|
+
from pactkit import __version__
|
|
10
|
+
from pactkit.config import find_pactkit_yaml, load_config
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
def check_init_markers(project_root: Path) -> tuple[bool, list[str]]:
|
|
@@ -65,3 +66,20 @@ def check_config_completeness(project_root: Path) -> list[str]:
|
|
|
65
66
|
if key not in data:
|
|
66
67
|
warnings.append(f"Missing config section: '{key}' in {yaml_path.name}")
|
|
67
68
|
return warnings
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def check_version_mismatch(project_root: Path) -> str | None:
|
|
72
|
+
"""Check if pactkit.yaml version differs from installed __version__.
|
|
73
|
+
|
|
74
|
+
Returns:
|
|
75
|
+
Warning message if mismatch, None if versions match or yaml not found.
|
|
76
|
+
"""
|
|
77
|
+
yaml_path = find_pactkit_yaml(project_root)
|
|
78
|
+
if yaml_path is None:
|
|
79
|
+
return None
|
|
80
|
+
|
|
81
|
+
cfg = load_config(yaml_path)
|
|
82
|
+
yaml_version = cfg.get("version", "")
|
|
83
|
+
if yaml_version and yaml_version != __version__:
|
|
84
|
+
return f"Version mismatch: pactkit.yaml {yaml_version} vs installed {__version__}"
|
|
85
|
+
return None
|
|
@@ -80,6 +80,20 @@ def should_visualize(
|
|
|
80
80
|
return (False, "Graph up-to-date — no source changes")
|
|
81
81
|
|
|
82
82
|
|
|
83
|
+
def run_visualize_single(project_root: Path, mode: str) -> None:
|
|
84
|
+
"""Execute visualize.py for a single graph mode (HOTFIX-slim-023)."""
|
|
85
|
+
import sys
|
|
86
|
+
|
|
87
|
+
viz_script = Path(__file__).resolve().parent / "skills" / "visualize.py"
|
|
88
|
+
if not viz_script.exists():
|
|
89
|
+
print(f"visualize.py not found: {viz_script}")
|
|
90
|
+
return
|
|
91
|
+
subprocess.run(
|
|
92
|
+
[sys.executable, str(viz_script), "visualize", "--mode", mode],
|
|
93
|
+
cwd=str(project_root),
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
|
|
83
97
|
def run_visualize_graphs(project_root: Path) -> None:
|
|
84
98
|
"""Execute visualize.py to regenerate all graph files.
|
|
85
99
|
|
|
@@ -248,7 +248,7 @@ Generate system architecture diagrams using Draw.io XML. Supports three diagram
|
|
|
248
248
|
"code-explorer": {
|
|
249
249
|
"desc": "Deep code analysis and execution tracing.",
|
|
250
250
|
"tools": "Read, Bash, Grep, Glob, Find",
|
|
251
|
-
"maxTurns": 50
|
|
251
|
+
"maxTurns": 15, # STORY-slim-020: reduced from 50 to prevent unbounded exploration stalls
|
|
252
252
|
"memory": "user",
|
|
253
253
|
"prompt": """You are the **Code Explorer** (aka System Archaeologist).
|
|
254
254
|
**Motto**: "Read little, understand much."
|
|
@@ -64,11 +64,18 @@ allowed-tools: [Read, Write, Edit, Bash, Glob, Grep]
|
|
|
64
64
|
6. **Output**: The enriched_input (original + answers) is used as context for Phase 1 onwards.
|
|
65
65
|
|
|
66
66
|
## 🎬 Phase 1: Archaeology (The "Know Before You Change" Step)
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
> **Subagent Scope Rule**: When delegating research to an Explore subagent, always provide a **bounded** prompt: target function/class, directory scope, file limit, and expected output. Never delegate open-ended "trace the whole codebase" tasks.
|
|
68
|
+
|
|
69
|
+
1. **Visual Scan**: Run `visualize --focus <module> --depth 2` to see the targeted dependency graph. Only expand to `--mode class` or `--mode call` if the focused scan is insufficient.
|
|
69
70
|
2. **Logic Trace (CRITICAL)** — use pactkit-trace skill:
|
|
70
71
|
- If modifying existing logic, trace the current implementation.
|
|
71
72
|
- *Goal*: Identify the exact function/class responsible for the logic.
|
|
73
|
+
- **Delegation Template**: When using an Explore subagent for trace, formulate the prompt with:
|
|
74
|
+
- **Target**: specific function or class name to trace
|
|
75
|
+
- **Scope**: specific directory (e.g., `src/pactkit/generators/`)
|
|
76
|
+
- **Limit**: read at most 8-10 files
|
|
77
|
+
- **Output**: what to return (entry file, call chain, key data transformations)
|
|
78
|
+
- Example: `Agent(subagent_type="Explore", prompt="Find the deploy() entry point in src/pactkit/generators/deployer.py. Trace the call chain to file writes. Read at most 8 files. Return: entry function, call chain list, key data transformations.")`
|
|
72
79
|
|
|
73
80
|
## 🎬 Phase 2: Design & Impact
|
|
74
81
|
1. **Diff**: Compare User Request vs Current Reality (from Phase 1).
|
|
@@ -79,9 +86,9 @@ allowed-tools: [Read, Write, Edit, Bash, Glob, Grep]
|
|
|
79
86
|
1. Run `pactkit next-id` to get the next Story ID (reads developer prefix from pactkit.yaml, scans `docs/specs/`).
|
|
80
87
|
2. **Output checkpoint**: Print "Story ID determined: {ID}. Writing Spec now."
|
|
81
88
|
|
|
82
|
-
## 🎬 Phase 3.
|
|
83
|
-
1. **
|
|
84
|
-
- **MUST — Metadata Table**: Include a metadata table at the top
|
|
89
|
+
## 🎬 Phase 3.2a: Spec Skeleton (Metadata + Requirements)
|
|
90
|
+
1. **Create file**: Create `docs/specs/{ID}.md` with the following sections:
|
|
91
|
+
- **MUST — Metadata Table**: Include a metadata table at the top using this EXACT format:
|
|
85
92
|
```markdown
|
|
86
93
|
| Field | Value |
|
|
87
94
|
|-------|-------|
|
|
@@ -91,41 +98,41 @@ allowed-tools: [Read, Write, Edit, Bash, Glob, Grep]
|
|
|
91
98
|
| Release | {version} |
|
|
92
99
|
```
|
|
93
100
|
Field names MUST be exact case (ID, Status, Priority, Release) — not bold, not different names.
|
|
94
|
-
-
|
|
101
|
+
- **MUST**: Fill in the `Release` metadata field by reading the `version` field from `{PACTKIT_YAML}` or `pyproject.toml`. Use that EXACT value — do NOT increment or predict a future version. If the file cannot be read, use `TBD`.
|
|
102
|
+
- **MUST**: Include `## Background` and `## Target Call Chain` sections based on your Trace findings.
|
|
95
103
|
- **MUST**: Fill in the `## Requirements` section using RFC 2119 keywords (MUST/SHOULD/MAY).
|
|
96
|
-
|
|
104
|
+
2. **Output checkpoint**: Print "Spec skeleton written. Adding acceptance criteria."
|
|
105
|
+
|
|
106
|
+
## 🎬 Phase 3.2b: Acceptance Criteria & Implementation Steps
|
|
107
|
+
1. **MUST**: Add `## Acceptance Criteria` section with Given/When/Then scenarios.
|
|
97
108
|
- Each Scenario SHOULD map to a verifiable test case in `docs/test_cases/`.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
| SEC-1 | Yes | Source code modified |
|
|
126
|
-
| SEC-2 | N/A | No user input handling |
|
|
127
|
-
```
|
|
128
|
-
- **Spec Lint Self-Check**: After writing the Spec, run `pactkit spec-lint docs/specs/{ID}.md`. If ERROR rules fail, self-correct the Spec immediately (you wrote it — you have authority to fix it). Re-run until clean. This prevents the Spec from being rejected at Act Phase 0.5.
|
|
109
|
+
2. **OPTIONAL — Implementation Steps**: If Phase 1 Trace identifies 2+ files to modify, add `## Implementation Steps` section with table format:
|
|
110
|
+
```
|
|
111
|
+
| Step | File | Action | Dependencies | Risk |
|
|
112
|
+
|------|------|--------|--------------|------|
|
|
113
|
+
| 1 | `src/foo.py` | Description | None | Low |
|
|
114
|
+
```
|
|
115
|
+
The `Dependencies` column accepts `None`, `Step N`, or comma-separated step references. The `Risk` column accepts `Low`, `Medium`, `High`.
|
|
116
|
+
3. **Output checkpoint**: Print "Acceptance criteria written. Running security scope."
|
|
117
|
+
|
|
118
|
+
## 🎬 Phase 3.2c: Security Scope
|
|
119
|
+
1. **MUST**: Run `pactkit sec-scope <changed-files>` to auto-detect SEC-1~SEC-8 applicability. Append the output to `## Security Scope` in the Spec.
|
|
120
|
+
2. **Fallback**: If `pactkit sec-scope` is unavailable, manually assess each SEC-1 through SEC-8 check based on changed file paths and code patterns. Apply docs/tests-only shortcut if applicable (mark ALL N/A with Reason "docs/tests only").
|
|
121
|
+
3. **Output format** (the table must include a Reason column):
|
|
122
|
+
```markdown
|
|
123
|
+
## Security Scope
|
|
124
|
+
| Check | Applicable | Reason |
|
|
125
|
+
|-------|------------|--------|
|
|
126
|
+
| SEC-1 | Yes | Source code modified |
|
|
127
|
+
| SEC-2 | N/A | No user input handling |
|
|
128
|
+
```
|
|
129
|
+
4. **Output checkpoint**: Print "Security scope appended. Running lint."
|
|
130
|
+
|
|
131
|
+
## 🎬 Phase 3.2d: Spec Lint Self-Check
|
|
132
|
+
1. Run `pactkit spec-lint docs/specs/{ID}.md`.
|
|
133
|
+
2. If ERROR rules fail, self-correct the Spec immediately (you wrote it — you have authority to fix it). Re-run until clean.
|
|
134
|
+
3. This prevents the Spec from being rejected at Act Phase 0.5.
|
|
135
|
+
4. **Output checkpoint**: Print "Spec lint passed."
|
|
129
136
|
|
|
130
137
|
## 🎬 Phase 3.3: Board, Memory & Handover
|
|
131
138
|
1. **Board**: Add Story using `add_story`.
|
|
@@ -300,22 +307,25 @@ For each finding, assign a severity (P0-P3). Flag issues that may cause silent f
|
|
|
300
307
|
3. **Report**: For each finding, assign the severity above and include it in the Phase 5 verdict.
|
|
301
308
|
4. **Gate**: If any P1 test quality issue is found, flag it as a required fix (same as a code quality P1).
|
|
302
309
|
|
|
303
|
-
## Phase 4:
|
|
304
|
-
|
|
310
|
+
## Phase 4: E2E Execution (Config-Driven)
|
|
311
|
+
> Read `pactkit.yaml` field `e2e.type` to select strategy. Default: `none` (skip).
|
|
305
312
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
313
|
+
| e2e.type | Test Path | Tools | Cleanup |
|
|
314
|
+
|----------|-----------|-------|---------|
|
|
315
|
+
| `none` | Skip — log "E2E skipped" | — | — |
|
|
316
|
+
| `cli` | `{e2e.test_dir}/cli/test_{STORY_ID}_cli.py` | pytest + subprocess | pytest `tmp_path` fixture (auto) |
|
|
317
|
+
| `frontend` | `{e2e.test_dir}/browser/test_{STORY_ID}_browser.py` | Playwright + MSW mock from `e2e.api_spec` | MSW in-memory interceptors (auto) |
|
|
318
|
+
| `backend` | `{e2e.test_dir}/api/test_{STORY_ID}_api.py` | pytest + httpx, contract via `e2e.api_spec` | transaction rollback via fixtures |
|
|
319
|
+
| `fullstack` | `{e2e.test_dir}/browser/test_{STORY_ID}_full.py` | docker-compose up + Playwright | `docker-compose down -v` |
|
|
309
320
|
|
|
310
|
-
|
|
311
|
-
* **
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
* **Chrome DevTools MCP (Conditional)**: IF Chrome DevTools MCP is available, use it for performance tracing and runtime diagnostics.
|
|
321
|
+
* **Playwright MCP**: IF available, use for browser verification (frontend/fullstack).
|
|
322
|
+
* **Chrome DevTools MCP**: IF available, use for performance tracing.
|
|
323
|
+
* **`e2e.env_file`** (default `.env.test`): Load test credentials (API tokens, DB strings) from this file before running E2E. If file missing, WARN but continue.
|
|
324
|
+
* **`e2e.blocking`** (default `false`): If `false`, E2E failures → WARN. If `true`, E2E failures → FAIL (blocks `/project-done`).
|
|
315
325
|
|
|
316
326
|
## Phase 5: The Verdict
|
|
317
|
-
1. **Run
|
|
318
|
-
2. **Run
|
|
327
|
+
1. **Run Unit (Incremental)**: Run `pactkit test-map <changed-files>` to map source files to test files. Run only mapped tests. Fallback to full suite if no mapping.
|
|
328
|
+
2. **Run E2E**: If `e2e.type` is not `none`, execute the E2E test file created in Phase 4.
|
|
319
329
|
3. **Report**: Output structured verdict:
|
|
320
330
|
|
|
321
331
|
```
|