pactkit 3.1.0__tar.gz → 4.0.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-3.1.0 → pactkit-4.0.0}/.secrets.baseline +18 -34
- {pactkit-3.1.0 → pactkit-4.0.0}/PKG-INFO +5 -5
- {pactkit-3.1.0 → pactkit-4.0.0}/SECURITY.md +2 -2
- {pactkit-3.1.0 → pactkit-4.0.0}/pyproject.toml +3 -3
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/__init__.py +1 -1
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/config.py +27 -15
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/generators/deployer.py +12 -2
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/host_artifact_paths.json +13 -11
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/host_prompt_snapshots/classic.json +2 -2
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/host_prompt_snapshots/codex.json +2 -2
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/host_prompt_snapshots/opencode.json +2 -2
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/scripts/host_artifact_snapshot.py +30 -4
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/scripts/refresh_host_prompt_snapshots.py +23 -4
- pactkit-4.0.0/tests/unit/test_adapter_availability_gate.py +88 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_profiles.py +24 -11
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_snapshot_regen_shrink_guard.py +10 -2
- pactkit-4.0.0/tests/unit/test_spec40_22_adapter_self_sufficiency.py +308 -0
- pactkit-4.0.0/tests/unit/test_spec40_22_step8_config_generation.py +269 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story072_developer_prefix.py +28 -17
- pactkit-3.1.0/tests/unit/test_spec40_22_adapter_self_sufficiency.py +0 -197
- {pactkit-3.1.0 → pactkit-4.0.0}/.codegraph/.gitignore +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/.github/workflows/pactkit.yml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/.github/workflows/publish.yml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/.github/workflows/release-acceptance.yml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/.github/workflows/runner-heartbeat.yml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/.gitignore +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/.pre-commit-config.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/AGENTS.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/CHANGELOG.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/CODE_OF_CONDUCT.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/CONTRIBUTING.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/LICENSE +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/README.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/STORY-slim-20260911b2bbd79889e0-review-round2.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/STORY-slim-202609144d0b3cb593aa-context-reuse.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/dimensions.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/INDEX.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/driver3.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/driver4.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC1/docs/specs/AC1.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC1/src/profile.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC1/tests/unit/test_profile.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC10/docs/ACT_NOTES.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC10/docs/specs/AC10.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC10/src/billing.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC2/docs/VERIFY.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC2/docs/specs/AC2.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC2/src/textutil.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC2/tests/unit/test_textutil.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC3/docs/specs/AC3.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC4/docs/specs/AC4.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC4/src/reporter.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC5/db/migrations/001_rename.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC5/docs/specs/AC5.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC5/premise.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC5/src/deployer.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC5/src/workflow_engine.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC6/docs/specs/AC6.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC6/src/pull.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC7/NEEDS_GIT +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC7/docs/specs/AC7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC7/post_git.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC7/premise.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC7/src/audit.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC7/tests/unit/test_audit.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC8/NEEDS_GIT +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC8/docs/specs/AC8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC8/post_git.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC8/premise.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC8/src/audit.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC8/tests/unit/test_audit.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC9/NEEDS_GIT +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC9/docs/specs/AC9.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC9/post_git.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC9/premise.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC9/src/audit.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/AC9/tests/unit/test_audit.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/_template/README.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/_template/src/widget.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/fixtures/_template/tests/unit/test_widget.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/harness.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC1.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC10.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC2.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC3.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC4.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC5.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC6.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC7.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC8.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/prompts/AC9.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC1-r2.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC1-r3.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC10-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC2-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC3-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC4-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC5-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC5-r2.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC6-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC7-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC7-r2.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC8-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC9-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/baseline/AC9-r2.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC1-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC1-r2.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC1-r3.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC10-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC2-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC3-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC4-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC5-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC5-r2.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC6-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC7-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC7-r2.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC8-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC9-r1.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round1/candidate/AC9-r2.json.gz +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC1-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC1-r12.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC1-r2.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC10-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC2-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC3-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC4-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC5-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC5-r2.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC6-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC7-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC7-r2.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC8-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC8-r11.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC9-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC9-r11.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/baseline/AC9-r2.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC1-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC1-r12.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC1-r2.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC10-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC2-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC3-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC4-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC5-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC5-r2.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC6-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC7-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC7-r11.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC7-r2.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC8-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC9-r1.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC9-r11.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/acceptance/r8-trial/records/round3/candidate/AC9-r2.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adapter-registration-step0-2026-09-23.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adapter-residual-audit-2026-09-23.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adr/ADR-0001-compliance-enforcement-lives-in-code-gates-promp.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adr/ADR-0002-guides-carry-operational-practice-content-not-ju.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adr/ADR-0003-rule-telemetry-is-consumed-at-code-touchpoints-w.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adr/ADR-0004-verification-decisions-are-structured-data-consu.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adr/ADR-0005-rule-adjustments-are-evaluated-on-a-fixed-corpus.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adr/ADR-0006-verification-evidence-is-stamped-by-code-touchpo.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adr/ADR-0007-config-layering-with-tighten-only-direction-cons.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adr/ADR-0008-semantic-code-queries-go-through-the-pactkit-que.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/adr/ADR-0009-measured-evidence-and-declared-evidence-must-be.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/archive/lessons_archive_202602.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/archive/lessons_archive_202603.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/archive/lessons_archive_202604.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/artifact-lifecycle.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/harness_audit.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/legacy-done-records.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/legacy-isolation.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260227-8e92f52c86.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260227-a21cacfde2.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260227-ccb19799ea.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260228-6e4b02ff08.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260228-b87245d5fc.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260302-8980b2512d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260302-8f58fa2045.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260302-a3a1b7900e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260303-3f65c0442b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260304-23c605e495.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260304-8bd6c10219.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260305-129d1dea2a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260305-48752d79c3.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260305-b9afdd8720.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260305-f93ee5b19f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260306-7061390095.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260313-edf7807faf.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260316-091567c2bb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260316-4661b3789a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260316-7214dac8fc.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-3d8a855086.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-4ba69c35f0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-6cd2a53ba5.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-7a0dd3407e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-86927e3701.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-9a8025eaac.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-a0721cc066.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-a1f53d759b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-a9f7897b36.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260317-ff430eaa29.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260318-fb0bcd928b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260319-f320fbb5cc.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260320-b2d80c56b3.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260320-c102dbd6f8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260320-e8f6ddae81.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260321-5e57da75b0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260321-6a4a30628f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260321-b5a58de3f9.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260321-e0138991ed.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260321-e49663fc95.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260322-4c0480e882.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260322-d1ece5c0d4.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260323-4bd30888ce.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260323-7a02b3eb85.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260323-8624e0d93a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260323-a8faeea78c.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-075e3332b8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-0f6f041a52.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-2dab5931de.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-8bcda73e9b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-9e6238f0c8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-a1cace9846.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-bf64dd9564.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-c344d7655c.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-e60c50dcc9.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260324-f5149caffe.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260325-1a5eeea04c.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-02460b22de.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-09de627b2b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-204ea48f84.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-32e2fd3074.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-6c6dbfc365.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-7811ad7ff2.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-88e7123370.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-d2376010b1.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-e4f0eb8850.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-e68b8aa47f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260326-fdd06ad981.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260327-e3c7f5abcb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260330-eb1760def2.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260331-1b58a289ea.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260331-26e474753e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260331-3028ab9cf5.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260331-350048862b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260331-7d41cdf5a3.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260331-8e5558a077.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260331-c46df1c3b1.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260401-41515789f6.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260401-4453752dda.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260401-5a225a1c0a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260401-90724b10f0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260401-9e322eb76e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260401-bd20019d3d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260401-de035be681.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260401-f44c8f499e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260401-fa52f596ff.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260402-5b063207c8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260402-5e0913ec81.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260415-3d8b5e8f81.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260415-84219771ca.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260416-41d4564480.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260416-5cdc3cf53f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260416-807c65a8e7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260416-ade561c777.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260416-b78aaf129a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260416-db8a5430a0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260416-f5a765c496.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260417-f1d777e9c9.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260418-ee12f2ff0d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260420-2260437be7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260420-a35a083e29.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260420-fa7d958d56.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260421-309c998a10.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260422-6509ac4df0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260422-8dd5ed6a24.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260423-b0890ad9c2.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260424-24cc1d5e19.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260424-39a99c887d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260427-f7955d5775.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260507-7b75a5cab8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260507-b26f97255d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260525-1fe96d2ff4.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260525-717e18e190.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260525-df4853fa3f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260526-4c230f3a9d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260601-6d6b779a83.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260601-e65d3407ed.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260610-51c3cf895e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260629-6171e54ac8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260702-4616caa284.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260713-da6d40dcc0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260723-d4c9801300.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260813-18efcf9687.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260813-1dc6e2e1c7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260813-21d4da632f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260817-3587ae1a22.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260817-5f08a6affa.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260817-800f717c9d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260817-a2cd839a2d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260822-9175485749.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260822105138-298451a42c.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260822105138-522c7e4af4.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260822105138-72cc1d0343.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260823015950-6b8cbea92e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260823022240-d3570f57fb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260823050717-9192db37f8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260826072120-c6db5dd5b1.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260826074629-f5119ea78b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260826080242-012107ada2.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260826082256-eff3747d60.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260827093143-3236113033.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260827095642-059a7e996b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260827102057-e04522a6fc.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260828102433-81cd3e00a0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260830034504-4f7d0f8c58.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260902100234-6fa7694bad.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260903031356-434a87fc47.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260903074136-2ad6569039.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260903074336-9d34da327e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260903105934-7f4db3bb3d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260905225746-b931bfdd36.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260905225755-a1676b4a92.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260905232251-99aae9139a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260909071100-ae89cd100f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260909071100-f0c830f573.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260911140126-2a137f5de7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260914134141-1b7d68cc0d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260915101454-f5cd8980ed.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260915101507-81b164b62d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260916025924-0161b23415.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260916060833-a56ceb5473.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260916071655-f231d85eeb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260916073935-f3b66ad2fa.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918101218-13c6881daa.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918101225-8203b3d79d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918101234-1fb486910f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918101234-c06eb97892.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918101234-c82d448fd7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918124317-8bee6134b2.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918124317-e6d9c684b6.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918124325-22cd2b7605.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918145450-3d92bd7b26.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260918145811-54f64772fb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260919002744-9231d3a3c4.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260919010001-a8a62ea231.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260919030717-a8b2f65085.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260920072822-88ef70cc14.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260920093840-9b61b1e558.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260921014230-4649c460d5.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260921030026-a028be9c10.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons/LESSON-20260921055739-5f89ab5c4b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/lessons.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/philosophy.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/postmortems/PM-20260903-codex-stale-embedded-copies.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/postmortems/PM-20260903-opencode-ledger-wipe.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/postmortems/PM-20260918-cli-type-signal.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/postmortems/PM-20260918-dead-code-audit.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/postmortems/PM-20260918-testcase-supply-gap.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/postmortems/PM-20260920-doctor-verdict-divergence.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/rules.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/governance/truth-hierarchy.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/graphs/reverse_call_graph.mmd +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/graphs/system_design.mmd +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/architecture/graphs/workflow_graph.mmd +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/assets/logo.png +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/e2e/journey.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/guides/baseline-signing-options.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/guides/codex-integration-preresearch.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/guides/credential-incident-response.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/guides/host-channel-onboarding.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/guides/opencode-pretool-channel-evidence.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/guides/release-recovery-runbook.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/guides/spec-authoring-conventions.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/guides/support-matrix.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/guides/tool-integration-checklist.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/architecture-slimming-metrics.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/archive/archive_202602.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/archive/archive_202603.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/archive/archive_202604.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/archive/archive_202605.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/archive/archive_202606.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/archive/archive_202607.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/archive/archive_202608.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/config-retirement-audit.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/friction-log.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/harness-comparison-2026-08-27.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/planning/STORY-slim-20260917e7a26d4bc981.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/planning/STORY-slim-2026092120652367d4c6.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/prd.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/sprint_board.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-20260920225f30d563a1.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-20260922031fccf35af5.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-2026092296f6ab6005f4.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-20260922afbc8ddf5252.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-2026092323db7dc89b51.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-2026092384946b894b94.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-20260923919e4022ec24.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-202609239940ba8bc08b.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-20260923aeb5e4807a2b.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/BUG-slim-20260923eb9b2de2033b.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-127.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-131.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-132.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260828ee6cde3108fb.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260830bbb5bc219d35.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260901469666ef23a8.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260903d464746b1909.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-202609061713452e9748.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-2026090643cc9415bb85.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-202609064f74efbe75ac.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-2026090656e948c25a14.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260906a1457ace4c11.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260906a71fc0080034.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260906ac9bf3ab9910.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-2026091645aa03e71927.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-202609166519bc076345.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-202609166a956c024963.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-2026091673a4d1c8c33b.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260916991f0b0d0a2e.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-2026091699cba1b49506.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260916bcd9deb4bec0.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260916c4f2a9e6b013.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-20260916cccbb8ee26fb.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/HOTFIX-slim-202609200d44cb016534.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-115.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-118.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-119.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-145.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-147.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-148.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-149.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026082381e832771d4e.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260823d854b0cf1875.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260823de7e85d6042a.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260825b1c83a046b4b.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202608264cf429c75e22.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026082672b57c78fd67.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202608267c3989223b4d.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202608268fc379dbe6ef.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260826ac1f0bfe4148.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260826cb37edfdd4da.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260826ce35b77ce005.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260826f9492ab32c3d.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260827024e71df170f.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026082727cc4ab535e7.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026082730b5954cf538.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260827625b870eb7da.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202608277ec1236a7b99.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260827833e7a200f9a.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260827855bf3efaec3.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026082799fa651655be.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260827c67e3add6af5.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260827d0ae0dfada51.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260827eddbe9669c87.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260827fb6291b717eb.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260827fc9de5542ad7.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260828897396a935ab.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202608289e83eeb30df4.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260828d43fae4edbb6.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260830c65491123af1.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609025bc9246b6a54.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026090301691dea72e8.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026090333d6b72f7645.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260903699c84c217e0.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609037a7d4be200e7.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260903a24e1ece0d7f.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260903a4ef6915ed62.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260903b5ce6be5f7e0.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260905efced66ebc9c.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026090699752886f924.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260909b90ba785f55a.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260909e47c92ef09ec.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609110568ba869adb.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609110d1567cfbc04.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026091122a1144a1ac5.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260911453c59076a8a.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260911511cde75db9b.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260911614214d936d9.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026091171392be2a603.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026091184808465e1fc.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260911912c981c9d5e.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609119b5e42fd459a.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260911ab8de391c5a9.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260911b1e7c94d3f28.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260911b2bbd79889e0.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260911ba339646a2da.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260911c4a8e17b6d02.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260912ddc450b6fdcf.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609144d0b3cb593aa.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026091519c812a6db71.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260915ac3e5c24fdd3.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260915eaf18678ce23.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609160fe9825c04b7.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026091644dd0bd263d1.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609165747a3fc13b8.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260916823f60779f1a.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260916e9aadb6b2b46.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609171e19122d7b1b.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609174672386c4e73.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609174b30394b3eaf.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609175412dd8da7e0.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026091769e0a79767ff.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260917a68895632abb.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260917a76a62f23124.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260917beaa87bc5d27.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260917c18f4a962b70.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260917c943d7aaeb7c.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260917cb17ae9bbc87.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026091806bbe53c5884.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260918164ea9fe09e9.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260918864001ab2cad.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026091893aad6f3d8ac.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609189a690adb96b7.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260918dda35a04d01d.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260918e76e4a89b0ad.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260919752e74b3f591.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260919b7362f043437.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026092010bf0bf77b9f.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609202886076c407c.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609204f623f7bd50c.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609206d5dc5792609.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260920826d30afae88.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260920a857d99c2c6e.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260920bc98b2d93bc7.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260920c77797299eba.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260920de88ba290110.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609210596e436fafc.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609212d6222f99f99.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609213d81204e2d45.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026092148349386a757.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609215cfbe6b6c4a0.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609215fcccbd0851a.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609216555d0788942.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-2026092167351bbe8c16.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609217251f027db09.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-202609217d99ffad0d99.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260921a562f2ea66c4.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260921b2cfd6574674.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260921c7a3f696f79f.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260921ce43695e5306.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260921e7716b1f465a.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260921e8c4a1f7b9d2.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260921ede7d5c2135f.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260921f19a0c4d7b3e.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260922a3f81c72e940.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260922b7d40e19c58f.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260922dffb2377b769.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260923956d0d036a12.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/product/stories/STORY-slim-20260923e89f3d0b32ab.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/reference/phases.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/reference/rules.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/reference/workflow-units.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-001.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-002.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-003.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-004.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-005.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-006.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-007.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-008.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-009.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-010.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-011.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-012.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-013.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-014.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-015.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-016.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-017.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-018.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-019.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-020.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-021.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-022.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-023.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-024.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-025.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-026.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-027.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-028.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-029.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-030.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-031.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-032.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-033.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-034.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-035.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-001.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-002.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-003.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-004.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-005.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-006.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-089.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-107.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-20260920225f30d563a1.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-20260922031fccf35af5.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-2026092296f6ab6005f4.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-20260922afbc8ddf5252.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-2026092323db7dc89b51.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-20260923557c805d9a7a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-2026092384946b894b94.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-20260923919e4022ec24.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-202609239940ba8bc08b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-20260923aeb5e4807a2b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/BUG-slim-20260923eb9b2de2033b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-023.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-049.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-050.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-051.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-052.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-061.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-062.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-067.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-069.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-070.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-085.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-087.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-096.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-099.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-107.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-117.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-122.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-123.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-126.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-127.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-130.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-131.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-132.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260828ee6cde3108fb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260830bbb5bc219d35.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260901469666ef23a8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260903d464746b1909.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-202609061713452e9748.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-2026090643cc9415bb85.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-202609064f74efbe75ac.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-2026090656e948c25a14.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260906a1457ace4c11.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260906a71fc0080034.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260906ac9bf3ab9910.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-2026091645aa03e71927.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-202609166519bc076345.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-202609166a956c024963.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-2026091673a4d1c8c33b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260916991f0b0d0a2e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-2026091699cba1b49506.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260916bcd9deb4bec0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260916c4f2a9e6b013.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-20260916cccbb8ee26fb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/HOTFIX-slim-202609200d44cb016534.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-001.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-002.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-003.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-004.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-005.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-006.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-007.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-008.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-009.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-010.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-011.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-012.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-013.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-014.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-015.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-016.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-017.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-018.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-019.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-020.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-021.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-022.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-023.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-024.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-025.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-026.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-027.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-028.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-029.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-030.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-031.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-032.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-033.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-034.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-035.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-036.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-037.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-038.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-039.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-040.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-041.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-042.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-043.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-044.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-045.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-046.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-047.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-048.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-049.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-050.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-051.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-052.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-053.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-054.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-055.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-056.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-057.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-058.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-059.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-060.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-061.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-062.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-063.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-064.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-065.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-069.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-070.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-071.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-072.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-073.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-001.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-005.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-006.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-007.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-009.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-010.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-011.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-012.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-013.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-014.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-015.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-016.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-017.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-018.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-019.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-020.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-021.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-022.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-023.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-024.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-028.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-029.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-030.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-031.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-032.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-033.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-034.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-035.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-036.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-037.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-038.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-039.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-040.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-041.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-042.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-043.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-044.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-045.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-046.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-047.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-048.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-049.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-050.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-051.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-052.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-053.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-054.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-055.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-056.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-057.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-058.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-059.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-060.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-063.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-066.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-067.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-068.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-069.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-070.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-071.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-072.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-073.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-074.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-075.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-076.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-077.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-078.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-079.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-080.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-081.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-082.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-083.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-084.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-086.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-088.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-089.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-090.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-091.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-092.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-093.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-094.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-095.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-097.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-098.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-099.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-100.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-101.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-102.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-103.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-104.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-105.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-106.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-107.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-108.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-109.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-110.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-111.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-112.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-113.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-114.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-115.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-116.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-118.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-119.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-120.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-121.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-124.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-125.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-126.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-127.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-128.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-129.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-132.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-133.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-134.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-135.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-136.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-137.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-138.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-139.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-140.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-141.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-142.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-143.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-144.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-145.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-146.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-147.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-148.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-149.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026082381e832771d4e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260823d854b0cf1875.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260823de7e85d6042a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026082466c8670d9655.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260824dd23a0ed3b4c.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260825b1c83a046b4b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202608264cf429c75e22.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026082672b57c78fd67.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202608267c3989223b4d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202608268fc379dbe6ef.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260826ac1f0bfe4148.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260826cb37edfdd4da.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260826ce35b77ce005.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260826f9492ab32c3d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260827024e71df170f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026082727cc4ab535e7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026082730b5954cf538.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260827625b870eb7da.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260827833e7a200f9a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260827855bf3efaec3.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026082799fa651655be.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260827d0ae0dfada51.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260827eddbe9669c87.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260827fb6291b717eb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260827fc9de5542ad7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260828897396a935ab.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202608289e83eeb30df4.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260828d43fae4edbb6.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260830c65491123af1.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609025bc9246b6a54.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026090301691dea72e8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026090333d6b72f7645.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260903699c84c217e0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609037a7d4be200e7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260903a24e1ece0d7f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260903a4ef6915ed62.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260903b5ce6be5f7e0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260905efced66ebc9c.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026090699752886f924.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260909b90ba785f55a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260909e47c92ef09ec.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609110568ba869adb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609110d1567cfbc04.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026091122a1144a1ac5.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260911453c59076a8a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260911511cde75db9b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260911614214d936d9.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026091171392be2a603.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026091184808465e1fc.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260911912c981c9d5e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609119b5e42fd459a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260911ab8de391c5a9.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260911b1e7c94d3f28.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260911b2bbd79889e0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260911c4a8e17b6d02.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609144d0b3cb593aa.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260915ac3e5c24fdd3.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260915eaf18678ce23.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609160fe9825c04b7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026091644dd0bd263d1.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609165747a3fc13b8.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260916823f60779f1a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260916b5beb25459bd.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260916e9aadb6b2b46.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609171e19122d7b1b.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609174672386c4e73.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609174b30394b3eaf.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609175412dd8da7e0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026091769e0a79767ff.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260917a68895632abb.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260917a76a62f23124.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260917beaa87bc5d27.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260917c18f4a962b70.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260917c943d7aaeb7c.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260917cb17ae9bbc87.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026091806bbe53c5884.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260918164ea9fe09e9.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260918864001ab2cad.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026091893aad6f3d8ac.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609189a690adb96b7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260918dda35a04d01d.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260918e76e4a89b0ad.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260919752e74b3f591.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260919b7362f043437.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026092010bf0bf77b9f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260920826d30afae88.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260920bc98b2d93bc7.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609210596e436fafc.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609212d6222f99f99.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609213d81204e2d45.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026092148349386a757.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609215cfbe6b6c4a0.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609215fcccbd0851a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609216555d0788942.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-2026092167351bbe8c16.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609217251f027db09.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-202609217d99ffad0d99.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260921a562f2ea66c4.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260921b2cfd6574674.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260921c7a3f696f79f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260921ce43695e5306.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260921e7716b1f465a.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260921e8c4a1f7b9d2.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260921ede7d5c2135f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260921f19a0c4d7b3e.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260921reconcilengine.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260922a3f81c72e940.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260922b7d40e19c58f.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260922dffb2377b769.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260923956d0d036a12.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/specs/STORY-slim-20260923e89f3d0b32ab.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/BUG-001_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/BUG-002_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-028_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-029_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-031_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-032_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-033_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-034_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-135_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-136_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-137_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-138_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-139_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-140_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-141_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-142_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-143_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-144_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-146_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-147_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-148_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-149_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026082381e832771d4e_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260823d854b0cf1875_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260823de7e85d6042a_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260825b1c83a046b4b_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202608264cf429c75e22_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026082672b57c78fd67_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202608267c3989223b4d_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202608268fc379dbe6ef_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260826ac1f0bfe4148_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260826cb37edfdd4da_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260826ce35b77ce005_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260826f9492ab32c3d_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260827024e71df170f_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026082799fa651655be_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260827eddbe9669c87_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260827fc9de5542ad7_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260828897396a935ab_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260830c65491123af1_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609025bc9246b6a54_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026090301691dea72e8_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026090333d6b72f7645_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260903699c84c217e0_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609037a7d4be200e7_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260903a24e1ece0d7f_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260903a4ef6915ed62_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260903b5ce6be5f7e0_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260905efced66ebc9c_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260909b90ba785f55a_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260909e47c92ef09ec_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260911b2bbd79889e0_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260911c4a8e17b6d02_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609144d0b3cb593aa_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260915ac3e5c24fdd3_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260915eaf18678ce23_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609160fe9825c04b7_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026091644dd0bd263d1_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609165747a3fc13b8_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260916823f60779f1a_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260916e9aadb6b2b46_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026091806bbe53c5884_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260918164ea9fe09e9_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260918864001ab2cad_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609189a690adb96b7_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260918dda35a04d01d_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260919752e74b3f591_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260919b7362f043437_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026092010bf0bf77b9f_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260920826d30afae88_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260920bc98b2d93bc7_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609210596e436fafc_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609212d6222f99f99_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609213d81204e2d45_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026092148349386a757_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609215cfbe6b6c4a0_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609215fcccbd0851a_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609216555d0788942_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-2026092167351bbe8c16_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609217251f027db09_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-202609217d99ffad0d99_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260921a562f2ea66c4_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260921b2cfd6574674_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260921c7a3f696f79f_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260921ce43695e5306_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260921e7716b1f465a_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260921e8c4a1f7b9d2_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260921ede7d5c2135f_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260921f19a0c4d7b3e_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260922a3f81c72e940_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260922b7d40e19c58f_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/docs/test_cases/STORY-slim-20260922dffb2377b769_case.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/opencode.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/pactkit-v4.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/pactkit.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/scripts/provision-self-hosted-runner.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/scripts/runner-watchdog.sh +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/__main__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/accept_candidates.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/audit.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/auth_gate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/backfill.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/baseline.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/bypass_message.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/capability.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/ci_commands.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/cleaners.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/cli.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/codegraph_data.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/commit_gate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/context_gen.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/continuation.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/coverage_gate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/delivery_evidence.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/deploy_manifest.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/deployment_transaction.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/deps.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/doctor.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/done_verify.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/enforcement.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/evidence_measure.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/garden.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/gate_matrix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/gate_migration.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/generated_marker.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/generators/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/generators/claude_md.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/generators/command_ownership.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/generators/deploy_base.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/generators/opencode_plugin.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/generators/spi.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/governance.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/graph_query.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/guards.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/host_continuation.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/host_payloads.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/id_generator.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/invariants.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/ir.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/issue_sync.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/lazy_visualize.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/legacy/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/legacy/host_continuation.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/legacy/usage.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/legacy/workflow_engine.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/lessons.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/lint_runner.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/mmd_retirement.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/observe.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/orchestration_cost.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/portable_methods.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/precommit_bridge.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/profiles.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/project_bootstrap.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/project_contract.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/project_root.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/prompts/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/prompts/agents.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/prompts/commands.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/prompts/guides.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/prompts/references.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/prompts/rules.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/prompts/skills.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/prompts/workflows.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/protocols.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/reference.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/regression.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/risk_profile.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/rule_diagnostics.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/rule_events.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/rules_eval.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/run_events.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/run_stats.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/schemas.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/sec_scope.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/secrets_baseline.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/secrets_engine.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/secrets_gate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/session_gate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/analyzers/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/analyzers/go_analyzer.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/analyzers/java_analyzer.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/analyzers/python_analyzer.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/analyzers/ts_analyzer.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/board.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/interface_summary.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/mmd_render.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/report.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/scaffold.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/spec_linter.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/skills/visualize.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/spec_graph.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/spec_preflight.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/spec_status.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/tamper_guard.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/test_mapper.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/uninstall.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/utils.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/validators.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/workflow_engine.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/workflow_registry.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/src/pactkit/workflow_validators.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/conformance/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/conformance/contracts.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/conformance/harness.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/conformance/test_conformance.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/conftest.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/acceptance/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/acceptance/test_verification_acceptance.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/cli/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/cli/test_cli_e2e.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/cli/test_story_slim146_cli.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/cli/test_story_slim147_workflow_cli.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/cli/test_story_slim148_governance_cli.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/cli/test_story_slim149_query_cli.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/test_gate_bypass_e2e.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/test_local_git_full_flow_e2e.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/e2e/test_precommit_chain_e2e.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/agent_parser/agents_dir/researcher.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/agent_parser/agents_dir/writer.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/agent_parser/langgraph_app.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/agent_parser/mcp_settings.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/api_call_parser/axios_style.tsx +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/api_call_parser/dynamic.tsx +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/api_call_parser/page.tsx +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/__root__.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/accept-candidates.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/adopt.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/audit.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/backfill-release.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/board.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/clean.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/commit-gate.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/context.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/continuation.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/coverage-gate.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/deps.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/doctor.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/done-verify.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/evidence-measure.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/garden.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/gate.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/generate-id.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/governance.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/guard.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/guide.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/init.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/interface-summary.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/invariants-refresh.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/issue-sync.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/lesson-append.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/lint-adr.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/lint-context.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/lint-lessons.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/lint-testcase.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/lint.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/mcp.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/observe.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/project-preflight.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/query.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/reconcile.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/redetect-stack.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/regression.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/report.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/risk.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/rules-eval.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/schema.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/sec-scope.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/secrets-baseline.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/spec-graph.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/spec-lint.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/spec-preflight.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/spec-status.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/stats.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/sync.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/test-map.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/uninstall.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/update.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/upgrade.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/version.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/visualize.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/work-unit.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/cli_help_golden/workflow.txt +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/copy_claude.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/copy_claude.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/copy_codex.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/copy_codex.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/copy_github.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/copy_github.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/empty.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/empty.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/full_legacy.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/full_legacy.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/minimal.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/minimal.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/unknown_keys.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/config_golden/unknown_keys.yaml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/gitlab_ci_python.golden.yml +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/host_dispatch_baseline.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/host_dispatch_classification.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-001.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-002.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-003.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-004.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-005.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-006.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-007.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-008.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-009.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-010.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-011.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-012.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-013.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-014.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-015.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-016.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-017.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/STORY-c-018.md +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/fixtures/rules_corpus/manifest.json +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/integration/__init__.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/integration/test_deploy_classic.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/scripts/adapter_import_firewall.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/scripts/environment_capabilities.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/scripts/gen_host_dispatch_classification.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/scripts/host_dispatch_ratchet.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/scripts/refresh_reference_docs.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/_adapter_availability.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/_spec_changes.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/_synthetic_host.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_ac4_ownership_evidence.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_accept_candidates.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_agent_features.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_agent_frontmatter.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_agents_enrichment.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_analyzer_outcome.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_audit.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_audit_suggested_tasks.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_b1_effective_config.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_b2_display_accuracy.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_baseline_failure_surface.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_blast_radius.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_blast_radius_absence.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_board_bug027.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_board_sections.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug001_skill_path.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug004_dead_set.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug005_archive_taskless.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug006_scan_excludes.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug007_stale_trace_refs.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug008_stale_command_refs.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug009_project_config_backfill.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug010_rewrite_yaml.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug011_stale_refs.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug013_config_single_source.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug014_version_hygiene.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug017_project_init_playbook.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug018_issue_tracker_verification.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug019_venv_deployment.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug020_claude_md_backup.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug025_release_delegation.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug026_version_sync.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug028_ghost_refs.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug029_stack_detection_fallback.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug030_spec_lint_cli.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug031_docstring_accuracy.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug034_plan_metadata_template.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_021.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_022.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_023.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_slim001_env_detection.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_slim002_instruction_collision.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_slim003.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_slim004.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_slim005.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_slim006.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_slim089_global_claude_md.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_slim202609239940ba8bc08b_test_file_classifier.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_bug_slim20260923aeb5e4807a2b_dialect.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_c1_body_snapshots.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_c1_legacy_and_cost.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_candidate_cleanup.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_capability_predicates.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_check_command.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_check_extensions_072_073.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_check_playbook_072_073.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_ci_checkout_options.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_ci_matrix_layering.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_ci_runner_temp.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_ci_workflow_validity.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_classic_deploy_paths.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_clean_scrubs_events.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_cli_help_surface.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_codegraph_views.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_codex_hook_channel.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_codex_hook_migration.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_command_frontmatter.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_command_ownership_v2.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_command_visualize_modes.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_commit_gate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_complexity.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_config.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_config_auto_merge.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_config_sync_precedence.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_constitution_sharpening.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_context_gen.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_continuation_hardening.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_contract_conflict_fixes.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_create_skill.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_cross_flow_matrix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_decision_traceability.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_deploy_base.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_deploy_ledger_lifecycle.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_deploy_ownership_safety.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_deployed_prompts_have_no_placeholders.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_deployer_cleanup.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_deployment_transaction.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_deps.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_design_command.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_done_gates.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_done_verify.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_draw_prompt.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_draw_references.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_drawio_mcp.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_enforcement.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_engine_robustness.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_enterprise_flags.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_garden.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_gate_fail_closed.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_gate_junit_counts.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_gate_matrix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_gate_migration.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_gate_reuse_dedup.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_gate_telemetry.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_home_path_fix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hook_expansion.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_host_prompt_snapshots.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_20260830_gate_cli.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_20260901_gate_docsonly.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_20260903_design_research.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_20260903_visualize_sync.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_20260914_guide_wording.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_command.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_legacy_constitution.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_slim2026091645aa03e71927_cli_venv_fixes.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_slim202609166519bc076345_gate_dispatch.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_slim2026091673a4d1c8c33b_gate_bypass.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_slim20260916991f0b0d0a2e_audit_findings.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_slim2026091699cba1b49506_astra_findings.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_slim20260916bcd9deb4bec0_watchdog.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_slim20260916c4f2a9e6b013_gate_review.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_slim20260916cccbb8ee26fb_atomic_write.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_hotfix_slim202609200d44cb016534_doctor_verdict.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_init_global_disclosure.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_init_guard.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_init_playbook_074.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_interface_summary.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_lang_profiles.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_layer_violations.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_legacy_engine_freeze.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_lessons_rotation_075.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_list_stories.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_mcp_integration.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_mcp_retired.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_mmd_retirement.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_model_config.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_modular_constitution.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_monorepo_detect.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_multi_prefix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_observe.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_orchestration_cost.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_org_baseline.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_overlay_contract.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_p6_spec_edit_human_channel.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_pdca_semantics_v2.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_pdca_slim.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_precommit_bridge.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_project_contract.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_project_root.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_project_visibility.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_prompt_cli_contract.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_prompt_cli_refs.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_prompt_quality_075.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_prompt_structural_invariants.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_prompts_package.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_push_gate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_readme_counts.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_reference_drift.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_release.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_release_field.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_release_v110.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_render_prompt.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_report_parser.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_report_unified.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_resolve_scope.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_review_command.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_rule_diagnostics.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_rule_registry_architecture.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_rules_enrichment.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_rules_eval.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_run_events.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_run_stats.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_scaffold.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_scaffold_developer_prefix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_scan_owned_paths.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_schemas.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_script_extraction.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_secrets_engine.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_security_dimension_rules.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_selective_deploy.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_session_context.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_skill_structure.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_skills_enrichment.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_slim_deps_088.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_smart_regression.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_solution_design_rule.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec40_07_command_form.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec40_08_classic_predicate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec40_09_command_layout.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec40_21_adapter_registration.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec40_22_capability_registry.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec40_22_doctor_registry.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec40_22_path_derivation.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec40_22_security_declaration.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec40_22_security_lifecycle.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec_changes_dispatch.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec_guard_repeat.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_spec_preflight.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_sprint_command.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_stack_references.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_stack_test_command.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_status_command.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_statusline.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story014_release.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story015_ci_lint_gate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story016_claude_md.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story017_init_claude_md.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story018_arch_staleness.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story019_bailout.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story020_horizon.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story021_rfc.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story022_decision_tree.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story023_test_quality.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story024_native_agent.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story025_ci_pipeline.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story026_issue_tracker.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story028_rule_scoping.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story029_doctor.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story030_lint.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story031_git_init_guard.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story032_greenfield_redirect.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story033_config_backfill.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story034_plan_config_refresh.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story035_readme_docs.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story037_regression_fix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story038_call_graph_update.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story039_venv_config.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story040_layered_claude_md.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story042_spec_linter.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story043_active_clarify.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story044_consistency_check.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story045_auto_pr.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story047_enterprise_flags.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story048_worktree_isolation.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story049_community_standards.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story050_doc_only_shortcut.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story051_workflow_streamlining.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story052_conditional_github_release.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story053_impact_regression.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story055_commands.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story055_config.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story055_spec_linter.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story056_commands.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story056_config.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story057_implicit_cleanup.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story058_opencode_extraction.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story058_routing_fix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story060_init_hang.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story061_remove_thinking.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story063_prompt_slimming.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story064_venv_local_md.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story065_sprint_model.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story106_lateral_scan.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story133_debug_skill.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_2026090301_rule_compliance.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_2026090333_sdlc_t1.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_202609037a_practice_batch2.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_20260903b5_practice_guides.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_202609144d0b3cb593aa_context_reuse.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_pdca_host_capsules.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_pdca_semantics_v2.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim009_lazy_rules.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim010_dry_refactor.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim011_command_rules.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim012_ci.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim014_clean.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim014_context.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim014_guard.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim014_next_id.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim014_regression.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim014_sec_scope.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim014_validators.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim015_doctor.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim016_testmap_lint.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim017.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim018.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim019_plan_subphases.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim020_explore_stall_fix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim021.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim022.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim023.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim024.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim025.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim026.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim027.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim028.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim029.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim030.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim031.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim032.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim033.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim034.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim035.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim036.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim037.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim038.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim039.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim040.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim041.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim042.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim043.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim044.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim045.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim046.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim047.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim048.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim051.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim052.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim053.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim054.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim055.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim056.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim063.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim076_multistack.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim077_monorepo_stack.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim078.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim079.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim080.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim082.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim083.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim084.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim098_pdca_nudge.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim099_act_context_ref.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim102_version_marker.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim104_should_semantics.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim107.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim109_journey_spec.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim111_playwright_assertion.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim112_rules_split.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim114_journey_sync.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim119.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim120.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim121.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim125.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim126.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim127_managed_block.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim128_engineering_concerns.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim132.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim134_no_model_in_frontmatter.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim135_config_schema.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim139_skill_manifest.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim141_manifest_hash.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim142_all_target_isolation.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim143_spec_graph.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim144_wave_mode.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim145.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim146.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim147.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim148.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim149.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim150.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260911c4a8e17b6d02_baseline_signature.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260915ac3e5c24fdd3_governance.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260915eaf18678ce23_commit_path.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim202609160fe9825c04b7_yaml_fidelity.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim2026091644dd0bd263d1_sync_order.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260916823f60779f1a_verification_receipt.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim2026091806bbe53c5884_spec_self_amend.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260918164ea9fe09e9_bypass_form.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260918864001ab2cad_secrets_baseline.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260918dda35a04d01d_opencode_pretool.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260918e76e4a89b0ad_static_signal.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260919752e74b3f591_host_translate.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260919b7362f043437_gate_layers.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim2026092010bf0bf77b9f_prompt_tool_parity.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260920826d30afae88_evidence_wiring.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260920bc98b2d93bc7_has_test_evidence.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim202609210596e436fafc_legacy_isolation.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim202609212d6222f99f99_spi_firewall.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim202609213d81204e2d45_capability.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim2026092167351bbe8c16_evidence_provenance.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim202609217251f027db09_evidence_lifecycle.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260921a562f2ea66c4_canonical_ir.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260921c7a3f696f79f_bypass_channel_parity.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260921ce43695e5306_lifecycle.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260921e7716b1f465a_canonical_config.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260921ede7d5c2135f_batch4_classification.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260921ede7d5c2135f_batch4_core.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260921ede7d5c2135f_batch4_hooks.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260921f19a0c4d7b3e_packaging_ruling.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim20260921reconcilengine_reconcile.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim_stop_hook.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_slim_work_units.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_story_transition_contract.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_support_matrix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_target_resolution.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_test_policy_fast.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_tools.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_topology_parsers_066.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_uninstall.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_uninstall_cli_defaults.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_verification_decision.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_verification_scope_records.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_visualize_chain_fix.py +0 -0
- {pactkit-3.1.0 → pactkit-4.0.0}/tests/unit/test_visualize_multilang_chain.py +0 -0
|
@@ -136,15 +136,6 @@
|
|
|
136
136
|
"line_number": 65
|
|
137
137
|
}
|
|
138
138
|
],
|
|
139
|
-
"docs/architecture/graphs/class_graph.mmd": [
|
|
140
|
-
{
|
|
141
|
-
"type": "Base64 High Entropy String",
|
|
142
|
-
"filename": "docs/architecture/graphs/class_graph.mmd",
|
|
143
|
-
"hashed_secret": "1f4fddb18c4bc3feeb76c3fde85134e2991e0b7e",
|
|
144
|
-
"is_verified": false,
|
|
145
|
-
"line_number": 252
|
|
146
|
-
}
|
|
147
|
-
],
|
|
148
139
|
"docs/specs/STORY-slim-20260828897396a935ab.md": [
|
|
149
140
|
{
|
|
150
141
|
"type": "AWS Access Key",
|
|
@@ -190,17 +181,10 @@
|
|
|
190
181
|
{
|
|
191
182
|
"type": "Hex High Entropy String",
|
|
192
183
|
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
193
|
-
"hashed_secret": "
|
|
184
|
+
"hashed_secret": "a5994eaed0a6069e4e858cece615943d4d851db5",
|
|
194
185
|
"is_verified": false,
|
|
195
186
|
"line_number": 7
|
|
196
187
|
},
|
|
197
|
-
{
|
|
198
|
-
"type": "Hex High Entropy String",
|
|
199
|
-
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
200
|
-
"hashed_secret": "0de79e48b3f9c3eee896340dc93579c8967365ed",
|
|
201
|
-
"is_verified": false,
|
|
202
|
-
"line_number": 8
|
|
203
|
-
},
|
|
204
188
|
{
|
|
205
189
|
"type": "Hex High Entropy String",
|
|
206
190
|
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
@@ -750,7 +734,7 @@
|
|
|
750
734
|
{
|
|
751
735
|
"type": "Hex High Entropy String",
|
|
752
736
|
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
753
|
-
"hashed_secret": "
|
|
737
|
+
"hashed_secret": "86bc90e8b5cf7fd911df5eb91a3ea18fef34da3b",
|
|
754
738
|
"is_verified": false,
|
|
755
739
|
"line_number": 380
|
|
756
740
|
},
|
|
@@ -894,13 +878,6 @@
|
|
|
894
878
|
"is_verified": false,
|
|
895
879
|
"line_number": 453
|
|
896
880
|
},
|
|
897
|
-
{
|
|
898
|
-
"type": "Hex High Entropy String",
|
|
899
|
-
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
900
|
-
"hashed_secret": "26e2cbb16c8c25e58b339cb24cdf45220684093d",
|
|
901
|
-
"is_verified": false,
|
|
902
|
-
"line_number": 454
|
|
903
|
-
},
|
|
904
881
|
{
|
|
905
882
|
"type": "Hex High Entropy String",
|
|
906
883
|
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
@@ -981,7 +958,7 @@
|
|
|
981
958
|
{
|
|
982
959
|
"type": "Hex High Entropy String",
|
|
983
960
|
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
984
|
-
"hashed_secret": "
|
|
961
|
+
"hashed_secret": "13d57d1a3632c09ba09725607afee063cb16eac6",
|
|
985
962
|
"is_verified": false,
|
|
986
963
|
"line_number": 552
|
|
987
964
|
},
|
|
@@ -1097,6 +1074,13 @@
|
|
|
1097
1074
|
"is_verified": false,
|
|
1098
1075
|
"line_number": 583
|
|
1099
1076
|
},
|
|
1077
|
+
{
|
|
1078
|
+
"type": "Hex High Entropy String",
|
|
1079
|
+
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
1080
|
+
"hashed_secret": "fec022c577e244da45c84829c4aed6697cda7a24",
|
|
1081
|
+
"is_verified": false,
|
|
1082
|
+
"line_number": 635
|
|
1083
|
+
},
|
|
1100
1084
|
{
|
|
1101
1085
|
"type": "Hex High Entropy String",
|
|
1102
1086
|
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
@@ -1263,21 +1247,21 @@
|
|
|
1263
1247
|
"filename": "tests/fixtures/host_artifact_paths.json",
|
|
1264
1248
|
"hashed_secret": "2ddcea7c868c0d35d028d1a70dc96c669f7a70f8",
|
|
1265
1249
|
"is_verified": false,
|
|
1266
|
-
"line_number":
|
|
1250
|
+
"line_number": 722
|
|
1267
1251
|
}
|
|
1268
1252
|
],
|
|
1269
1253
|
"tests/fixtures/host_prompt_snapshots/classic.json": [
|
|
1270
1254
|
{
|
|
1271
1255
|
"type": "Hex High Entropy String",
|
|
1272
1256
|
"filename": "tests/fixtures/host_prompt_snapshots/classic.json",
|
|
1273
|
-
"hashed_secret": "
|
|
1257
|
+
"hashed_secret": "9eb8e7de843e2cf429d9119be0f9c66a93c38d15",
|
|
1274
1258
|
"is_verified": false,
|
|
1275
1259
|
"line_number": 91
|
|
1276
1260
|
},
|
|
1277
1261
|
{
|
|
1278
1262
|
"type": "Hex High Entropy String",
|
|
1279
1263
|
"filename": "tests/fixtures/host_prompt_snapshots/classic.json",
|
|
1280
|
-
"hashed_secret": "
|
|
1264
|
+
"hashed_secret": "68dc070c5fe5a6c51fd1dd7dcf577fccb523975e",
|
|
1281
1265
|
"is_verified": false,
|
|
1282
1266
|
"line_number": 92
|
|
1283
1267
|
},
|
|
@@ -1867,14 +1851,14 @@
|
|
|
1867
1851
|
{
|
|
1868
1852
|
"type": "Hex High Entropy String",
|
|
1869
1853
|
"filename": "tests/fixtures/host_prompt_snapshots/codex.json",
|
|
1870
|
-
"hashed_secret": "
|
|
1854
|
+
"hashed_secret": "da3a5039feb882c27805f5ab2c98e8748b2031ff",
|
|
1871
1855
|
"is_verified": false,
|
|
1872
1856
|
"line_number": 77
|
|
1873
1857
|
},
|
|
1874
1858
|
{
|
|
1875
1859
|
"type": "Hex High Entropy String",
|
|
1876
1860
|
"filename": "tests/fixtures/host_prompt_snapshots/codex.json",
|
|
1877
|
-
"hashed_secret": "
|
|
1861
|
+
"hashed_secret": "485c59fbcae2d2df77377c54cce51c10fdbd2240",
|
|
1878
1862
|
"is_verified": false,
|
|
1879
1863
|
"line_number": 78
|
|
1880
1864
|
},
|
|
@@ -2310,14 +2294,14 @@
|
|
|
2310
2294
|
{
|
|
2311
2295
|
"type": "Hex High Entropy String",
|
|
2312
2296
|
"filename": "tests/fixtures/host_prompt_snapshots/opencode.json",
|
|
2313
|
-
"hashed_secret": "
|
|
2297
|
+
"hashed_secret": "58a9b55e813b7490985b28f43a3d3a81fac8df6a",
|
|
2314
2298
|
"is_verified": false,
|
|
2315
2299
|
"line_number": 89
|
|
2316
2300
|
},
|
|
2317
2301
|
{
|
|
2318
2302
|
"type": "Hex High Entropy String",
|
|
2319
2303
|
"filename": "tests/fixtures/host_prompt_snapshots/opencode.json",
|
|
2320
|
-
"hashed_secret": "
|
|
2304
|
+
"hashed_secret": "c96cd1968d51ffb12bc6976ff3ab4cbbd9a8ef4f",
|
|
2321
2305
|
"is_verified": false,
|
|
2322
2306
|
"line_number": 90
|
|
2323
2307
|
},
|
|
@@ -3016,5 +3000,5 @@
|
|
|
3016
3000
|
}
|
|
3017
3001
|
]
|
|
3018
3002
|
},
|
|
3019
|
-
"generated_at": "2026-09-
|
|
3003
|
+
"generated_at": "2026-09-26T13:03:05Z"
|
|
3020
3004
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: pactkit
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.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-public
|
|
@@ -25,19 +25,19 @@ Requires-Dist: detect-secrets>=1.5.0
|
|
|
25
25
|
Requires-Dist: pre-commit>=4.6.1
|
|
26
26
|
Requires-Dist: pyyaml>=6.0
|
|
27
27
|
Provides-Extra: all
|
|
28
|
-
Requires-Dist: pactkit-codex<
|
|
29
|
-
Requires-Dist: pactkit-opencode<
|
|
28
|
+
Requires-Dist: pactkit-codex<4.1.0,>=4.0.0; extra == 'all'
|
|
29
|
+
Requires-Dist: pactkit-opencode<4.1.0,>=4.0.0; extra == 'all'
|
|
30
30
|
Requires-Dist: ruff>=0.4; extra == 'all'
|
|
31
31
|
Requires-Dist: tree-sitter-go>=0.25; extra == 'all'
|
|
32
32
|
Requires-Dist: tree-sitter-java>=0.23; extra == 'all'
|
|
33
33
|
Requires-Dist: tree-sitter-typescript>=0.23; extra == 'all'
|
|
34
34
|
Requires-Dist: tree-sitter>=0.25; extra == 'all'
|
|
35
35
|
Provides-Extra: codex
|
|
36
|
-
Requires-Dist: pactkit-codex<
|
|
36
|
+
Requires-Dist: pactkit-codex<4.1.0,>=4.0.0; extra == 'codex'
|
|
37
37
|
Provides-Extra: lint
|
|
38
38
|
Requires-Dist: ruff>=0.4; extra == 'lint'
|
|
39
39
|
Provides-Extra: opencode
|
|
40
|
-
Requires-Dist: pactkit-opencode<
|
|
40
|
+
Requires-Dist: pactkit-opencode<4.1.0,>=4.0.0; extra == 'opencode'
|
|
41
41
|
Provides-Extra: test
|
|
42
42
|
Requires-Dist: pytest>=7; extra == 'test'
|
|
43
43
|
Requires-Dist: tomli>=1.1.0; (python_version < '3.11') and extra == 'test'
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
| Version | Supported |
|
|
6
6
|
|---------|--------------------|
|
|
7
|
+
| 4.0.x | :white_check_mark: |
|
|
7
8
|
| 3.1.x | :white_check_mark: |
|
|
8
9
|
| 3.0.x | :white_check_mark: |
|
|
9
|
-
|
|
|
10
|
-
| < 2.27 | :x: |
|
|
10
|
+
| < 3.0 | :x: |
|
|
11
11
|
|
|
12
12
|
We provide security fixes for the current and previous minor release. Users on
|
|
13
13
|
older versions should upgrade — the version is reported by `pactkit version`,
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pactkit"
|
|
7
|
-
version = "
|
|
7
|
+
version = "4.0.0"
|
|
8
8
|
description = "Spec-driven agentic DevOps toolkit for AI coding assistants"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -75,8 +75,8 @@ Issues = "https://github.com/pactkit/pactkit-public/issues"
|
|
|
75
75
|
pactkit = "pactkit.cli:main"
|
|
76
76
|
|
|
77
77
|
[project.optional-dependencies]
|
|
78
|
-
opencode = ["pactkit-opencode>=
|
|
79
|
-
codex = ["pactkit-codex>=
|
|
78
|
+
opencode = ["pactkit-opencode>=4.0.0,<4.1.0"]
|
|
79
|
+
codex = ["pactkit-codex>=4.0.0,<4.1.0"]
|
|
80
80
|
visualize = [
|
|
81
81
|
"tree-sitter>=0.25",
|
|
82
82
|
"tree-sitter-go>=0.25",
|
|
@@ -922,10 +922,32 @@ def config_label_for(project_root: Path | str) -> str:
|
|
|
922
922
|
|
|
923
923
|
|
|
924
924
|
def resolve_pactkit_yaml_dir(cwd: Path | None = None, format: str | None = None) -> Path:
|
|
925
|
-
"""
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
925
|
+
"""Where a NEW pactkit.yaml is written for `format` (STORY-072 R2, STORY-slim-005 R6).
|
|
926
|
+
|
|
927
|
+
**This is a write path.** Reading resolves through
|
|
928
|
+
:func:`find_pactkit_yaml_layers` — the shared project policy plus the host
|
|
929
|
+
layer — and never calls this. Both production callers write
|
|
930
|
+
(`_generate_config_if_missing` and `project_contract.py`).
|
|
931
|
+
|
|
932
|
+
**Step 8 R-③-3 / AC-③-2 — the guessing fallback is deleted** (owner
|
|
933
|
+
2026-09-26). `format=None` used to be answered by guessing: first "which
|
|
934
|
+
candidate file already exists", then "which candidate's parent directory
|
|
935
|
+
happens to exist". Both made the write target a fact about the filesystem
|
|
936
|
+
rather than about the Host being deployed, and they disagreed with the
|
|
937
|
+
reader's own order — `PACTKIT_YAML_CANDIDATES` puts `opencode` first while
|
|
938
|
+
`pactkit_yaml_candidates(host)` puts `classic` first. Measured 2026-09-26:
|
|
939
|
+
|
|
940
|
+
mkdir .opencode && pactkit init --format classic
|
|
941
|
+
→ .opencode/pactkit.yaml, containing CLASSIC's config
|
|
942
|
+
|
|
943
|
+
The rule now: **reading may discover existing layers; writing must know
|
|
944
|
+
which format it is writing for.** A caller naming no format gets the classic
|
|
945
|
+
Host's path — a fixed, documented default rather than a guess, and one no
|
|
946
|
+
directory can change. Every production caller passes `format` explicitly.
|
|
947
|
+
|
|
948
|
+
`detect_host_format()` was the other candidate and was rejected on purpose:
|
|
949
|
+
it swaps a directory guess for an environment guess, and still lets a writer
|
|
950
|
+
resolve a target without knowing whose config it is producing.
|
|
929
951
|
"""
|
|
930
952
|
if cwd is None:
|
|
931
953
|
cwd = Path.cwd()
|
|
@@ -934,17 +956,7 @@ def resolve_pactkit_yaml_dir(cwd: Path | None = None, format: str | None = None)
|
|
|
934
956
|
if format and is_environment_format(format):
|
|
935
957
|
return cwd / get_profile(format).pactkit_yaml_path
|
|
936
958
|
|
|
937
|
-
#
|
|
938
|
-
for candidate in PACTKIT_YAML_CANDIDATES:
|
|
939
|
-
if (cwd / candidate).exists():
|
|
940
|
-
return cwd / candidate
|
|
941
|
-
# Dir-existence fallback (when yaml not yet created — e.g. first-time init)
|
|
942
|
-
for candidate in PACTKIT_YAML_CANDIDATES:
|
|
943
|
-
parent_dir = (cwd / candidate).parent
|
|
944
|
-
if parent_dir.is_dir():
|
|
945
|
-
return cwd / candidate
|
|
946
|
-
|
|
947
|
-
# Default fallback: classic
|
|
959
|
+
# No format: classic's path. Deterministic — NOT "whichever directory exists".
|
|
948
960
|
return cwd / get_profile("classic").pactkit_yaml_path
|
|
949
961
|
|
|
950
962
|
|
|
@@ -631,8 +631,18 @@ def _deploy_classic(
|
|
|
631
631
|
)
|
|
632
632
|
_deploy_ci(ci_provider, project_root, config)
|
|
633
633
|
|
|
634
|
-
# Generate pactkit.yaml at project-level if it doesn't exist (BUG-013)
|
|
635
|
-
|
|
634
|
+
# Generate pactkit.yaml at project-level if it doesn't exist (BUG-013).
|
|
635
|
+
#
|
|
636
|
+
# `format="classic"` is not decoration (SPEC-4.0-22 Step 8 R-③-2). Without
|
|
637
|
+
# it the path falls to `resolve_pactkit_yaml_dir`'s directory-existence
|
|
638
|
+
# fallback, which picks the first candidate whose PARENT DIRECTORY happens
|
|
639
|
+
# to exist — so a project carrying a `.opencode/` directory got CLASSIC's
|
|
640
|
+
# config written into `.opencode/pactkit.yaml`. Measured 2026-09-26:
|
|
641
|
+
# `mkdir .opencode && pactkit init --format classic` produced exactly that.
|
|
642
|
+
# The contract already exists in this repo (`prompts/rules.py`: "writes to
|
|
643
|
+
# the format-specific directory only. Never cross-write.") — this call site
|
|
644
|
+
# was the one place not honouring it.
|
|
645
|
+
_generate_config_if_missing(format="classic", project_root=project_root)
|
|
636
646
|
|
|
637
647
|
# Generate project-level CLAUDE.md (always regenerate) and CLAUDE.local.md (if missing) (STORY-040)
|
|
638
648
|
# Skip when target is specified (preview mode) to avoid modifying real project
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"all": {
|
|
5
5
|
"digests": {
|
|
6
6
|
"project/.claude/pactkit.yaml": "6ee8aab66c3587f8",
|
|
7
|
-
"target/.pactkit-version": "
|
|
8
|
-
"target/CLAUDE.md": "
|
|
7
|
+
"target/.pactkit-version": "e1d49c569ae09b2e",
|
|
8
|
+
"target/CLAUDE.md": "8e676a68e64e031e",
|
|
9
9
|
"target/agents/code-explorer.md": "c2e7f592fda4c272",
|
|
10
10
|
"target/agents/product-designer.md": "5b5ae0ff96a094ea",
|
|
11
11
|
"target/agents/qa-engineer.md": "487a69e0a2331209",
|
|
@@ -187,8 +187,8 @@
|
|
|
187
187
|
},
|
|
188
188
|
"classic": {
|
|
189
189
|
"digests": {
|
|
190
|
-
"home/.claude/.pactkit-version": "
|
|
191
|
-
"home/.claude/CLAUDE.md": "
|
|
190
|
+
"home/.claude/.pactkit-version": "e1d49c569ae09b2e",
|
|
191
|
+
"home/.claude/CLAUDE.md": "8e676a68e64e031e",
|
|
192
192
|
"home/.claude/agents/code-explorer.md": "c2e7f592fda4c272",
|
|
193
193
|
"home/.claude/agents/product-designer.md": "5b5ae0ff96a094ea",
|
|
194
194
|
"home/.claude/agents/qa-engineer.md": "487a69e0a2331209",
|
|
@@ -376,8 +376,8 @@
|
|
|
376
376
|
},
|
|
377
377
|
"codex": {
|
|
378
378
|
"digests": {
|
|
379
|
-
"home/.codex/.pactkit-version": "
|
|
380
|
-
"home/.codex/AGENTS.md": "
|
|
379
|
+
"home/.codex/.pactkit-version": "e1d49c569ae09b2e",
|
|
380
|
+
"home/.codex/AGENTS.md": "c524754b87591eca",
|
|
381
381
|
"home/.codex/rules/pactkit-runtime.md": "fd8a852e8b6d8dc7",
|
|
382
382
|
"home/.codex/skills/.pactkit-command-manifest.json": "ba46031e64fdcf77",
|
|
383
383
|
"home/.codex/skills/pactkit-analyze/SKILL.md": "61e170f41ac10860",
|
|
@@ -451,7 +451,7 @@
|
|
|
451
451
|
"project/.codex/.hooks.json.lock": "e3b0c44298fc1c14",
|
|
452
452
|
"project/.codex/AGENTS.local.md": "60600be9ba3e6fe1",
|
|
453
453
|
"project/.codex/hooks.json": "c3a75d34fc73a31e",
|
|
454
|
-
"project/.codex/pactkit.yaml": "
|
|
454
|
+
"project/.codex/pactkit.yaml": "6ee8aab66c3587f8",
|
|
455
455
|
"project/AGENTS.md": "c0b3df85845575ba"
|
|
456
456
|
},
|
|
457
457
|
"paths": [
|
|
@@ -538,7 +538,7 @@
|
|
|
538
538
|
"copilot": {
|
|
539
539
|
"digests": {
|
|
540
540
|
"project/.github/.pactkit-copilot-ownership.json": "6a79493891ae2910",
|
|
541
|
-
"project/.github/.pactkit-version": "
|
|
541
|
+
"project/.github/.pactkit-version": "e1d49c569ae09b2e",
|
|
542
542
|
"project/.github/agents/code-explorer.md": "470c09d6dc253467",
|
|
543
543
|
"project/.github/agents/product-designer.md": "a67877a4f729a5e1",
|
|
544
544
|
"project/.github/agents/qa-engineer.md": "bbefe7981ee1e665",
|
|
@@ -549,8 +549,8 @@
|
|
|
549
549
|
"project/.github/agents/system-medic.md": "5771158127a9163b",
|
|
550
550
|
"project/.github/agents/visual-architect.md": "374dc8ddf8d55af9",
|
|
551
551
|
"project/.github/copilot-instructions.local.md": "d2e16afa69faeb7e",
|
|
552
|
-
"project/.github/copilot-instructions.md": "
|
|
553
|
-
"project/.github/pactkit.yaml": "
|
|
552
|
+
"project/.github/copilot-instructions.md": "6fa905fd85fbe5ea",
|
|
553
|
+
"project/.github/pactkit.yaml": "6ee8aab66c3587f8",
|
|
554
554
|
"project/.github/prompts/project-act.prompt.md": "34eca00872d85c38",
|
|
555
555
|
"project/.github/prompts/project-check.prompt.md": "afb451a6f4603dae",
|
|
556
556
|
"project/.github/prompts/project-clarify.prompt.md": "d76915550014d45f",
|
|
@@ -632,7 +632,7 @@
|
|
|
632
632
|
},
|
|
633
633
|
"opencode": {
|
|
634
634
|
"digests": {
|
|
635
|
-
"home/.config/opencode/AGENTS.md": "
|
|
635
|
+
"home/.config/opencode/AGENTS.md": "bc9777f2d1da4ee0",
|
|
636
636
|
"home/.config/opencode/agents/code-explorer.md": "37f70e6591298036",
|
|
637
637
|
"home/.config/opencode/agents/product-designer.md": "4787453ddfbe4dd8",
|
|
638
638
|
"home/.config/opencode/agents/qa-engineer.md": "a762da03d68820e9",
|
|
@@ -718,6 +718,7 @@
|
|
|
718
718
|
"home/.config/opencode/skills/pactkit-trace/SKILL.md": "e48f67cade85c08c",
|
|
719
719
|
"home/.config/opencode/skills/pactkit-visualize/SKILL.md": "d7358a1a482c1690",
|
|
720
720
|
"home/.config/opencode/skills/pactkit-visualize/scripts/visualize.py": "edb663b28aceab91",
|
|
721
|
+
"project/.opencode/pactkit.yaml": "6ee8aab66c3587f8",
|
|
721
722
|
"project/AGENTS.md": "ca1b44d2c69f4309"
|
|
722
723
|
},
|
|
723
724
|
"paths": [
|
|
@@ -808,6 +809,7 @@
|
|
|
808
809
|
"home/.config/opencode/skills/pactkit-trace/SKILL.md",
|
|
809
810
|
"home/.config/opencode/skills/pactkit-visualize/SKILL.md",
|
|
810
811
|
"home/.config/opencode/skills/pactkit-visualize/scripts/visualize.py",
|
|
812
|
+
"project/.opencode/pactkit.yaml",
|
|
811
813
|
"project/AGENTS.md"
|
|
812
814
|
]
|
|
813
815
|
}
|
|
@@ -88,8 +88,8 @@
|
|
|
88
88
|
"project/.claude/settings.json"
|
|
89
89
|
],
|
|
90
90
|
"body_digests": {
|
|
91
|
-
"home/.claude/.pactkit-deployed.json": "
|
|
92
|
-
"home/.claude/CLAUDE.md": "
|
|
91
|
+
"home/.claude/.pactkit-deployed.json": "9376d4c653de1139744b144589c98751478d22d3948cbfe2a014159f10814f6c",
|
|
92
|
+
"home/.claude/CLAUDE.md": "8e676a68e64e031e1a34b8a1aae8412a294318b8f491bea451930b261813c9a1",
|
|
93
93
|
"home/.claude/agents/code-explorer.md": "c2e7f592fda4c272a45608c511225e99d6bbde13e6fd0be11a6d03238aecb360",
|
|
94
94
|
"home/.claude/agents/product-designer.md": "5b5ae0ff96a094ea9b6e839f0ced124208da157cdc478c969c4cf7cafa36226b",
|
|
95
95
|
"home/.claude/agents/qa-engineer.md": "487a69e0a2331209bdbe9cc8eb39c83919a2aa189c9f50df898dad3ad6bc5d68",
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
"project/AGENTS.md"
|
|
75
75
|
],
|
|
76
76
|
"body_digests": {
|
|
77
|
-
"home/.codex/.pactkit-deployed.json": "
|
|
78
|
-
"home/.codex/AGENTS.md": "
|
|
77
|
+
"home/.codex/.pactkit-deployed.json": "f3c23b6f0319f1602679533d4b6c69c3e752ab1bd4306d359ee22cfa5d17adf8",
|
|
78
|
+
"home/.codex/AGENTS.md": "c524754b87591ecadcad8b252180f97fd0c9eb4246f3ce13d8d536dac34af939",
|
|
79
79
|
"home/.codex/rules/pactkit-runtime.md": "fd8a852e8b6d8dc71ee980fdce731bffbcd189bc2507b0813c26f4114d44f64b",
|
|
80
80
|
"home/.codex/skills/.pactkit-command-manifest.json": "ba46031e64fdcf77ebea7fe352f2cdf2c3792876ab1724d3cb103d315e7770be",
|
|
81
81
|
"home/.codex/skills/pactkit-analyze/SKILL.md": "61e170f41ac108606adc180e15007eaae84db5369a12e49b4ba0bed119b7e059",
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"project/AGENTS.md"
|
|
87
87
|
],
|
|
88
88
|
"body_digests": {
|
|
89
|
-
"home/.config/opencode/.pactkit-deployed.json": "
|
|
90
|
-
"home/.config/opencode/AGENTS.md": "
|
|
89
|
+
"home/.config/opencode/.pactkit-deployed.json": "72d043f55c354164ca863f77be4fa9867d7dec420d39a99eb806f1556912c1bd",
|
|
90
|
+
"home/.config/opencode/AGENTS.md": "bc9777f2d1da4ee080e72e221b33a31a44b862671460102e753595fbde9a5084",
|
|
91
91
|
"home/.config/opencode/agents/code-explorer.md": "37f70e6591298036f4f9a31e7c32800afc75989929415a545c4219d3e9618a4c",
|
|
92
92
|
"home/.config/opencode/agents/product-designer.md": "4787453ddfbe4dd88b8145a888a00b2925bfa6b4cd9325f033e430d39416b8c0",
|
|
93
93
|
"home/.config/opencode/agents/qa-engineer.md": "a762da03d68820e99607e3b23270a9f831cd5ea65966de983b19842a17bfc1b2",
|
|
@@ -313,7 +313,9 @@ def _skip_lines(stdout: str) -> list[str]:
|
|
|
313
313
|
return [ln.strip() for ln in stdout.splitlines() if ln.strip().startswith(markers)]
|
|
314
314
|
|
|
315
315
|
|
|
316
|
-
def measure(
|
|
316
|
+
def measure(
|
|
317
|
+
hosts: tuple[str, ...] | None = None, *, allow_adapter_skew: bool = False
|
|
318
|
+
) -> dict[str, Snapshot]:
|
|
317
319
|
"""One deploy per host, in a fresh tree each time.
|
|
318
320
|
|
|
319
321
|
``hosts`` defaults to :func:`measurable_hosts` — deploying an adapter host
|
|
@@ -321,8 +323,23 @@ def measure(hosts: tuple[str, ...] | None = None) -> dict[str, Snapshot]:
|
|
|
321
323
|
``deploy()`` raises), so the measurement covers what this environment can
|
|
322
324
|
deploy and :func:`unmeasured_hosts` reports the rest. ``all`` is always
|
|
323
325
|
measured: it is Core's own composite path and needs no adapter.
|
|
326
|
+
|
|
327
|
+
``allow_adapter_skew`` is a **4.0 lockstep-bump regeneration escape hatch**,
|
|
328
|
+
and nothing else. During a lockstep release the core version moves first, so
|
|
329
|
+
every adapter is momentarily skewed by the (correct) deploy gate — and this
|
|
330
|
+
snapshot needs all four hosts deployable to record anything at all. Without
|
|
331
|
+
the hatch the golden could never be regenerated under the release order the
|
|
332
|
+
project actually uses.
|
|
333
|
+
|
|
334
|
+
It relaxes **only the version gate on the deploy**, not the artifacts: the
|
|
335
|
+
adapter's distribution version reaches no deployed file (measured
|
|
336
|
+
2026-09-26 — no production code reads it; the manifest records *core's*
|
|
337
|
+
``__version__``, which adapters re-export). The adapter bump is therefore
|
|
338
|
+
expected to leave the golden byte-identical, and the post-bump regeneration
|
|
339
|
+
without this flag is what proves it.
|
|
324
340
|
"""
|
|
325
341
|
hosts = measurable_hosts() if hosts is None else tuple(hosts)
|
|
342
|
+
skew = ["--allow-adapter-skew"] if allow_adapter_skew else []
|
|
326
343
|
result: dict[str, Snapshot] = {}
|
|
327
344
|
with tempfile.TemporaryDirectory(prefix="pactkit-snapshot-") as tmp:
|
|
328
345
|
base = Path(tmp)
|
|
@@ -330,7 +347,7 @@ def measure(hosts: tuple[str, ...] | None = None) -> dict[str, Snapshot]:
|
|
|
330
347
|
home, project = base / host / "home", base / host / "project"
|
|
331
348
|
home.mkdir(parents=True)
|
|
332
349
|
project.mkdir(parents=True)
|
|
333
|
-
proc = _run(["init", "--format", host], home, project)
|
|
350
|
+
proc = _run(["init", "--format", host, *skew], home, project)
|
|
334
351
|
if proc.returncode != 0:
|
|
335
352
|
raise SystemExit(
|
|
336
353
|
f"deploy for {host!r} failed (exit {proc.returncode}):\n"
|
|
@@ -355,7 +372,7 @@ def measure(hosts: tuple[str, ...] | None = None) -> dict[str, Snapshot]:
|
|
|
355
372
|
target = base / "all" / "target"
|
|
356
373
|
home.mkdir(parents=True)
|
|
357
374
|
project.mkdir(parents=True)
|
|
358
|
-
proc = _run(["init", "--format", "all", "-t", str(target)], home, project)
|
|
375
|
+
proc = _run(["init", "--format", "all", "-t", str(target), *skew], home, project)
|
|
359
376
|
if proc.returncode != 0:
|
|
360
377
|
raise SystemExit(
|
|
361
378
|
f"deploy for 'all' failed (exit {proc.returncode}):\n"
|
|
@@ -502,12 +519,21 @@ def main() -> int:
|
|
|
502
519
|
ap.add_argument("--write", action="store_true", help="record the measured snapshot as the golden")
|
|
503
520
|
ap.add_argument("--stability", action="store_true", help="measure twice and report what differs")
|
|
504
521
|
ap.add_argument("--verbose", action="store_true", help="list every compared field")
|
|
522
|
+
ap.add_argument(
|
|
523
|
+
"--allow-adapter-skew",
|
|
524
|
+
action="store_true",
|
|
525
|
+
help=(
|
|
526
|
+
"4.0 lockstep-bump regeneration escape hatch: pass through to "
|
|
527
|
+
"`init` so a momentarily-skewed adapter can still deploy. Only "
|
|
528
|
+
"relaxes the version gate; the artifacts are unchanged by it."
|
|
529
|
+
),
|
|
530
|
+
)
|
|
505
531
|
args = ap.parse_args()
|
|
506
532
|
|
|
507
533
|
if args.stability:
|
|
508
534
|
return stability()
|
|
509
535
|
|
|
510
|
-
measured = measure()
|
|
536
|
+
measured = measure(allow_adapter_skew=args.allow_adapter_skew)
|
|
511
537
|
if args.write:
|
|
512
538
|
return write_golden(measured)
|
|
513
539
|
return diff_against_golden(measured, args.verbose)
|
|
@@ -29,16 +29,33 @@ class DeployUnavailable(RuntimeError):
|
|
|
29
29
|
"""A host whose adapter is missing or skewed cannot be snapshotted."""
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
def deploy(host: str, base: Path) -> Path:
|
|
33
|
-
"""Deploy `host` into `base`, honouring an isolated HOME.
|
|
32
|
+
def deploy(host: str, base: Path, *, allow_adapter_skew: bool = False) -> Path:
|
|
33
|
+
"""Deploy `host` into `base`, honouring an isolated HOME.
|
|
34
|
+
|
|
35
|
+
``allow_adapter_skew`` is the **4.0 lockstep-bump regeneration escape
|
|
36
|
+
hatch**, and nothing else. During a lockstep release the core version moves
|
|
37
|
+
first, so every adapter is momentarily skewed by the (correct) deploy gate —
|
|
38
|
+
and this script needs all four hosts deployable or it pins fewer hosts than
|
|
39
|
+
the golden has and refuses (the PR #13 lesson). Without the hatch the
|
|
40
|
+
goldens could never be regenerated under the release order this project
|
|
41
|
+
actually uses.
|
|
42
|
+
|
|
43
|
+
It relaxes **only the version gate on the deploy**. The adapter's
|
|
44
|
+
distribution version reaches no deployed file (measured 2026-09-26: no
|
|
45
|
+
production code reads it; the manifest records *core's* ``__version__``,
|
|
46
|
+
which adapters re-export), so the adapter bump is expected to leave the
|
|
47
|
+
goldens byte-identical — and the post-bump regeneration *without* this flag
|
|
48
|
+
is what proves it.
|
|
49
|
+
"""
|
|
34
50
|
home = base / host / "home"
|
|
35
51
|
project = base / host / "project"
|
|
36
52
|
home.mkdir(parents=True)
|
|
37
53
|
project.mkdir(parents=True)
|
|
38
54
|
(project / ".git" / "hooks").mkdir(parents=True)
|
|
39
55
|
|
|
56
|
+
skew = ["--allow-adapter-skew"] if allow_adapter_skew else []
|
|
40
57
|
proc = subprocess.run(
|
|
41
|
-
[sys.executable, "-m", "pactkit", "init", "--format", host],
|
|
58
|
+
[sys.executable, "-m", "pactkit", "init", "--format", host, *skew],
|
|
42
59
|
capture_output=True, text=True, cwd=project, timeout=180,
|
|
43
60
|
env={
|
|
44
61
|
"PATH": "/usr/bin:/bin",
|
|
@@ -119,6 +136,8 @@ def main() -> int:
|
|
|
119
136
|
# is being retired).
|
|
120
137
|
before = pinned_hosts()
|
|
121
138
|
allow_shrink = "--allow-shrink" in sys.argv
|
|
139
|
+
# 4.0 lockstep-bump regeneration escape hatch — see `deploy()`.
|
|
140
|
+
allow_skew = "--allow-adapter-skew" in sys.argv
|
|
122
141
|
for host in HOSTS:
|
|
123
142
|
import importlib.metadata
|
|
124
143
|
|
|
@@ -137,7 +156,7 @@ def main() -> int:
|
|
|
137
156
|
base = Path(tmp)
|
|
138
157
|
for host in HOSTS:
|
|
139
158
|
try:
|
|
140
|
-
root = deploy(host, base)
|
|
159
|
+
root = deploy(host, base, allow_adapter_skew=allow_skew)
|
|
141
160
|
except DeployUnavailable as exc:
|
|
142
161
|
# Reported, not swallowed: a host that stays unpinned is a real
|
|
143
162
|
# gap in the parity suite.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"""三态可用性门禁**自己的**见证者。
|
|
2
|
+
|
|
3
|
+
`_adapter_availability` 的存在理由是一次假绿:2026-09-25 共享 runner 的
|
|
4
|
+
toolcache 里躺着三个不同版本的 adapter,套件看上去「装备齐全」,唯一的信号是
|
|
5
|
+
某条无关测试深处的一个 skew 报错。门禁把那种状态变成大声的失败。
|
|
6
|
+
|
|
7
|
+
**这里补的是它一直没有的东西(2026-09-26)。** 在写这个文件之前,没有任何
|
|
8
|
+
断言针对门禁自身的行为。实测:把 `_fail_if_half_equipped` 的 `partial` 分支短路
|
|
9
|
+
——也就是把这个缺陷重新折叠回沉默——core 全量仍是 `6865 passed, 10 skipped`,
|
|
10
|
+
与基线逐字相同。**一个存在意义就是让假绿不可能发生的机制,自己没有见证者。**
|
|
11
|
+
|
|
12
|
+
四条用例**模拟**状态而不是依赖环境,所以在 core-only CI 与四宿主齐全的机器上
|
|
13
|
+
运行结果完全一致——这是刻意的:门禁的价值恰恰在「环境本身可能坏掉」的场合,
|
|
14
|
+
而那种场合不能是运行它的前提。
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
import pytest
|
|
20
|
+
|
|
21
|
+
import _adapter_availability as A
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@pytest.fixture
|
|
25
|
+
def states(monkeypatch):
|
|
26
|
+
"""把 `require_the_shipped_adapters` 从指定环境驱动起来。"""
|
|
27
|
+
|
|
28
|
+
def _set(present: set[str], skewed: dict[str, list[str]] | None = None):
|
|
29
|
+
monkeypatch.setattr(A, "_all_registered", lambda: {"classic", *present})
|
|
30
|
+
monkeypatch.setattr(A, "_skewed", lambda: dict(skewed or {}))
|
|
31
|
+
|
|
32
|
+
return _set
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class TestTheGateDistinguishesThreeStates:
|
|
36
|
+
def test_none_skips_quietly(self, states):
|
|
37
|
+
"""一个 adapter 都没有是**合法配置**——core-only 跑就该安静跳过。"""
|
|
38
|
+
states(set())
|
|
39
|
+
with pytest.raises(pytest.skip.Exception) as exc:
|
|
40
|
+
A.require_the_shipped_adapters()
|
|
41
|
+
assert "core-only" in str(exc.value)
|
|
42
|
+
|
|
43
|
+
def test_partial_fails_loudly(self, states):
|
|
44
|
+
"""**半装备是环境缺陷,不是「判不了」**——2026-09-25 假绿正是这个形态。"""
|
|
45
|
+
states({"opencode"})
|
|
46
|
+
with pytest.raises(pytest.fail.Exception) as exc:
|
|
47
|
+
A.require_the_shipped_adapters()
|
|
48
|
+
assert "partial adapter install" in str(exc.value), (
|
|
49
|
+
"半装备被折叠成了别的结论——这正是门禁存在的理由"
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
def test_skew_fails_loudly(self, states):
|
|
53
|
+
"""三个都在但版本对不上,同样是环境缺陷,同样必须大声。"""
|
|
54
|
+
states({"opencode", "codex", "copilot"}, {"codex": ["incompatible"]})
|
|
55
|
+
with pytest.raises(pytest.fail.Exception) as exc:
|
|
56
|
+
A.require_the_shipped_adapters()
|
|
57
|
+
assert "adapter skew" in str(exc.value)
|
|
58
|
+
|
|
59
|
+
def test_complete_runs(self, states):
|
|
60
|
+
"""阳性对照:装备齐全时**不许**抛任何东西。
|
|
61
|
+
|
|
62
|
+
少了这条,「门禁永远报错」也能让上面三条各自通过。
|
|
63
|
+
"""
|
|
64
|
+
states({"opencode", "codex", "copilot"})
|
|
65
|
+
A.require_the_shipped_adapters() # 不抛 = 该跑就跑
|
|
66
|
+
|
|
67
|
+
def test_the_four_cases_are_not_all_the_same(self, states):
|
|
68
|
+
"""反空转:四种状态必须给出**四种不同**的结论。
|
|
69
|
+
|
|
70
|
+
上面每条只断言「抛了某个异常」,所以一个把所有情况都变成 skip 的门禁
|
|
71
|
+
照样能让它们全绿。这条把它们并排比,逼出区分度本身。
|
|
72
|
+
"""
|
|
73
|
+
outcomes = []
|
|
74
|
+
for present, skewed in (
|
|
75
|
+
(set(), None),
|
|
76
|
+
({"opencode"}, None),
|
|
77
|
+
({"opencode", "codex", "copilot"}, {"codex": ["x"]}),
|
|
78
|
+
({"opencode", "codex", "copilot"}, None),
|
|
79
|
+
):
|
|
80
|
+
states(present, skewed)
|
|
81
|
+
try:
|
|
82
|
+
A.require_the_shipped_adapters()
|
|
83
|
+
outcomes.append("run")
|
|
84
|
+
except pytest.skip.Exception:
|
|
85
|
+
outcomes.append("skip")
|
|
86
|
+
except pytest.fail.Exception:
|
|
87
|
+
outcomes.append("fail")
|
|
88
|
+
assert outcomes == ["skip", "fail", "fail", "run"], outcomes
|