pactkit 2.2.0__tar.gz → 2.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pactkit-2.2.0 → pactkit-2.3.0}/CHANGELOG.md +22 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/PKG-INFO +63 -13
- {pactkit-2.2.0 → pactkit-2.3.0}/README.md +62 -12
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-017.md +1 -1
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-029.md +1 -1
- pactkit-2.3.0/docs/specs/BUG-slim-002.md +115 -0
- pactkit-2.3.0/docs/specs/BUG-slim-003.md +125 -0
- pactkit-2.3.0/docs/specs/BUG-slim-004.md +103 -0
- pactkit-2.3.0/docs/specs/BUG-slim-005.md +100 -0
- pactkit-2.3.0/docs/specs/BUG-slim-006.md +110 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/pyproject.toml +1 -1
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/__init__.py +1 -1
- pactkit-2.3.0/src/pactkit/backfill.py +72 -0
- pactkit-2.3.0/src/pactkit/cleaners.py +84 -0
- pactkit-2.3.0/src/pactkit/cli.py +590 -0
- pactkit-2.3.0/src/pactkit/context_gen.py +235 -0
- pactkit-2.3.0/src/pactkit/coverage_gate.py +115 -0
- pactkit-2.3.0/src/pactkit/doctor.py +183 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/generators/deployer.py +3 -1
- pactkit-2.3.0/src/pactkit/guards.py +67 -0
- pactkit-2.3.0/src/pactkit/id_generator.py +37 -0
- pactkit-2.3.0/src/pactkit/invariants.py +36 -0
- pactkit-2.3.0/src/pactkit/issue_sync.py +154 -0
- pactkit-2.3.0/src/pactkit/lazy_visualize.py +106 -0
- pactkit-2.3.0/src/pactkit/lessons.py +80 -0
- pactkit-2.3.0/src/pactkit/lint_runner.py +91 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/commands.py +106 -145
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/rules.py +11 -11
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/skills.py +76 -51
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/workflows.py +27 -29
- pactkit-2.3.0/src/pactkit/regression.py +74 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/schemas.py +16 -0
- pactkit-2.3.0/src/pactkit/sec_scope.py +225 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/scaffold.py +1 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/spec_linter.py +9 -0
- pactkit-2.3.0/src/pactkit/spec_status.py +50 -0
- pactkit-2.3.0/src/pactkit/test_mapper.py +60 -0
- pactkit-2.3.0/src/pactkit/validators.py +132 -0
- pactkit-2.3.0/tests/unit/test_bug_slim002_instruction_collision.py +169 -0
- pactkit-2.3.0/tests/unit/test_bug_slim003.py +238 -0
- pactkit-2.3.0/tests/unit/test_bug_slim004.py +152 -0
- pactkit-2.3.0/tests/unit/test_bug_slim005.py +111 -0
- pactkit-2.3.0/tests/unit/test_bug_slim006.py +215 -0
- pactkit-2.3.0/tests/unit/test_cross_flow_matrix.py +104 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_lang_profiles.py +9 -21
- pactkit-2.3.0/tests/unit/test_prompt_cli_refs.py +82 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_smart_regression.py +2 -1
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story050_doc_only_shortcut.py +2 -2
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story057_implicit_cleanup.py +4 -3
- pactkit-2.3.0/tests/unit/test_story_slim014_clean.py +89 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_context.py +228 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_guard.py +69 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_lazy_viz.py +228 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_next_id.py +82 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_regression.py +120 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_sec_scope.py +288 -0
- pactkit-2.3.0/tests/unit/test_story_slim014_validators.py +266 -0
- pactkit-2.3.0/tests/unit/test_story_slim015_doctor.py +403 -0
- pactkit-2.3.0/tests/unit/test_story_slim016_testmap_lint.py +197 -0
- pactkit-2.3.0/tests/unit/test_story_slim017.py +234 -0
- pactkit-2.3.0/tests/unit/test_story_slim018.py +136 -0
- pactkit-2.2.0/src/pactkit/cli.py +0 -237
- {pactkit-2.2.0 → pactkit-2.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.github/dependabot.yml +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.github/workflows/ci.yml +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.github/workflows/pactkit.yml +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.gitignore +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/.gitignore +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/bun.lock +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/memory/.gitignore +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/memory/project.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/@opencode-ai/plugin/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/@opencode-ai/sdk/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/LICENSE +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/README.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/locales/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/mini/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/locales/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/mini/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/ZodError.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/object.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/string.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/benchmarks/union.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/errors.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/external.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/helpers/util.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/locales/en.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/standard-schema.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/Mocker.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/array.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/base.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/bigint.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/branded.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/catch.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/coerce.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/complex.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/custom.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/date.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/default.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/description.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/enum.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/error.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/function.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/generics.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/intersection.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/language-server.source.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/language-server.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/literal.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/map.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/masking.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/mocker.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nan.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/nullable.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/number.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/object.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/optional.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/parser.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/partials.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/primitive.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/promise.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/readonly.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/record.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/recursive.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/refine.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/set.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/string.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/transformer.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/tuple.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/unions.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/validations.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/tests/void.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v3/types.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/checks.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/coerce.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/compat.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/errors.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/external.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/iso.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/parse.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/schemas.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/api.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/checks.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/config.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/core.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/doc.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/errors.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/json-schema.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/parse.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/regexes.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/registries.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/schemas.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/standard-schema.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/index.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/to-json-schema.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/util.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/versions.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/core/zsf.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ar.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/az.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/be.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/bg.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ca.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/cs.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/da.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/de.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/en.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/eo.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/es.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fa.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fi.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fr-CA.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/fr.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/he.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/hu.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/id.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/is.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/it.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ja.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ka.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/kh.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/km.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ko.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/lt.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/mk.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ms.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/nl.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/no.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ota.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/pl.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ps.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/pt.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ru.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/sl.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/sv.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ta.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/th.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/tr.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ua.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/uk.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/ur.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/vi.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/yo.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/zh-CN.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/locales/zh-TW.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/checks.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/coerce.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/external.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/iso.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/parse.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/schemas.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/src/v4-mini/index.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/ZodError.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/errors.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/external.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/enumUtil.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/errorUtil.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/parseUtil.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/partialUtil.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/typeAliases.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/helpers/util.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/locales/en.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/standard-schema.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v3/types.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/checks.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/coerce.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/compat.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/errors.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/external.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/iso.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/parse.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/classic/schemas.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/api.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/checks.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/core.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/doc.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/errors.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/json-schema.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/parse.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/regexes.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/registries.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/schemas.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/standard-schema.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/to-json-schema.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/util.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/core/versions.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ar.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/az.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/be.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/bg.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ca.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/cs.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/da.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/de.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/en.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/eo.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/es.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fa.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fi.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr-CA.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/fr.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/he.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/hu.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/id.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/is.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/it.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ja.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ka.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/kh.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/km.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ko.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/lt.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/mk.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ms.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/nl.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/no.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ota.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pl.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ps.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/pt.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ru.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sl.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/sv.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ta.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/th.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/tr.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ua.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/uk.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/ur.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/vi.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/yo.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-CN.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/locales/zh-TW.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/checks.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/coerce.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/external.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/iso.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/parse.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/mini/schemas.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.cjs +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.d.cts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.d.ts +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/index.js +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/node_modules/zod/v4-mini/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/package.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/.opencode/pactkit.yaml +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/AGENTS.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/CODE_OF_CONDUCT.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/CONTRIBUTING.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/LICENSE +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/SECURITY.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/assets/logo.png +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/guides/codex-integration-preresearch.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/guides/tool-integration-checklist.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-001.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-002.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-003.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-004.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-005.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-006.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-007.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-008.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-009.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-010.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-011.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-012.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-013.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-014.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-015.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-016.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-018.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-019.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-020.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-021.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-022.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-023.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-024.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-025.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-026.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-027.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-028.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-030.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-031.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-032.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-033.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-034.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-035.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/specs/BUG-slim-001.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/test_cases/BUG-001_case.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/docs/test_cases/BUG-002_case.md +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/opencode.json +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/config.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/generators/__init__.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/generators/adapter.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/profiles.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/__init__.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/agents.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/prompts/references.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/scripts.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/__init__.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/board.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/skills/visualize.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/src/pactkit/utils.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/conftest.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/e2e/__init__.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/e2e/cli/__init__.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/e2e/cli/test_cli_e2e.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/integration/__init__.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/integration/test_deploy_classic.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_agent_features.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_agent_frontmatter.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_agents_enrichment.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_board_bug027.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_board_sections.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug001_skill_path.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug002_plugin_paths.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug003_multi_import.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug004_dead_set.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug005_archive_taskless.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug006_scan_excludes.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug007_stale_trace_refs.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug008_stale_command_refs.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug009_project_config_backfill.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug010_rewrite_yaml.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug011_stale_refs.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug012_call_graph_filter.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug013_config_single_source.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug014_version_hygiene.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug017_project_init_playbook.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug018_issue_tracker_verification.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug019_venv_deployment.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug020_claude_md_backup.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug025_release_delegation.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug026_version_sync.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug028_ghost_refs.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug029_stack_detection_fallback.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug030_spec_lint_cli.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug031_docstring_accuracy.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug034_plan_metadata_template.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug035_opencode_dual_layer.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_021.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_022.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_023.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_024.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_bug_slim001_env_detection.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_check_command.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_command_frontmatter.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_command_visualize_modes.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_config.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_config_auto_merge.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_constitution_sharpening.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_create_skill.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_deploy_opencode_parity.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_deployer_cleanup.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_deployer_plugin.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_design_command.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_done_gates.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_draw_prompt.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_draw_references.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_drawio_mcp.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_home_path_fix.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_hotfix_command.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_init_guard.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_list_stories.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_mcp_integration.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_model_config.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_modular_constitution.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_multi_prefix.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_pdca_slim.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_profiles.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_project_visibility.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_prompt_structural_invariants.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_prompts_package.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_release.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_release_field.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_release_v110.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_render_prompt.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_review_command.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_rules_enrichment.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_scaffold.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_scaffold_developer_prefix.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_schemas.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_script_extraction.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_selective_deploy.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_session_context.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_skill_structure.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_skills_enrichment.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_sprint_command.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_stack_references.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_status_command.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_statusline.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story014_release.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story015_ci_lint_gate.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story016_claude_md.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story017_init_claude_md.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story018_arch_staleness.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story019_bailout.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story020_horizon.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story021_rfc.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story022_decision_tree.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story023_test_quality.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story024_native_agent.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story025_ci_pipeline.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story026_issue_tracker.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story027_hooks.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story028_rule_scoping.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story029_doctor.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story030_lint.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story031_git_init_guard.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story032_greenfield_redirect.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story033_config_backfill.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story034_plan_config_refresh.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story035_readme_docs.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story037_regression_fix.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story038_call_graph_update.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story039_venv_config.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story040_layered_claude_md.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story042_spec_linter.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story043_active_clarify.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story044_consistency_check.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story045_auto_pr.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story046_agent_adapter.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story047_enterprise_flags.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story048_worktree_isolation.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story049_community_standards.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story051_workflow_streamlining.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story052_conditional_github_release.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story053_impact_regression.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story055_commands.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story055_config.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story055_spec_linter.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story056_commands.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story056_config.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story058_routing_fix.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story060_init_hang.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story061_remove_thinking.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story062_mcp_recommendations.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story063_prompt_slimming.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story064_venv_local_md.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story065_sprint_model.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story069_opencode_format.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story070_opencode_compliance.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story071_opencode_config_parity.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story072_developer_prefix.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story073_command_model_routing.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story_slim009_lazy_rules.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story_slim010_dry_refactor.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story_slim011_command_rules.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_story_slim012_ci.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_tools.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_update_task.py +0 -0
- {pactkit-2.2.0 → pactkit-2.3.0}/tests/unit/test_visualize_modes.py +0 -0
|
@@ -4,6 +4,28 @@ All notable changes to PactKit will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
6
6
|
|
|
7
|
+
## [2.3.0] - 2026-03-22
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **Deterministic CLI Subcommands** (STORY-slim-014) — Migrated 7 Done-phase operations from prompt-delegated to Python CLI: `clean`, `regression`, `context`, `sec-scope`, `guard`, `next-id`, `visualize --lazy`.
|
|
11
|
+
- **Doctor, Backfill-Release, Issue-Sync CLI** (STORY-slim-015) — `pactkit doctor` diagnoses project health (HLD drift, board structure, config completeness). `pactkit backfill-release` replaces `Release: TBD` in completed specs. `pactkit issue-sync` handles GitHub issue lifecycle for BUG/HOTFIX items.
|
|
12
|
+
- **Test-Map and Lint CLI** (STORY-slim-016) — `pactkit test-map` maps changed source files to test files via `LANG_PROFILES.test_map_pattern`. `pactkit lint` runs stack-aware lint with auto-fix and blocking modes from `pactkit.yaml`.
|
|
13
|
+
- **Lesson-Append, Invariants-Refresh, Coverage-Gate CLI** (STORY-slim-017) — `pactkit lesson-append` checks specificity (file/function reference) and dedup (Jaccard < 0.5) before appending. `pactkit invariants-refresh` updates test count invariant. `pactkit coverage-gate` enforces 3-tier coverage thresholds (80/50/block).
|
|
14
|
+
- **Systemic Cross-Flow Guards** (STORY-slim-018) — 4 guard test suites: R1 prompt-CLI cross-reference validation, R2 canonical `LANG_PROFILE_REQUIRED_KEYS` SSoT in `schemas.py`, R3 Spec Status lifecycle (`spec-status` CLI + W006 lint rule), R4 declarative cross-flow coverage matrix (12 subcommands × prompt keys).
|
|
15
|
+
- **Spec Status CLI** — `pactkit spec-status <spec> <status>` programmatically updates `| Status |` field in spec files. W006 lint rule flags invalid status values.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- **Cross-Flow Integrity** (BUG-slim-003 through BUG-slim-006) — 4 rounds of systematic audits fixed 25+ gaps: dead CLI subcommands with zero prompt references, argparser flags without `deploy()` parity, `visualize --lazy` not calling actual function, double `python3` prefix in HOTFIX_PROMPT, unused LANG_PROFILES keys removed.
|
|
19
|
+
- **SSoT Violations** — `backfill.py` imports `BOARD_SECTION_DONE` from schemas (was hardcoded regex). `lessons.py` uses `LESSONS_ROW_FORMAT` from schemas. 5 test files import `LANG_PROFILE_REQUIRED_KEYS` instead of hardcoding key sets.
|
|
20
|
+
- **Prompt Cognitive Overload** (STORY-slim-013) — Reduced redundancy across PDCA command prompts.
|
|
21
|
+
- **Rules-Commands Collision** (BUG-slim-002) — Resolved instruction conflicts between rules and command playbooks.
|
|
22
|
+
- **Draw Skill Stuck** — Added concrete templates to `pactkit-draw` to prevent empty-output behavior.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- `SPEC_VALID_STATUSES` and `LANG_PROFILE_REQUIRED_KEYS` canonicalized in `schemas.py` as single source of truth.
|
|
26
|
+
- Sprint board required sections enforced: `## 📋 Backlog`, `## 🔄 In Progress`, `## ✅ Done`.
|
|
27
|
+
- BUG-017/BUG-029 spec Status fields corrected to valid values per `SPEC_VALID_STATUSES`.
|
|
28
|
+
|
|
7
29
|
## [2.2.0] - 2026-03-20
|
|
8
30
|
|
|
9
31
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pactkit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: Spec-driven agentic DevOps toolkit for AI coding assistants
|
|
5
5
|
Project-URL: Homepage, https://pactkit.dev
|
|
6
6
|
Project-URL: Repository, https://github.com/pactkit/pactkit
|
|
@@ -35,9 +35,11 @@ Description-Content-Type: text/markdown
|
|
|
35
35
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT" /></a>
|
|
36
36
|
</p>
|
|
37
37
|
|
|
38
|
-
<p align="center"><strong>
|
|
38
|
+
<p align="center"><strong>CODE is the Law. Data is the Truth. Prompt is ONLY instruction. AI is ONLY creativity.</strong></p>
|
|
39
39
|
|
|
40
|
-
> PactKit
|
|
40
|
+
> **PactKit** (Pact 契约 + Kit) is a governance framework that enforces the **P.A.C.T.** contract between humans and AI agents. Deterministic operations run as code, not prompts. Decisions are grounded in data, not memory. AI does what it's best at — creativity and language — while code handles everything that must be repeatable and correct.
|
|
41
|
+
>
|
|
42
|
+
> 25 CLI subcommands, 9 specialized agents, 11 commands, 10 skills, and a full Plan-Act-Check-Done lifecycle. One `pip install` and your AI assistant follows the contract.
|
|
41
43
|
|
|
42
44
|
### Supported AI Tools
|
|
43
45
|
|
|
@@ -57,15 +59,31 @@ You: /project-sprint "Add OAuth2 login"
|
|
|
57
59
|
Done Repo Maintainer gates regression, archives story, commits
|
|
58
60
|
```
|
|
59
61
|
|
|
60
|
-
##
|
|
62
|
+
## The P.A.C.T. Governance Contract
|
|
63
|
+
|
|
64
|
+
The name says it all — **Pact** means covenant. These four principles define the boundary between human intent and AI execution:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
P Prompt is ONLY instruction Tells AI how to act — defines process, never state
|
|
68
|
+
A AI is ONLY creativity Formatting, summarization, language — never deterministic logic
|
|
69
|
+
C Code is the Law Sole executor of deterministic operations — no bypass, no approximation
|
|
70
|
+
T Truth Data is the Truth Factual basis for all judgment — no memory, no inference, no fabrication
|
|
71
|
+
```
|
|
61
72
|
|
|
62
|
-
|
|
73
|
+
- If a script exists → **use it**. Never reimplement in natural language. (C)
|
|
74
|
+
- If data is available → **read it**. Never guess or recall from memory. (T)
|
|
75
|
+
- Prompts define HOW, never WHAT. Current state comes from data, not docs. (P)
|
|
76
|
+
- AI formats, summarizes, and creates. AI does not parse, compute, or fabricate. (A)
|
|
63
77
|
|
|
64
|
-
|
|
65
|
-
|
|
78
|
+
> Read the full philosophy: [docs/architecture/governance/philosophy.md](docs/architecture/governance/philosophy.md)
|
|
79
|
+
|
|
80
|
+
## Why PactKit?
|
|
81
|
+
|
|
82
|
+
- **P.A.C.T. Governance** — A contract between humans and AI agents, with clear boundaries
|
|
83
|
+
- **Multi-Agent Ensemble** — 9 specialized agents collaborate, each with constrained tools
|
|
66
84
|
- **Full PDCA Lifecycle** — Plan -> Act -> Check -> Done, with quality gates at every stage
|
|
67
|
-
- **Safe by Design** — TDD-first
|
|
68
|
-
- **Multi-Tool Support** — Works with Claude Code and OpenCode
|
|
85
|
+
- **Safe by Design** — TDD-first, safe regression, pre-existing test protection
|
|
86
|
+
- **Multi-Tool Support** — Works with Claude Code and OpenCode
|
|
69
87
|
|
|
70
88
|
## Installation
|
|
71
89
|
|
|
@@ -206,6 +224,38 @@ PactKit deploys 10 skills (3 scripted + 7 prompt-only), auto-invoked by commands
|
|
|
206
224
|
| **pactkit-review** | Prompt-only | PR code review with SOLID/Security/Quality checklists |
|
|
207
225
|
| **pactkit-release** | Prompt-only | Version bump, architecture snapshot, git tag |
|
|
208
226
|
|
|
227
|
+
## CLI Subcommands
|
|
228
|
+
|
|
229
|
+
PactKit ships 25 deterministic CLI subcommands — operations that were previously delegated to AI prompts are now enforced in Python code (the "C" in P.A.C.T.):
|
|
230
|
+
|
|
231
|
+
| Command | Purpose |
|
|
232
|
+
|---------|---------|
|
|
233
|
+
| `pactkit init` | Deploy toolkit to AI coding assistant |
|
|
234
|
+
| `pactkit update` | Update playbooks (preserves config) |
|
|
235
|
+
| `pactkit upgrade` | Upgrade with format selection |
|
|
236
|
+
| `pactkit version` | Show installed version |
|
|
237
|
+
| `pactkit schema` | Print document schemas |
|
|
238
|
+
| `pactkit doctor` | Diagnose project health (HLD drift, board, config) |
|
|
239
|
+
| `pactkit spec-lint` | Validate spec structure (14 rules: E001-E008, W001-W006) |
|
|
240
|
+
| `pactkit spec-status` | Update spec Status field (Draft/In Progress/Done) |
|
|
241
|
+
| `pactkit guard` | Check project init markers |
|
|
242
|
+
| `pactkit next-id` | Generate next Story/Bug ID |
|
|
243
|
+
| `pactkit context` | Generate `context.md` from project state |
|
|
244
|
+
| `pactkit clean` | Remove stack-specific temp artifacts |
|
|
245
|
+
| `pactkit lint` | Stack-aware lint with auto-fix and blocking modes |
|
|
246
|
+
| `pactkit regression` | Classify changes (SKIP/FULL/IMPACT) |
|
|
247
|
+
| `pactkit test-map` | Map source files to test files |
|
|
248
|
+
| `pactkit coverage-gate` | Enforce 3-tier coverage thresholds (80/50/block) |
|
|
249
|
+
| `pactkit visualize` | Conditional graph regeneration (lazy mode) |
|
|
250
|
+
| `pactkit lesson-append` | Append lesson with specificity check and dedup |
|
|
251
|
+
| `pactkit invariants-refresh` | Update test count invariant in rules.md |
|
|
252
|
+
| `pactkit sec-scope` | Detect security scope for changed files |
|
|
253
|
+
| `pactkit backfill-release` | Replace Release: TBD in completed specs |
|
|
254
|
+
| `pactkit issue-sync` | GitHub issue lifecycle for BUG/HOTFIX items |
|
|
255
|
+
| `pactkit lint-context` | Validate context.md structure |
|
|
256
|
+
| `pactkit lint-lessons` | Validate lessons.md structure |
|
|
257
|
+
| `pactkit lint-testcase` | Validate test case structure |
|
|
258
|
+
|
|
209
259
|
## Deployment Architecture
|
|
210
260
|
|
|
211
261
|
PactKit supports two deployment formats:
|
|
@@ -299,15 +349,15 @@ PactKit's safe regression system prevents agents from blindly modifying pre-exis
|
|
|
299
349
|
- **Regression Check** — Read-only gate; pre-existing test failure = STOP and report
|
|
300
350
|
- **Done Gate** — Full regression by default; incremental only when ALL safety conditions are met
|
|
301
351
|
|
|
302
|
-
## Hierarchy of Truth
|
|
352
|
+
## Hierarchy of Truth (the "T" in P.A.C.T.)
|
|
303
353
|
|
|
304
354
|
```
|
|
305
|
-
Tier 1: Specs & Test Cases <- The Law
|
|
306
|
-
Tier 2: Tests <- The Verification
|
|
355
|
+
Tier 1: Specs & Test Cases <- The Law (CODE is the Law)
|
|
356
|
+
Tier 2: Tests <- The Verification (DATA is the Truth)
|
|
307
357
|
Tier 3: Implementation <- The Mutable Reality
|
|
308
358
|
```
|
|
309
359
|
|
|
310
|
-
When conflicts arise: Spec wins. Always.
|
|
360
|
+
When conflicts arise: Spec wins. Always. The agent modifies code, never the spec.
|
|
311
361
|
|
|
312
362
|
## MCP Integration
|
|
313
363
|
|
|
@@ -9,9 +9,11 @@
|
|
|
9
9
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT" /></a>
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
|
-
<p align="center"><strong>
|
|
12
|
+
<p align="center"><strong>CODE is the Law. Data is the Truth. Prompt is ONLY instruction. AI is ONLY creativity.</strong></p>
|
|
13
13
|
|
|
14
|
-
> PactKit
|
|
14
|
+
> **PactKit** (Pact 契约 + Kit) is a governance framework that enforces the **P.A.C.T.** contract between humans and AI agents. Deterministic operations run as code, not prompts. Decisions are grounded in data, not memory. AI does what it's best at — creativity and language — while code handles everything that must be repeatable and correct.
|
|
15
|
+
>
|
|
16
|
+
> 25 CLI subcommands, 9 specialized agents, 11 commands, 10 skills, and a full Plan-Act-Check-Done lifecycle. One `pip install` and your AI assistant follows the contract.
|
|
15
17
|
|
|
16
18
|
### Supported AI Tools
|
|
17
19
|
|
|
@@ -31,15 +33,31 @@ You: /project-sprint "Add OAuth2 login"
|
|
|
31
33
|
Done Repo Maintainer gates regression, archives story, commits
|
|
32
34
|
```
|
|
33
35
|
|
|
34
|
-
##
|
|
36
|
+
## The P.A.C.T. Governance Contract
|
|
37
|
+
|
|
38
|
+
The name says it all — **Pact** means covenant. These four principles define the boundary between human intent and AI execution:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
P Prompt is ONLY instruction Tells AI how to act — defines process, never state
|
|
42
|
+
A AI is ONLY creativity Formatting, summarization, language — never deterministic logic
|
|
43
|
+
C Code is the Law Sole executor of deterministic operations — no bypass, no approximation
|
|
44
|
+
T Truth Data is the Truth Factual basis for all judgment — no memory, no inference, no fabrication
|
|
45
|
+
```
|
|
35
46
|
|
|
36
|
-
|
|
47
|
+
- If a script exists → **use it**. Never reimplement in natural language. (C)
|
|
48
|
+
- If data is available → **read it**. Never guess or recall from memory. (T)
|
|
49
|
+
- Prompts define HOW, never WHAT. Current state comes from data, not docs. (P)
|
|
50
|
+
- AI formats, summarizes, and creates. AI does not parse, compute, or fabricate. (A)
|
|
37
51
|
|
|
38
|
-
|
|
39
|
-
|
|
52
|
+
> Read the full philosophy: [docs/architecture/governance/philosophy.md](docs/architecture/governance/philosophy.md)
|
|
53
|
+
|
|
54
|
+
## Why PactKit?
|
|
55
|
+
|
|
56
|
+
- **P.A.C.T. Governance** — A contract between humans and AI agents, with clear boundaries
|
|
57
|
+
- **Multi-Agent Ensemble** — 9 specialized agents collaborate, each with constrained tools
|
|
40
58
|
- **Full PDCA Lifecycle** — Plan -> Act -> Check -> Done, with quality gates at every stage
|
|
41
|
-
- **Safe by Design** — TDD-first
|
|
42
|
-
- **Multi-Tool Support** — Works with Claude Code and OpenCode
|
|
59
|
+
- **Safe by Design** — TDD-first, safe regression, pre-existing test protection
|
|
60
|
+
- **Multi-Tool Support** — Works with Claude Code and OpenCode
|
|
43
61
|
|
|
44
62
|
## Installation
|
|
45
63
|
|
|
@@ -180,6 +198,38 @@ PactKit deploys 10 skills (3 scripted + 7 prompt-only), auto-invoked by commands
|
|
|
180
198
|
| **pactkit-review** | Prompt-only | PR code review with SOLID/Security/Quality checklists |
|
|
181
199
|
| **pactkit-release** | Prompt-only | Version bump, architecture snapshot, git tag |
|
|
182
200
|
|
|
201
|
+
## CLI Subcommands
|
|
202
|
+
|
|
203
|
+
PactKit ships 25 deterministic CLI subcommands — operations that were previously delegated to AI prompts are now enforced in Python code (the "C" in P.A.C.T.):
|
|
204
|
+
|
|
205
|
+
| Command | Purpose |
|
|
206
|
+
|---------|---------|
|
|
207
|
+
| `pactkit init` | Deploy toolkit to AI coding assistant |
|
|
208
|
+
| `pactkit update` | Update playbooks (preserves config) |
|
|
209
|
+
| `pactkit upgrade` | Upgrade with format selection |
|
|
210
|
+
| `pactkit version` | Show installed version |
|
|
211
|
+
| `pactkit schema` | Print document schemas |
|
|
212
|
+
| `pactkit doctor` | Diagnose project health (HLD drift, board, config) |
|
|
213
|
+
| `pactkit spec-lint` | Validate spec structure (14 rules: E001-E008, W001-W006) |
|
|
214
|
+
| `pactkit spec-status` | Update spec Status field (Draft/In Progress/Done) |
|
|
215
|
+
| `pactkit guard` | Check project init markers |
|
|
216
|
+
| `pactkit next-id` | Generate next Story/Bug ID |
|
|
217
|
+
| `pactkit context` | Generate `context.md` from project state |
|
|
218
|
+
| `pactkit clean` | Remove stack-specific temp artifacts |
|
|
219
|
+
| `pactkit lint` | Stack-aware lint with auto-fix and blocking modes |
|
|
220
|
+
| `pactkit regression` | Classify changes (SKIP/FULL/IMPACT) |
|
|
221
|
+
| `pactkit test-map` | Map source files to test files |
|
|
222
|
+
| `pactkit coverage-gate` | Enforce 3-tier coverage thresholds (80/50/block) |
|
|
223
|
+
| `pactkit visualize` | Conditional graph regeneration (lazy mode) |
|
|
224
|
+
| `pactkit lesson-append` | Append lesson with specificity check and dedup |
|
|
225
|
+
| `pactkit invariants-refresh` | Update test count invariant in rules.md |
|
|
226
|
+
| `pactkit sec-scope` | Detect security scope for changed files |
|
|
227
|
+
| `pactkit backfill-release` | Replace Release: TBD in completed specs |
|
|
228
|
+
| `pactkit issue-sync` | GitHub issue lifecycle for BUG/HOTFIX items |
|
|
229
|
+
| `pactkit lint-context` | Validate context.md structure |
|
|
230
|
+
| `pactkit lint-lessons` | Validate lessons.md structure |
|
|
231
|
+
| `pactkit lint-testcase` | Validate test case structure |
|
|
232
|
+
|
|
183
233
|
## Deployment Architecture
|
|
184
234
|
|
|
185
235
|
PactKit supports two deployment formats:
|
|
@@ -273,15 +323,15 @@ PactKit's safe regression system prevents agents from blindly modifying pre-exis
|
|
|
273
323
|
- **Regression Check** — Read-only gate; pre-existing test failure = STOP and report
|
|
274
324
|
- **Done Gate** — Full regression by default; incremental only when ALL safety conditions are met
|
|
275
325
|
|
|
276
|
-
## Hierarchy of Truth
|
|
326
|
+
## Hierarchy of Truth (the "T" in P.A.C.T.)
|
|
277
327
|
|
|
278
328
|
```
|
|
279
|
-
Tier 1: Specs & Test Cases <- The Law
|
|
280
|
-
Tier 2: Tests <- The Verification
|
|
329
|
+
Tier 1: Specs & Test Cases <- The Law (CODE is the Law)
|
|
330
|
+
Tier 2: Tests <- The Verification (DATA is the Truth)
|
|
281
331
|
Tier 3: Implementation <- The Mutable Reality
|
|
282
332
|
```
|
|
283
333
|
|
|
284
|
-
When conflicts arise: Spec wins. Always.
|
|
334
|
+
When conflicts arise: Spec wins. Always. The agent modifies code, never the spec.
|
|
285
335
|
|
|
286
336
|
## MCP Integration
|
|
287
337
|
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# BUG-slim-002: Rules-Commands Instruction Collision Causes Plan/Act Stall
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
|-------|-------|
|
|
5
|
+
| ID | BUG-slim-002 |
|
|
6
|
+
| Status | Draft |
|
|
7
|
+
| Priority | P1 |
|
|
8
|
+
| Release | 2.2.0 |
|
|
9
|
+
|
|
10
|
+
## Background
|
|
11
|
+
|
|
12
|
+
When running `/project-plan` or `/project-act`, the AI agent frequently stalls (long thinking time, repeated actions, or apparent hang). Root cause analysis reveals that the global Rules (`01-core-protocol`, `02-hierarchy-of-truth`) contain instructions that **duplicate or conflict with** the phase-ordered instructions inside Command playbooks. The AI attempts to satisfy both layers simultaneously, resulting in repeated execution (e.g., `visualize` triggered up to 5 times per Story cycle), logical deadlocks (Rule 02 demands "read Spec before modifying code" but Plan is creating the Spec), and cascading sub-flows (Init Guard auto-triggers a full 7-phase `/project-init`).
|
|
13
|
+
|
|
14
|
+
## Root Cause Analysis
|
|
15
|
+
|
|
16
|
+
| ID | Problem | Source | Impact |
|
|
17
|
+
|----|---------|--------|--------|
|
|
18
|
+
| RC-1 | Rule 01 "Visual First" triggers `visualize` (3 modes) independently of Command-internal visualize phases | `rules.py` RULES_MODULES["core"] | 2-3x redundant visualize runs per command |
|
|
19
|
+
| RC-2 | Rule 02 "Operating Guidelines" requires reading Spec before code modification, but Plan is creating the Spec (does not exist yet) | `rules.py` RULES_MODULES["hierarchy"] | Logical deadlock / wasted search for nonexistent file |
|
|
20
|
+
| RC-3 | Plan Phase 0.5 Init Guard auto-executes full `/project-init` (7 phases) when any marker is missing | `commands.py` COMMANDS_CONTENT["project-plan.md"] | Cascading 7-phase sub-flow mid-Plan |
|
|
21
|
+
| RC-4 | Plan Phase 0.7 Clarify Gate auto-triggers on 2 High signals without escape hatch | `commands.py` COMMANDS_CONTENT["project-plan.md"] | Implicit blocking wait for user input |
|
|
22
|
+
| RC-5 | Act Phase 0.6 Consistency Check does full Spec/Board/TestCase cross-reference before any code is written | `commands.py` COMMANDS_CONTENT["project-act.md"] | Heavy text parsing phase that adds latency |
|
|
23
|
+
| RC-6 | Act runs visualize 3 separate times: Phase 1 (trace), Phase 4 (Lazy Visualize), plus Rule 01 (Visual First) | Multiple sources | 3x redundant visualize in Act alone |
|
|
24
|
+
|
|
25
|
+
## Target Call Chain
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
User invokes /project-plan or /project-act
|
|
29
|
+
-> Claude Code loads CLAUDE.md (@import all 8 rules)
|
|
30
|
+
-> Rule 01 "Visual First" fires (visualize x3 modes)
|
|
31
|
+
-> Rule 02 "Operating Guidelines" fires (search for Spec)
|
|
32
|
+
-> Command playbook executes
|
|
33
|
+
-> Phase 0.5 Init Guard (may cascade to /project-init x7 phases)
|
|
34
|
+
-> Phase 0.7 Clarify Gate (may block on user input)
|
|
35
|
+
-> Phase 1 Archaeology/Trace (visualize again)
|
|
36
|
+
-> [Act only] Phase 0.6 Consistency Check (heavy parsing)
|
|
37
|
+
-> [Act only] Phase 4 Lazy Visualize (visualize again)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Requirements
|
|
41
|
+
|
|
42
|
+
### R1: PDCA Command Exemption for Visual First
|
|
43
|
+
Rule 01 "Visual First" MUST include a PDCA exemption clause stating that when a PDCA command (`/project-plan`, `/project-act`, `/project-check`, `/project-done`, `/project-hotfix`, `/project-sprint`, `/project-design`, `/project-init`) is active, the command's own visualize phases take precedence and the global "Visual First" rule is suppressed.
|
|
44
|
+
|
|
45
|
+
### R2: Plan-Phase Exemption for Operating Guidelines
|
|
46
|
+
Rule 02 "Operating Guidelines" MUST include a clause exempting `/project-plan` and `/project-design` from the "read Spec before modifying code" requirement, since these commands create (not modify) Specs.
|
|
47
|
+
|
|
48
|
+
### R3: Init Guard Downgrade to Suggestion-and-Stop
|
|
49
|
+
Plan Phase 0.5 Init Guard MUST be changed from auto-executing `/project-init` to printing a warning message and STOPPING. The user can then manually run `/project-init` if needed.
|
|
50
|
+
|
|
51
|
+
### R4: Clarify Gate Threshold Increase
|
|
52
|
+
Plan Phase 0.7 Clarify Gate SHOULD raise the auto-trigger threshold: require 2 High + 1 Medium signal (instead of 2 High alone). Single-sentence input (< 15 words) SHOULD be downgraded from Medium to Low signal.
|
|
53
|
+
|
|
54
|
+
### R5: Act Consistency Check Simplification
|
|
55
|
+
Act Phase 0.6 Consistency Check SHOULD be simplified to a lightweight existence check (does Spec exist? does Board entry exist?) instead of full cross-reference parsing. The detailed Spec-Board-TestCase alignment analysis SHOULD be deferred to `/project-check`.
|
|
56
|
+
|
|
57
|
+
### R6: Act Visualize Deduplication
|
|
58
|
+
Act Phase 1 MUST NOT run `visualize` if Phase 4 Lazy Visualize will run it anyway. Phase 1 SHOULD only run `visualize --focus <module>` (single targeted mode), not the full 3-mode scan. The full 3-mode scan remains in Phase 4 (post-implementation) via Lazy Visualize Protocol.
|
|
59
|
+
|
|
60
|
+
## Implementation Steps
|
|
61
|
+
|
|
62
|
+
| Step | File | Action | Dependencies | Risk |
|
|
63
|
+
|------|------|--------|--------------|------|
|
|
64
|
+
| 1 | `src/pactkit/prompts/rules.py` | Add PDCA exemption to "Visual First" in RULES_MODULES["core"] (R1) | None | Low |
|
|
65
|
+
| 2 | `src/pactkit/prompts/rules.py` | Add Plan/Design exemption to "Operating Guidelines" in RULES_MODULES["hierarchy"] (R2) | None | Low |
|
|
66
|
+
| 3 | `src/pactkit/prompts/commands.py` | Rewrite Plan Phase 0.5 Init Guard: warn + STOP instead of auto-execute (R3) | None | Low |
|
|
67
|
+
| 4 | `src/pactkit/prompts/commands.py` | Adjust Clarify Gate threshold in Plan Phase 0.7 (R4) | None | Low |
|
|
68
|
+
| 5 | `src/pactkit/prompts/commands.py` | Simplify Act Phase 0.6 to lightweight existence check (R5) | None | Low |
|
|
69
|
+
| 6 | `src/pactkit/prompts/commands.py` | Deduplicate Act visualize: Phase 1 focus-only, Phase 4 full Lazy Visualize (R6) | None | Low |
|
|
70
|
+
| 7 | `tests/` | Add/update tests to verify prompt content changes | Steps 1-6 | Low |
|
|
71
|
+
|
|
72
|
+
## Acceptance Criteria
|
|
73
|
+
|
|
74
|
+
### AC1: Visual First PDCA Exemption
|
|
75
|
+
Given Rule 01 "Visual First" is deployed
|
|
76
|
+
When a PDCA command (e.g., `/project-act`) is active
|
|
77
|
+
Then the rule text includes a PDCA exemption clause and does not independently trigger visualize
|
|
78
|
+
|
|
79
|
+
### AC2: Plan-Phase Spec Read Exemption
|
|
80
|
+
Given Rule 02 "Operating Guidelines" is deployed
|
|
81
|
+
When `/project-plan` or `/project-design` is active
|
|
82
|
+
Then the rule text exempts these commands from "read Spec before modifying code"
|
|
83
|
+
|
|
84
|
+
### AC3: Init Guard Warns Instead of Auto-Executing
|
|
85
|
+
Given Plan Phase 0.5 Init Guard detects a missing marker
|
|
86
|
+
When the guard evaluates
|
|
87
|
+
Then it prints a warning with the missing markers and STOPs, without auto-executing `/project-init`
|
|
88
|
+
|
|
89
|
+
### AC4: Clarify Gate Higher Threshold
|
|
90
|
+
Given Plan Phase 0.7 Clarify Gate is evaluating user input
|
|
91
|
+
When the input has exactly 2 High signals but 0 Medium signals
|
|
92
|
+
Then Clarify is suggested (not auto-triggered)
|
|
93
|
+
|
|
94
|
+
### AC5: Act Lightweight Consistency Check
|
|
95
|
+
Given Act Phase 0.6 is executing
|
|
96
|
+
When it checks Spec-Board alignment
|
|
97
|
+
Then it only verifies existence (Spec file exists, Board entry exists) without cross-reference parsing
|
|
98
|
+
|
|
99
|
+
### AC6: Act Visualize Runs Once Per Phase
|
|
100
|
+
Given Act Phase 1 and Phase 4 both reference visualize
|
|
101
|
+
When Act executes end-to-end
|
|
102
|
+
Then Phase 1 runs only `--focus <module>` (1 mode) and Phase 4 runs Lazy Visualize (conditional 3 modes), with no duplication from Rule 01
|
|
103
|
+
|
|
104
|
+
## Security Scope
|
|
105
|
+
|
|
106
|
+
| Check | Applicable | Reason |
|
|
107
|
+
|-------|------------|--------|
|
|
108
|
+
| SEC-1 | Yes | Python source files modified (rules.py, commands.py) |
|
|
109
|
+
| SEC-2 | No | No user input handling — prompt template changes only |
|
|
110
|
+
| SEC-3 | No | No database operations |
|
|
111
|
+
| SEC-4 | No | No frontend files |
|
|
112
|
+
| SEC-5 | No | No auth/session logic |
|
|
113
|
+
| SEC-6 | No | No API endpoints |
|
|
114
|
+
| SEC-7 | No | No error handling changes |
|
|
115
|
+
| SEC-8 | No | No dependency file changes |
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# BUG-slim-003: CLI Migration Gaps — Prompt Inconsistencies & Implementation Mismatches
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
|-------|-------|
|
|
5
|
+
| ID | BUG-slim-003 |
|
|
6
|
+
| Status | Draft |
|
|
7
|
+
| Priority | P1 |
|
|
8
|
+
| Release | 2.2.0 |
|
|
9
|
+
|
|
10
|
+
## Background
|
|
11
|
+
|
|
12
|
+
STORY-slim-014 migrated ~25 deterministic rules to Python CLI subcommands, but a post-migration audit revealed two categories of gaps:
|
|
13
|
+
|
|
14
|
+
1. **Prompt inconsistencies**: Three CLI commands (`pactkit next-id`, `pactkit sec-scope`, `pactkit context`) exist but are not called in all relevant command playbooks. Some commands still instruct the LLM to perform the same logic manually, creating divergent execution paths.
|
|
15
|
+
|
|
16
|
+
2. **Implementation mismatches**: Three modules have minor deviations from their canonical source or spec requirements.
|
|
17
|
+
|
|
18
|
+
### Current State
|
|
19
|
+
|
|
20
|
+
**Inconsistencies (CLI exists but prompt doesn't call it):**
|
|
21
|
+
- `pactkit next-id`: Called in `project-plan` Phase 3.1, but NOT in `project-sprint` Phase 0, `project-hotfix` Phase 0, or `project-design` Phase 3 — all three still instruct manual `docs/specs/` scanning
|
|
22
|
+
- `pactkit sec-scope`: Called in `project-check` Phase 0, but NOT in `project-plan` Phase 3.2 — Plan still asks the agent to manually apply the 8-row SEC detection table
|
|
23
|
+
- `pactkit context`: Called in `project-done` Phase 4.5, but NOT in `project-plan` Phase 3.3 or `project-init` Phase 6 — both still ask the agent to write context.md directly
|
|
24
|
+
|
|
25
|
+
**Implementation mismatches:**
|
|
26
|
+
- `cleaners.py`: Java cleanup list is `["target/", "*.class", "build/"]` but canonical `LANG_PROFILES["java"]["cleanup"]` is `["target/", "build/", ".gradle/"]` — `.gradle/` missing, `*.class` is an undocumented addition
|
|
27
|
+
- `guards.py`: Only checks `pactkit.yaml` file existence, not content completeness (R1 spec says "config completeness")
|
|
28
|
+
- `validators.py`: `lint_lessons()` checks table header/separator but does not validate row format against `LESSONS_ROW_FORMAT` (3-column structure)
|
|
29
|
+
|
|
30
|
+
## Target Call Chain
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
prompts/commands.py → PLAN_PROMPT / INIT_PROMPT → slimmed text referencing `pactkit next-id`, `pactkit sec-scope`, `pactkit context`
|
|
34
|
+
prompts/workflows.py → SPRINT_PROMPT / HOTFIX_PROMPT / DESIGN_PROMPT → slimmed text referencing `pactkit next-id`
|
|
35
|
+
src/pactkit/cleaners.py → _CLEANUP_PATTERNS["java"] → aligned with LANG_PROFILES
|
|
36
|
+
src/pactkit/guards.py → check_init_markers() → extended with config completeness
|
|
37
|
+
src/pactkit/validators.py → lint_lessons() → extended with row format check
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Requirements
|
|
41
|
+
|
|
42
|
+
### R1: Fix prompt inconsistencies — `pactkit next-id`
|
|
43
|
+
MUST replace manual `docs/specs/` scanning instructions with `pactkit next-id` calls in:
|
|
44
|
+
- `workflows.py` SPRINT_PROMPT Phase 0 (line ~349)
|
|
45
|
+
- `workflows.py` HOTFIX_PROMPT Phase 0 (line ~585)
|
|
46
|
+
- `workflows.py` DESIGN_PROMPT Phase 3 (line ~739)
|
|
47
|
+
|
|
48
|
+
### R2: Fix prompt inconsistency — `pactkit sec-scope`
|
|
49
|
+
MUST replace the manual SEC-1~SEC-8 detection table application in `commands.py` Plan Phase 3.2 with a call to `pactkit sec-scope <changed-files>`, keeping the detection rules table as reference documentation only.
|
|
50
|
+
|
|
51
|
+
### R3: Fix prompt inconsistency — `pactkit context`
|
|
52
|
+
MUST replace manual context.md writing instructions with `pactkit context` calls in:
|
|
53
|
+
- `commands.py` Plan Phase 3.3
|
|
54
|
+
- `commands.py` Init Phase 6 (if present)
|
|
55
|
+
|
|
56
|
+
### R4: Fix cleaners.py Java cleanup list
|
|
57
|
+
MUST align `_CLEANUP_PATTERNS["java"]` with canonical `LANG_PROFILES["java"]["cleanup"]`: `["target/", "build/", ".gradle/"]`. Remove `*.class`.
|
|
58
|
+
|
|
59
|
+
### R5: Extend guards.py config completeness check
|
|
60
|
+
SHOULD extend `check_init_markers()` to optionally verify that `pactkit.yaml` contains expected top-level sections (developer, stack, agents, commands, skills, rules). Return missing sections in the result.
|
|
61
|
+
|
|
62
|
+
### R6: Extend lint_lessons row format validation
|
|
63
|
+
SHOULD extend `lint_lessons()` to verify that data rows (lines starting with `|` after the separator) have exactly 3 pipe-delimited columns matching `LESSONS_ROW_FORMAT`.
|
|
64
|
+
|
|
65
|
+
## Implementation Steps
|
|
66
|
+
|
|
67
|
+
| Step | File | Action | Dependencies | Risk |
|
|
68
|
+
|------|------|--------|--------------|------|
|
|
69
|
+
| 1 | `src/pactkit/prompts/workflows.py` | Replace manual scan in SPRINT/HOTFIX/DESIGN with `pactkit next-id` | None | Low |
|
|
70
|
+
| 2 | `src/pactkit/prompts/commands.py` | Replace manual SEC table in Plan 3.2 with `pactkit sec-scope` | None | Low |
|
|
71
|
+
| 3 | `src/pactkit/prompts/commands.py` | Replace manual context write in Plan 3.3 and Init 6 with `pactkit context` | None | Low |
|
|
72
|
+
| 4 | `src/pactkit/cleaners.py` | Align Java cleanup list with LANG_PROFILES | None | Low |
|
|
73
|
+
| 5 | `src/pactkit/guards.py` | Add config completeness check | None | Low |
|
|
74
|
+
| 6 | `src/pactkit/validators.py` | Add LESSONS_ROW_FORMAT column validation | None | Low |
|
|
75
|
+
| 7 | Tests | TDD for Steps 4-6 code changes | Steps 4-6 | Low |
|
|
76
|
+
|
|
77
|
+
## Acceptance Criteria
|
|
78
|
+
|
|
79
|
+
### Scenario 1: Sprint/Hotfix/Design call pactkit next-id
|
|
80
|
+
- **Given** the SPRINT_PROMPT, HOTFIX_PROMPT, and DESIGN_PROMPT text
|
|
81
|
+
- **When** searching for "Scan `docs/specs/`" or "determine the next available number"
|
|
82
|
+
- **Then** those phrases are replaced with `pactkit next-id` invocations
|
|
83
|
+
|
|
84
|
+
### Scenario 2: Plan Phase 3.2 calls pactkit sec-scope
|
|
85
|
+
- **Given** the Plan command prompt text
|
|
86
|
+
- **When** searching Phase 3.2 Security Scope
|
|
87
|
+
- **Then** the text delegates to `pactkit sec-scope` rather than asking the agent to manually apply the detection table
|
|
88
|
+
|
|
89
|
+
### Scenario 3: Plan and Init call pactkit context
|
|
90
|
+
- **Given** the Plan Phase 3.3 and Init Phase 6 prompt text
|
|
91
|
+
- **When** searching for context.md generation
|
|
92
|
+
- **Then** both delegate to `pactkit context`
|
|
93
|
+
|
|
94
|
+
### Scenario 4: Java cleanup matches LANG_PROFILES
|
|
95
|
+
- **Given** `cleaners.py` `_CLEANUP_PATTERNS["java"]`
|
|
96
|
+
- **When** compared with `LANG_PROFILES["java"]["cleanup"]`
|
|
97
|
+
- **Then** they are identical: `["target/", "build/", ".gradle/"]`
|
|
98
|
+
|
|
99
|
+
### Scenario 5: Guards check config completeness
|
|
100
|
+
- **Given** a `pactkit.yaml` missing the `developer` section
|
|
101
|
+
- **When** running `pactkit guard`
|
|
102
|
+
- **Then** the output includes a warning about missing config sections
|
|
103
|
+
|
|
104
|
+
### Scenario 6: lint_lessons validates row format
|
|
105
|
+
- **Given** a lessons.md with a malformed row `| 2026-01 | lesson only |` (2 columns instead of 3)
|
|
106
|
+
- **When** running `pactkit lint-lessons`
|
|
107
|
+
- **Then** an error is reported about column count mismatch
|
|
108
|
+
|
|
109
|
+
### Scenario 7: All existing tests pass
|
|
110
|
+
- **Given** all changes applied
|
|
111
|
+
- **When** running `pytest tests/ -v`
|
|
112
|
+
- **Then** 2529+ tests pass with zero failures
|
|
113
|
+
|
|
114
|
+
## Security Scope
|
|
115
|
+
|
|
116
|
+
| Check | Applicable | Reason |
|
|
117
|
+
|-------|------------|--------|
|
|
118
|
+
| SEC-1 | Yes | Source code modified (cleaners.py, guards.py, validators.py) |
|
|
119
|
+
| SEC-2 | No | No user input handling changes |
|
|
120
|
+
| SEC-3 | No | No database operations |
|
|
121
|
+
| SEC-4 | No | No frontend files |
|
|
122
|
+
| SEC-5 | No | No auth/session code |
|
|
123
|
+
| SEC-6 | No | No API endpoints |
|
|
124
|
+
| SEC-7 | No | No error handling changes |
|
|
125
|
+
| SEC-8 | No | No dependency file changes |
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# BUG-slim-004: Cross-Flow Integrity Gaps — Unreferenced CLI & Missing Lint in Hotfix
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
|-------|-------|
|
|
5
|
+
| ID | BUG-slim-004 |
|
|
6
|
+
| Status | Draft |
|
|
7
|
+
| Priority | P2 |
|
|
8
|
+
| Release | 2.2.0 |
|
|
9
|
+
|
|
10
|
+
## Background
|
|
11
|
+
|
|
12
|
+
A full end-to-end PDCA workflow audit (Plan→Act→Check→Done→Release, Sprint, Hotfix, Design) revealed 3 categories of cross-flow integrity gaps after the STORY-slim-014/015/016 CLI migration:
|
|
13
|
+
|
|
14
|
+
1. **Hotfix skips lint entirely** — Plan/Act/Done all reference `pactkit lint`, but Hotfix has no lint step at all. Hotfixed code can merge with lint errors.
|
|
15
|
+
2. **3 document validators never called** — `pactkit lint-context`, `pactkit lint-lessons`, `pactkit lint-testcase` are registered CLI subcommands with full test coverage, but zero prompt references. Done Phase 3 should use them.
|
|
16
|
+
3. **`upgrade` subparser missing `--agent` flag** — `init` and `update` both have `--agent`, but `upgrade` does not, creating a parity gap.
|
|
17
|
+
4. **Check Phase 3.1 duplicates `pactkit spec-lint`** — Check manually inspects "Does Spec have `## Acceptance Criteria`?" but `pactkit spec-lint` E006 already validates this. Should delegate.
|
|
18
|
+
5. **Design missing `pactkit context`** — Plan/Done/Init all call `pactkit context` to update session context, but Design does not. After `/project-design` creates N stories, `context.md` is stale.
|
|
19
|
+
|
|
20
|
+
### Target Call Chain
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
Hotfix Phase 2 → (missing) pactkit lint
|
|
24
|
+
Done Phase 3 → (missing) pactkit lint-context, pactkit lint-lessons, pactkit lint-testcase
|
|
25
|
+
cli.py upgrade → (missing) --agent argument
|
|
26
|
+
Check Phase 3.1 → (duplicate) manual AC check vs pactkit spec-lint E006
|
|
27
|
+
Design Phase 5 → (missing) pactkit context
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Requirements
|
|
31
|
+
|
|
32
|
+
### R1: Add lint step to Hotfix flow
|
|
33
|
+
MUST update HOTFIX_PROMPT in `workflows.py` to include a lint step after tests pass (Phase 2), referencing `pactkit lint`. This aligns Hotfix with Done Phase 2.7 behavior.
|
|
34
|
+
|
|
35
|
+
### R2: Reference document validators in Done prompt
|
|
36
|
+
MUST update DONE_PROMPT in `commands.py` to call `pactkit lint-context`, `pactkit lint-lessons` (in Phase 3 Hygiene), validating `docs/product/context.md` and `docs/architecture/governance/lessons.md` structure after writing them. These are non-blocking checks (warn only).
|
|
37
|
+
|
|
38
|
+
### R3: Add `--agent` flag to `upgrade` subparser
|
|
39
|
+
MUST add the `--agent` argument to `upgrade_parser` in `cli.py` with the same choices as `init`/`update` (`claude`, `cursor`, `copilot`, `generic`, `all`).
|
|
40
|
+
|
|
41
|
+
### R4: Forward `--agent` in upgrade handler
|
|
42
|
+
MUST forward `args.agent` in the `upgrade` branch of `cli.py` `main()` to `deploy()`. Currently `deploy()` receives `agent` from `init`/`update` branches via `getattr(args, "agent", "claude")` but `upgrade` never sets it.
|
|
43
|
+
|
|
44
|
+
### R5: Check Phase 3 should use `pactkit spec-lint` for Spec structure verification
|
|
45
|
+
MUST update CHECK_PROMPT Phase 3.1 in `commands.py` to run `pactkit spec-lint docs/specs/{STORY_ID}.md` instead of manually checking "Does Spec have `## Acceptance Criteria`?" The E006 rule already validates this.
|
|
46
|
+
|
|
47
|
+
### R6: Design must call `pactkit context` after board setup
|
|
48
|
+
MUST update DESIGN_PROMPT in `workflows.py` to call `pactkit context` after Phase 4 (Board Setup), matching the pattern used by Plan (Phase 3.3), Done (Phase 4.5), and Init (Phase 6).
|
|
49
|
+
|
|
50
|
+
## Acceptance Criteria
|
|
51
|
+
|
|
52
|
+
### Scenario 1: Hotfix includes lint step
|
|
53
|
+
- **Given** HOTFIX_PROMPT in `workflows.py`
|
|
54
|
+
- **When** reading the Phase 2 section
|
|
55
|
+
- **Then** it contains `pactkit lint` reference after the test step
|
|
56
|
+
|
|
57
|
+
### Scenario 2: Done references document validators
|
|
58
|
+
- **Given** DONE_PROMPT in `commands.py`
|
|
59
|
+
- **When** reading Phase 3 Hygiene section
|
|
60
|
+
- **Then** it contains `pactkit lint-context` and `pactkit lint-lessons`
|
|
61
|
+
|
|
62
|
+
### Scenario 3: upgrade has --agent flag
|
|
63
|
+
- **Given** `pactkit upgrade --help`
|
|
64
|
+
- **When** reading help output
|
|
65
|
+
- **Then** `--agent` appears with choices `claude`, `cursor`, `copilot`, `generic`, `all`
|
|
66
|
+
|
|
67
|
+
### Scenario 5: Check uses spec-lint for Spec structure
|
|
68
|
+
- **Given** CHECK_PROMPT in `commands.py`
|
|
69
|
+
- **When** reading Phase 3.1
|
|
70
|
+
- **Then** it contains `pactkit spec-lint` reference
|
|
71
|
+
|
|
72
|
+
### Scenario 6: Design updates context.md
|
|
73
|
+
- **Given** DESIGN_PROMPT in `workflows.py`
|
|
74
|
+
- **When** reading after Phase 4
|
|
75
|
+
- **Then** it contains `pactkit context` reference
|
|
76
|
+
|
|
77
|
+
### Scenario 7: All existing tests pass
|
|
78
|
+
- **Given** all changes applied
|
|
79
|
+
- **When** running `pytest tests/ -v`
|
|
80
|
+
- **Then** all existing tests pass with zero failures
|
|
81
|
+
|
|
82
|
+
## Implementation Steps
|
|
83
|
+
|
|
84
|
+
| Step | File | Action | Dependencies | Risk |
|
|
85
|
+
|------|------|--------|--------------|------|
|
|
86
|
+
| 1 | `src/pactkit/prompts/workflows.py` | R1: Add `pactkit lint` to Hotfix Phase 2 | None | Medium |
|
|
87
|
+
| 2 | `src/pactkit/prompts/commands.py` | R2: Add `pactkit lint-context`/`pactkit lint-lessons` to Done Phase 3 | None | Medium |
|
|
88
|
+
| 3 | `src/pactkit/cli.py` | R3+R4: Add `--agent` to upgrade_parser, forward in handler | None | Low |
|
|
89
|
+
| 4 | `src/pactkit/prompts/commands.py` | R5: Add `pactkit spec-lint` to Check Phase 3.1 | None | Low |
|
|
90
|
+
| 5 | `src/pactkit/prompts/workflows.py` | R6: Add `pactkit context` to Design after Phase 4 | None | Low |
|
|
91
|
+
|
|
92
|
+
## Security Scope
|
|
93
|
+
|
|
94
|
+
| Check | Applicable | Reason |
|
|
95
|
+
|-------|------------|--------|
|
|
96
|
+
| SEC-1 | Yes | Source code modified |
|
|
97
|
+
| SEC-2 | No | No user input handling |
|
|
98
|
+
| SEC-3 | No | No database operations |
|
|
99
|
+
| SEC-4 | No | No frontend files |
|
|
100
|
+
| SEC-5 | No | No auth/session code |
|
|
101
|
+
| SEC-6 | No | No API endpoints |
|
|
102
|
+
| SEC-7 | No | No new error handling paths |
|
|
103
|
+
| SEC-8 | No | No dependency file changes |
|