pactkit 3.0.2__tar.gz → 3.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pactkit might be problematic. Click here for more details.
- {pactkit-3.0.2 → pactkit-3.0.3}/.secrets.baseline +6 -6
- {pactkit-3.0.2 → pactkit-3.0.3}/CHANGELOG.md +37 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/PKG-INFO +1 -1
- pactkit-3.0.3/docs/architecture/governance/lessons/LESSON-20260921055739-5f89ab5c4b.md +10 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/rules.md +1 -1
- pactkit-3.0.3/docs/product/stories/STORY-slim-202609217251f027db09.yaml +28 -0
- pactkit-3.0.3/docs/specs/STORY-slim-202609217251f027db09.md +256 -0
- pactkit-3.0.3/docs/test_cases/STORY-slim-202609217251f027db09_case.md +136 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/pyproject.toml +1 -1
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/__init__.py +1 -1
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/cli.py +15 -4
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/evidence_measure.py +23 -9
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/regression.py +216 -26
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/spec_preflight.py +61 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/acceptance/test_verification_acceptance.py +1 -1
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/regression.txt +6 -1
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/host_prompt_snapshots/classic.json +2 -2
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/host_prompt_snapshots/codex.json +2 -2
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/host_prompt_snapshots/opencode.json +2 -2
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_contract_conflict_fixes.py +23 -23
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_gate_reuse_dedup.py +6 -6
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260915ac3e5c24fdd3_governance.py +4 -4
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260920826d30afae88_evidence_wiring.py +20 -3
- pactkit-3.0.3/tests/unit/test_story_slim202609217251f027db09_evidence_lifecycle.py +398 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_verification_decision.py +11 -11
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_verification_scope_records.py +43 -33
- {pactkit-3.0.2 → pactkit-3.0.3}/.codegraph/.gitignore +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/.github/workflows/pactkit.yml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/.github/workflows/publish.yml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/.github/workflows/release-acceptance.yml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/.gitignore +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/.pre-commit-config.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/AGENTS.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/CODE_OF_CONDUCT.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/CONTRIBUTING.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/LICENSE +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/README.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/SECURITY.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/STORY-slim-20260911b2bbd79889e0-review-round2.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/STORY-slim-202609144d0b3cb593aa-context-reuse.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/dimensions.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/INDEX.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/driver3.sh +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/driver4.sh +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC1/docs/specs/AC1.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC1/src/profile.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC1/tests/unit/test_profile.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC10/docs/ACT_NOTES.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC10/docs/specs/AC10.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC10/src/billing.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC2/docs/VERIFY.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC2/docs/specs/AC2.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC2/src/textutil.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC2/tests/unit/test_textutil.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC3/docs/specs/AC3.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC4/docs/specs/AC4.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC4/src/reporter.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC5/db/migrations/001_rename.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC5/docs/specs/AC5.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC5/premise.sh +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC5/src/deployer.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC5/src/workflow_engine.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC6/docs/specs/AC6.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC6/src/pull.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC7/NEEDS_GIT +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC7/docs/specs/AC7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC7/post_git.sh +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC7/premise.sh +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC7/src/audit.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC7/tests/unit/test_audit.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC8/NEEDS_GIT +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC8/docs/specs/AC8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC8/post_git.sh +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC8/premise.sh +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC8/src/audit.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC8/tests/unit/test_audit.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC9/NEEDS_GIT +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC9/docs/specs/AC9.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC9/post_git.sh +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC9/premise.sh +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC9/src/audit.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/AC9/tests/unit/test_audit.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/_template/README.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/_template/src/widget.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/fixtures/_template/tests/unit/test_widget.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/harness.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC1.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC10.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC2.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC3.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC4.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC5.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC6.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC7.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC8.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/prompts/AC9.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC1-r2.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC1-r3.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC10-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC2-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC3-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC4-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC5-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC5-r2.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC6-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC7-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC7-r2.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC8-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC9-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/baseline/AC9-r2.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC1-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC1-r2.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC1-r3.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC10-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC2-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC3-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC4-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC5-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC5-r2.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC6-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC7-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC7-r2.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC8-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC9-r1.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round1/candidate/AC9-r2.json.gz +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC1-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC1-r12.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC1-r2.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC10-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC2-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC3-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC4-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC5-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC5-r2.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC6-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC7-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC7-r2.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC8-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC8-r11.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC9-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC9-r11.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/baseline/AC9-r2.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC1-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC1-r12.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC1-r2.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC10-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC2-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC3-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC4-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC5-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC5-r2.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC6-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC7-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC7-r11.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC7-r2.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC8-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC9-r1.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC9-r11.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/acceptance/r8-trial/records/round3/candidate/AC9-r2.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/adr/ADR-0001-compliance-enforcement-lives-in-code-gates-promp.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/adr/ADR-0002-guides-carry-operational-practice-content-not-ju.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/adr/ADR-0003-rule-telemetry-is-consumed-at-code-touchpoints-w.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/adr/ADR-0004-verification-decisions-are-structured-data-consu.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/adr/ADR-0005-rule-adjustments-are-evaluated-on-a-fixed-corpus.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/adr/ADR-0006-verification-evidence-is-stamped-by-code-touchpo.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/adr/ADR-0007-config-layering-with-tighten-only-direction-cons.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/adr/ADR-0008-semantic-code-queries-go-through-the-pactkit-que.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/adr/ADR-0009-measured-evidence-and-declared-evidence-must-be.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/archive/lessons_archive_202602.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/archive/lessons_archive_202603.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/archive/lessons_archive_202604.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/harness_audit.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/legacy-done-records.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260227-8e92f52c86.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260227-a21cacfde2.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260227-ccb19799ea.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260228-6e4b02ff08.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260228-b87245d5fc.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260302-8980b2512d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260302-8f58fa2045.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260302-a3a1b7900e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260303-3f65c0442b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260304-23c605e495.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260304-8bd6c10219.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260305-129d1dea2a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260305-48752d79c3.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260305-b9afdd8720.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260305-f93ee5b19f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260306-7061390095.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260313-edf7807faf.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260316-091567c2bb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260316-4661b3789a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260316-7214dac8fc.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-3d8a855086.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-4ba69c35f0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-6cd2a53ba5.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-7a0dd3407e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-86927e3701.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-9a8025eaac.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-a0721cc066.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-a1f53d759b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-a9f7897b36.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260317-ff430eaa29.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260318-fb0bcd928b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260319-f320fbb5cc.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260320-b2d80c56b3.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260320-c102dbd6f8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260320-e8f6ddae81.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260321-5e57da75b0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260321-6a4a30628f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260321-b5a58de3f9.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260321-e0138991ed.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260321-e49663fc95.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260322-4c0480e882.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260322-d1ece5c0d4.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260323-4bd30888ce.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260323-7a02b3eb85.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260323-8624e0d93a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260323-a8faeea78c.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-075e3332b8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-0f6f041a52.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-2dab5931de.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-8bcda73e9b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-9e6238f0c8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-a1cace9846.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-bf64dd9564.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-c344d7655c.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-e60c50dcc9.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260324-f5149caffe.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260325-1a5eeea04c.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-02460b22de.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-09de627b2b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-204ea48f84.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-32e2fd3074.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-6c6dbfc365.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-7811ad7ff2.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-88e7123370.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-d2376010b1.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-e4f0eb8850.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-e68b8aa47f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260326-fdd06ad981.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260327-e3c7f5abcb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260330-eb1760def2.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260331-1b58a289ea.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260331-26e474753e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260331-3028ab9cf5.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260331-350048862b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260331-7d41cdf5a3.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260331-8e5558a077.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260331-c46df1c3b1.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260401-41515789f6.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260401-4453752dda.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260401-5a225a1c0a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260401-90724b10f0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260401-9e322eb76e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260401-bd20019d3d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260401-de035be681.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260401-f44c8f499e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260401-fa52f596ff.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260402-5b063207c8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260402-5e0913ec81.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260415-3d8b5e8f81.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260415-84219771ca.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260416-41d4564480.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260416-5cdc3cf53f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260416-807c65a8e7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260416-ade561c777.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260416-b78aaf129a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260416-db8a5430a0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260416-f5a765c496.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260417-f1d777e9c9.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260418-ee12f2ff0d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260420-2260437be7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260420-a35a083e29.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260420-fa7d958d56.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260421-309c998a10.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260422-6509ac4df0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260422-8dd5ed6a24.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260423-b0890ad9c2.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260424-24cc1d5e19.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260424-39a99c887d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260427-f7955d5775.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260507-7b75a5cab8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260507-b26f97255d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260525-1fe96d2ff4.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260525-717e18e190.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260525-df4853fa3f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260526-4c230f3a9d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260601-6d6b779a83.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260601-e65d3407ed.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260610-51c3cf895e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260629-6171e54ac8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260702-4616caa284.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260713-da6d40dcc0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260723-d4c9801300.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260813-18efcf9687.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260813-1dc6e2e1c7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260813-21d4da632f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260817-3587ae1a22.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260817-5f08a6affa.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260817-800f717c9d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260817-a2cd839a2d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260822-9175485749.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260822105138-298451a42c.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260822105138-522c7e4af4.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260822105138-72cc1d0343.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260823015950-6b8cbea92e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260823022240-d3570f57fb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260823050717-9192db37f8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260826072120-c6db5dd5b1.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260826074629-f5119ea78b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260826080242-012107ada2.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260826082256-eff3747d60.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260827093143-3236113033.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260827095642-059a7e996b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260827102057-e04522a6fc.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260828102433-81cd3e00a0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260830034504-4f7d0f8c58.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260902100234-6fa7694bad.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260903031356-434a87fc47.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260903074136-2ad6569039.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260903074336-9d34da327e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260903105934-7f4db3bb3d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260905225746-b931bfdd36.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260905225755-a1676b4a92.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260905232251-99aae9139a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260909071100-ae89cd100f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260909071100-f0c830f573.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260911140126-2a137f5de7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260914134141-1b7d68cc0d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260915101454-f5cd8980ed.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260915101507-81b164b62d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260916025924-0161b23415.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260916060833-a56ceb5473.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260916071655-f231d85eeb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260916073935-f3b66ad2fa.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918101218-13c6881daa.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918101225-8203b3d79d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918101234-1fb486910f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918101234-c06eb97892.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918101234-c82d448fd7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918124317-8bee6134b2.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918124317-e6d9c684b6.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918124325-22cd2b7605.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918145450-3d92bd7b26.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260918145811-54f64772fb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260919002744-9231d3a3c4.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260919010001-a8a62ea231.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260919030717-a8b2f65085.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260920072822-88ef70cc14.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260920093840-9b61b1e558.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260921014230-4649c460d5.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons/LESSON-20260921030026-a028be9c10.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/lessons.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/philosophy.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/postmortems/PM-20260903-codex-stale-embedded-copies.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/postmortems/PM-20260903-opencode-ledger-wipe.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/postmortems/PM-20260918-cli-type-signal.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/postmortems/PM-20260918-dead-code-audit.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/postmortems/PM-20260918-testcase-supply-gap.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/governance/postmortems/PM-20260920-doctor-verdict-divergence.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/graphs/reverse_call_graph.mmd +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/graphs/system_design.mmd +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/architecture/graphs/workflow_graph.mmd +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/assets/logo.png +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/e2e/journey.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/guides/baseline-signing-options.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/guides/codex-integration-preresearch.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/guides/credential-incident-response.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/guides/host-channel-onboarding.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/guides/opencode-pretool-channel-evidence.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/guides/release-recovery-runbook.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/guides/spec-authoring-conventions.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/guides/support-matrix.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/guides/tool-integration-checklist.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/architecture-slimming-metrics.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/archive/archive_202602.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/archive/archive_202603.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/archive/archive_202604.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/archive/archive_202605.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/archive/archive_202606.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/archive/archive_202607.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/archive/archive_202608.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/config-retirement-audit.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/friction-log.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/harness-comparison-2026-08-27.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/planning/STORY-slim-20260917e7a26d4bc981.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/prd.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/sprint_board.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/BUG-slim-20260920225f30d563a1.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-127.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-131.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-132.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260828ee6cde3108fb.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260830bbb5bc219d35.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260901469666ef23a8.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260903d464746b1909.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-202609061713452e9748.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-2026090643cc9415bb85.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-202609064f74efbe75ac.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-2026090656e948c25a14.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260906a1457ace4c11.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260906a71fc0080034.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260906ac9bf3ab9910.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-2026091645aa03e71927.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-202609166519bc076345.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-202609166a956c024963.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-2026091673a4d1c8c33b.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260916991f0b0d0a2e.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-2026091699cba1b49506.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260916bcd9deb4bec0.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260916c4f2a9e6b013.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-20260916cccbb8ee26fb.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/HOTFIX-slim-202609200d44cb016534.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-115.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-118.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-119.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-145.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-147.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-148.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-149.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026082381e832771d4e.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260823d854b0cf1875.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260823de7e85d6042a.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260825b1c83a046b4b.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202608264cf429c75e22.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026082672b57c78fd67.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202608267c3989223b4d.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202608268fc379dbe6ef.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260826ac1f0bfe4148.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260826cb37edfdd4da.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260826ce35b77ce005.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260826f9492ab32c3d.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260827024e71df170f.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026082727cc4ab535e7.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026082730b5954cf538.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260827625b870eb7da.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202608277ec1236a7b99.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260827833e7a200f9a.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260827855bf3efaec3.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026082799fa651655be.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260827c67e3add6af5.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260827d0ae0dfada51.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260827eddbe9669c87.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260827fb6291b717eb.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260827fc9de5542ad7.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260828897396a935ab.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202608289e83eeb30df4.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260828d43fae4edbb6.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260830c65491123af1.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609025bc9246b6a54.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026090301691dea72e8.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026090333d6b72f7645.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260903699c84c217e0.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609037a7d4be200e7.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260903a24e1ece0d7f.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260903a4ef6915ed62.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260903b5ce6be5f7e0.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260905efced66ebc9c.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026090699752886f924.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260909b90ba785f55a.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260909e47c92ef09ec.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609110568ba869adb.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609110d1567cfbc04.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026091122a1144a1ac5.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260911453c59076a8a.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260911511cde75db9b.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260911614214d936d9.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026091171392be2a603.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026091184808465e1fc.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260911912c981c9d5e.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609119b5e42fd459a.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260911ab8de391c5a9.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260911b1e7c94d3f28.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260911b2bbd79889e0.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260911ba339646a2da.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260911c4a8e17b6d02.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260912ddc450b6fdcf.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609144d0b3cb593aa.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026091519c812a6db71.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260915ac3e5c24fdd3.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260915eaf18678ce23.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609160fe9825c04b7.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026091644dd0bd263d1.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609165747a3fc13b8.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260916823f60779f1a.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260916e9aadb6b2b46.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609171e19122d7b1b.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609174672386c4e73.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609174b30394b3eaf.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609175412dd8da7e0.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026091769e0a79767ff.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260917a68895632abb.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260917a76a62f23124.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260917beaa87bc5d27.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260917c18f4a962b70.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260917c943d7aaeb7c.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260917cb17ae9bbc87.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026091806bbe53c5884.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260918164ea9fe09e9.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260918864001ab2cad.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026091893aad6f3d8ac.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609189a690adb96b7.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260918dda35a04d01d.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260918e76e4a89b0ad.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260919752e74b3f591.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260919b7362f043437.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-2026092010bf0bf77b9f.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609202886076c407c.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609204f623f7bd50c.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-202609206d5dc5792609.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260920826d30afae88.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260920a857d99c2c6e.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260920bc98b2d93bc7.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260920c77797299eba.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260920de88ba290110.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/product/stories/STORY-slim-20260921c7a3f696f79f.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/reference/phases.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/reference/rules.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/reference/workflow-units.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-001.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-002.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-003.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-004.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-005.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-006.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-007.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-008.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-009.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-010.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-011.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-012.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-013.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-014.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-015.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-016.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-017.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-018.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-019.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-020.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-021.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-022.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-023.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-024.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-025.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-026.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-027.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-028.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-029.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-030.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-031.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-032.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-033.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-034.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-035.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-slim-001.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-slim-002.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-slim-003.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-slim-004.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-slim-005.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-slim-006.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-slim-089.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-slim-107.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/BUG-slim-20260920225f30d563a1.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-023.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-049.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-050.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-051.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-052.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-061.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-062.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-067.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-069.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-070.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-085.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-087.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-096.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-099.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-107.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-117.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-122.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-123.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-126.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-127.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-130.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-131.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-132.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260828ee6cde3108fb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260830bbb5bc219d35.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260901469666ef23a8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260903d464746b1909.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-202609061713452e9748.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-2026090643cc9415bb85.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-202609064f74efbe75ac.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-2026090656e948c25a14.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260906a1457ace4c11.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260906a71fc0080034.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260906ac9bf3ab9910.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-2026091645aa03e71927.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-202609166519bc076345.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-202609166a956c024963.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-2026091673a4d1c8c33b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260916991f0b0d0a2e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-2026091699cba1b49506.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260916bcd9deb4bec0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260916c4f2a9e6b013.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-20260916cccbb8ee26fb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/HOTFIX-slim-202609200d44cb016534.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-001.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-002.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-003.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-004.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-005.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-006.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-007.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-008.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-009.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-010.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-011.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-012.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-013.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-014.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-015.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-016.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-017.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-018.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-019.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-020.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-021.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-022.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-023.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-024.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-025.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-026.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-027.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-028.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-029.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-030.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-031.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-032.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-033.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-034.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-035.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-036.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-037.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-038.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-039.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-040.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-041.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-042.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-043.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-044.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-045.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-046.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-047.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-048.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-049.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-050.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-051.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-052.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-053.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-054.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-055.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-056.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-057.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-058.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-059.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-060.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-061.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-062.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-063.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-064.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-065.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-069.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-070.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-071.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-072.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-073.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-001.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-005.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-006.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-007.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-009.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-010.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-011.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-012.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-013.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-014.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-015.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-016.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-017.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-018.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-019.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-020.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-021.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-022.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-023.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-024.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-028.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-029.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-030.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-031.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-032.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-033.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-034.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-035.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-036.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-037.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-038.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-039.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-040.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-041.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-042.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-043.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-044.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-045.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-046.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-047.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-048.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-049.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-050.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-051.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-052.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-053.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-054.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-055.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-056.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-057.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-058.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-059.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-060.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-063.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-066.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-067.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-068.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-069.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-070.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-071.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-072.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-073.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-074.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-075.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-076.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-077.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-078.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-079.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-080.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-081.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-082.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-083.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-084.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-086.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-088.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-089.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-090.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-091.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-092.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-093.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-094.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-095.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-097.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-098.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-099.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-100.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-101.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-102.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-103.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-104.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-105.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-106.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-107.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-108.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-109.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-110.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-111.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-112.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-113.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-114.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-115.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-116.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-118.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-119.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-120.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-121.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-124.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-125.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-126.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-127.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-128.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-129.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-132.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-133.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-134.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-135.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-136.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-137.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-138.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-139.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-140.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-141.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-142.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-143.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-144.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-145.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-146.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-147.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-148.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-149.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026082381e832771d4e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260823d854b0cf1875.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260823de7e85d6042a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026082466c8670d9655.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260824dd23a0ed3b4c.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260825b1c83a046b4b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202608264cf429c75e22.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026082672b57c78fd67.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202608267c3989223b4d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202608268fc379dbe6ef.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260826ac1f0bfe4148.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260826cb37edfdd4da.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260826ce35b77ce005.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260826f9492ab32c3d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260827024e71df170f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026082727cc4ab535e7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026082730b5954cf538.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260827625b870eb7da.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260827833e7a200f9a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260827855bf3efaec3.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026082799fa651655be.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260827d0ae0dfada51.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260827eddbe9669c87.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260827fb6291b717eb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260827fc9de5542ad7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260828897396a935ab.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202608289e83eeb30df4.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260828d43fae4edbb6.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260830c65491123af1.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609025bc9246b6a54.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026090301691dea72e8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026090333d6b72f7645.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260903699c84c217e0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609037a7d4be200e7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260903a24e1ece0d7f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260903a4ef6915ed62.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260903b5ce6be5f7e0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260905efced66ebc9c.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026090699752886f924.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260909b90ba785f55a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260909e47c92ef09ec.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609110568ba869adb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609110d1567cfbc04.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026091122a1144a1ac5.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260911453c59076a8a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260911511cde75db9b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260911614214d936d9.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026091171392be2a603.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026091184808465e1fc.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260911912c981c9d5e.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609119b5e42fd459a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260911ab8de391c5a9.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260911b1e7c94d3f28.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260911b2bbd79889e0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260911c4a8e17b6d02.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609144d0b3cb593aa.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260915ac3e5c24fdd3.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260915eaf18678ce23.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609160fe9825c04b7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026091644dd0bd263d1.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609165747a3fc13b8.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260916823f60779f1a.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260916b5beb25459bd.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260916e9aadb6b2b46.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609171e19122d7b1b.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609174672386c4e73.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609174b30394b3eaf.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609175412dd8da7e0.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026091769e0a79767ff.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260917a68895632abb.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260917a76a62f23124.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260917beaa87bc5d27.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260917c18f4a962b70.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260917c943d7aaeb7c.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260917cb17ae9bbc87.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026091806bbe53c5884.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260918164ea9fe09e9.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260918864001ab2cad.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026091893aad6f3d8ac.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-202609189a690adb96b7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260918dda35a04d01d.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260918e76e4a89b0ad.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260919752e74b3f591.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260919b7362f043437.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-2026092010bf0bf77b9f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260920826d30afae88.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260920bc98b2d93bc7.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/specs/STORY-slim-20260921c7a3f696f79f.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/BUG-001_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/BUG-002_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-028_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-029_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-031_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-032_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-033_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-034_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-135_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-136_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-137_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-138_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-139_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-140_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-141_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-142_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-143_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-144_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-146_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-147_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-148_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-149_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-2026082381e832771d4e_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260823d854b0cf1875_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260823de7e85d6042a_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260825b1c83a046b4b_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-202608264cf429c75e22_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-2026082672b57c78fd67_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-202608267c3989223b4d_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-202608268fc379dbe6ef_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260826ac1f0bfe4148_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260826cb37edfdd4da_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260826ce35b77ce005_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260826f9492ab32c3d_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260827024e71df170f_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-2026082799fa651655be_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260827eddbe9669c87_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260827fc9de5542ad7_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260828897396a935ab_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260830c65491123af1_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-202609025bc9246b6a54_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-2026090301691dea72e8_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-2026090333d6b72f7645_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260903699c84c217e0_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-202609037a7d4be200e7_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260903a24e1ece0d7f_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260903a4ef6915ed62_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260903b5ce6be5f7e0_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260905efced66ebc9c_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260909b90ba785f55a_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260909e47c92ef09ec_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260911b2bbd79889e0_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260911c4a8e17b6d02_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-202609144d0b3cb593aa_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260915ac3e5c24fdd3_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260915eaf18678ce23_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-202609160fe9825c04b7_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-2026091644dd0bd263d1_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-202609165747a3fc13b8_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260916823f60779f1a_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260916e9aadb6b2b46_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-2026091806bbe53c5884_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260918164ea9fe09e9_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260918864001ab2cad_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-202609189a690adb96b7_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260918dda35a04d01d_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260919752e74b3f591_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260919b7362f043437_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-2026092010bf0bf77b9f_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260920826d30afae88_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260920bc98b2d93bc7_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/docs/test_cases/STORY-slim-20260921c7a3f696f79f_case.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/opencode.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/__main__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/accept_candidates.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/audit.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/auth_gate.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/backfill.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/baseline.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/bypass_message.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/cleaners.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/codegraph_data.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/commit_gate.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/config.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/context_gen.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/continuation.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/coverage_gate.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/delivery_evidence.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/deploy_manifest.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/deployment_transaction.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/deps.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/doctor.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/done_verify.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/enforcement.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/garden.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/gate_matrix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/gate_migration.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/generators/__init__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/generators/claude_md.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/generators/command_ownership.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/generators/deploy_base.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/generators/deployer.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/generators/opencode_plugin.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/governance.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/graph_query.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/guards.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/host_continuation.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/host_payloads.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/id_generator.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/invariants.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/issue_sync.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/lazy_visualize.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/legacy/__init__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/legacy/host_continuation.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/legacy/usage.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/legacy/workflow_engine.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/lessons.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/lint_runner.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/mmd_retirement.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/observe.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/orchestration_cost.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/portable_methods.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/precommit_bridge.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/profiles.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/project_bootstrap.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/project_contract.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/project_root.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/prompts/__init__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/prompts/agents.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/prompts/commands.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/prompts/guides.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/prompts/references.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/prompts/rules.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/prompts/skills.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/prompts/workflows.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/protocols.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/reference.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/risk_profile.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/rule_diagnostics.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/rule_events.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/rules_eval.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/run_events.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/run_stats.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/schemas.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/sec_scope.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/secrets_baseline.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/secrets_engine.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/secrets_gate.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/session_gate.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/__init__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/analyzers/__init__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/analyzers/go_analyzer.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/analyzers/java_analyzer.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/analyzers/python_analyzer.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/analyzers/ts_analyzer.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/board.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/interface_summary.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/mmd_render.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/report.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/scaffold.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/spec_linter.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/skills/visualize.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/spec_graph.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/spec_status.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/tamper_guard.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/test_mapper.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/uninstall.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/utils.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/validators.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/workflow_engine.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/workflow_registry.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/src/pactkit/workflow_validators.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/conftest.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/__init__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/acceptance/__init__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/cli/__init__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/cli/test_cli_e2e.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/cli/test_story_slim146_cli.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/cli/test_story_slim147_workflow_cli.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/cli/test_story_slim148_governance_cli.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/cli/test_story_slim149_query_cli.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/test_gate_bypass_e2e.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/test_local_git_full_flow_e2e.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/e2e/test_precommit_chain_e2e.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/agent_parser/agents_dir/researcher.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/agent_parser/agents_dir/writer.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/agent_parser/langgraph_app.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/agent_parser/mcp_settings.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/api_call_parser/axios_style.tsx +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/api_call_parser/dynamic.tsx +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/api_call_parser/page.tsx +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/__root__.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/accept-candidates.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/adopt.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/audit.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/backfill-release.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/board.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/clean.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/commit-gate.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/context.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/continuation.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/coverage-gate.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/deps.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/doctor.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/done-verify.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/evidence-measure.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/garden.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/gate.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/generate-id.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/governance.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/guard.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/guide.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/init.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/interface-summary.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/invariants-refresh.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/issue-sync.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/lesson-append.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/lint-adr.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/lint-context.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/lint-lessons.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/lint-testcase.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/lint.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/mcp.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/observe.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/project-preflight.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/query.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/reconcile.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/redetect-stack.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/report.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/risk.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/rules-eval.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/schema.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/sec-scope.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/secrets-baseline.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/spec-graph.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/spec-lint.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/spec-preflight.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/spec-status.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/stats.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/sync.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/test-map.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/uninstall.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/update.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/upgrade.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/version.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/visualize.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/work-unit.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/cli_help_golden/workflow.txt +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/copy_claude.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/copy_claude.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/copy_codex.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/copy_codex.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/copy_github.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/copy_github.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/empty.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/empty.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/full_legacy.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/full_legacy.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/minimal.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/minimal.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/unknown_keys.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/config_golden/unknown_keys.yaml +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-001.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-002.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-003.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-004.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-005.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-006.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-007.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-008.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-009.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-010.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-011.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-012.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-013.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-014.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-015.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-016.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-017.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/STORY-c-018.md +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/fixtures/rules_corpus/manifest.json +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/integration/__init__.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/integration/test_deploy_classic.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/scripts/refresh_host_prompt_snapshots.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/scripts/refresh_reference_docs.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_ac4_ownership_evidence.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_accept_candidates.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_agent_features.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_agent_frontmatter.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_agents_enrichment.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_audit.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_audit_suggested_tasks.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_b1_effective_config.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_b2_display_accuracy.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_baseline_failure_surface.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_blast_radius.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_board_bug027.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_board_sections.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug001_skill_path.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug004_dead_set.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug005_archive_taskless.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug006_scan_excludes.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug007_stale_trace_refs.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug008_stale_command_refs.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug009_project_config_backfill.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug010_rewrite_yaml.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug011_stale_refs.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug013_config_single_source.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug014_version_hygiene.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug017_project_init_playbook.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug018_issue_tracker_verification.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug019_venv_deployment.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug020_claude_md_backup.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug025_release_delegation.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug026_version_sync.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug028_ghost_refs.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug029_stack_detection_fallback.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug030_spec_lint_cli.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug031_docstring_accuracy.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug034_plan_metadata_template.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_021.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_022.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_023.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_slim001_env_detection.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_slim002_instruction_collision.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_slim003.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_slim004.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_slim005.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_slim006.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_bug_slim089_global_claude_md.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_c1_body_snapshots.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_c1_legacy_and_cost.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_candidate_cleanup.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_check_command.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_check_extensions_072_073.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_check_playbook_072_073.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_ci_matrix_layering.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_classic_deploy_paths.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_clean_scrubs_events.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_cli_help_surface.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_codegraph_views.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_codex_hook_channel.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_codex_hook_migration.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_command_frontmatter.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_command_ownership_v2.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_command_visualize_modes.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_commit_gate.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_complexity.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_config.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_config_auto_merge.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_config_sync_precedence.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_constitution_sharpening.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_context_gen.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_continuation_hardening.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_create_skill.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_cross_flow_matrix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_decision_traceability.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_deploy_base.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_deploy_ledger_lifecycle.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_deploy_ownership_safety.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_deployed_prompts_have_no_placeholders.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_deployer_cleanup.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_deployment_transaction.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_deps.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_design_command.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_done_gates.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_done_verify.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_draw_prompt.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_draw_references.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_drawio_mcp.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_enforcement.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_engine_robustness.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_enterprise_flags.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_garden.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_gate_fail_closed.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_gate_junit_counts.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_gate_matrix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_gate_migration.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_gate_telemetry.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_home_path_fix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hook_expansion.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_host_prompt_snapshots.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_20260830_gate_cli.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_20260901_gate_docsonly.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_20260903_design_research.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_20260903_visualize_sync.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_20260914_guide_wording.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_command.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_legacy_constitution.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_slim2026091645aa03e71927_cli_venv_fixes.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_slim202609166519bc076345_gate_dispatch.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_slim2026091673a4d1c8c33b_gate_bypass.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_slim20260916991f0b0d0a2e_audit_findings.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_slim2026091699cba1b49506_astra_findings.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_slim20260916bcd9deb4bec0_watchdog.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_slim20260916c4f2a9e6b013_gate_review.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_slim20260916cccbb8ee26fb_atomic_write.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_hotfix_slim202609200d44cb016534_doctor_verdict.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_init_global_disclosure.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_init_guard.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_init_playbook_074.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_interface_summary.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_lang_profiles.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_layer_violations.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_legacy_engine_freeze.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_lessons_rotation_075.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_list_stories.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_mcp_integration.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_mcp_retired.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_mmd_retirement.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_model_config.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_modular_constitution.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_monorepo_detect.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_multi_prefix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_observe.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_orchestration_cost.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_org_baseline.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_p6_spec_edit_human_channel.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_pdca_semantics_v2.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_pdca_slim.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_precommit_bridge.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_profiles.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_project_contract.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_project_root.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_project_visibility.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_prompt_cli_contract.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_prompt_cli_refs.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_prompt_quality_075.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_prompt_structural_invariants.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_prompts_package.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_push_gate.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_readme_counts.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_reference_drift.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_release.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_release_field.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_release_v110.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_render_prompt.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_report_parser.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_report_unified.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_resolve_scope.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_review_command.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_rule_diagnostics.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_rule_registry_architecture.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_rules_enrichment.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_rules_eval.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_run_events.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_run_stats.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_scaffold.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_scaffold_developer_prefix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_schemas.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_script_extraction.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_secrets_engine.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_security_dimension_rules.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_selective_deploy.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_session_context.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_skill_structure.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_skills_enrichment.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_slim_deps_088.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_smart_regression.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_snapshot_regen_shrink_guard.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_solution_design_rule.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_spec_guard_repeat.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_spec_preflight.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_sprint_command.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_stack_references.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_stack_test_command.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_status_command.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_statusline.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story014_release.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story015_ci_lint_gate.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story016_claude_md.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story017_init_claude_md.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story018_arch_staleness.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story019_bailout.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story020_horizon.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story021_rfc.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story022_decision_tree.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story023_test_quality.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story024_native_agent.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story025_ci_pipeline.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story026_issue_tracker.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story028_rule_scoping.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story029_doctor.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story030_lint.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story031_git_init_guard.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story032_greenfield_redirect.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story033_config_backfill.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story034_plan_config_refresh.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story035_readme_docs.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story037_regression_fix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story038_call_graph_update.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story039_venv_config.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story040_layered_claude_md.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story042_spec_linter.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story043_active_clarify.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story044_consistency_check.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story045_auto_pr.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story047_enterprise_flags.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story048_worktree_isolation.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story049_community_standards.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story050_doc_only_shortcut.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story051_workflow_streamlining.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story052_conditional_github_release.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story053_impact_regression.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story055_commands.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story055_config.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story055_spec_linter.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story056_commands.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story056_config.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story057_implicit_cleanup.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story058_opencode_extraction.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story058_routing_fix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story059_codex_removal.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story060_init_hang.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story061_remove_thinking.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story063_prompt_slimming.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story064_venv_local_md.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story065_sprint_model.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story072_developer_prefix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story106_lateral_scan.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story133_debug_skill.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_2026090301_rule_compliance.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_2026090333_sdlc_t1.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_202609037a_practice_batch2.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_20260903b5_practice_guides.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_202609144d0b3cb593aa_context_reuse.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_pdca_host_capsules.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_pdca_semantics_v2.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim009_lazy_rules.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim010_dry_refactor.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim011_command_rules.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim012_ci.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim014_clean.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim014_context.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim014_guard.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim014_next_id.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim014_regression.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim014_sec_scope.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim014_validators.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim015_doctor.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim016_testmap_lint.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim017.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim018.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim019_plan_subphases.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim020_explore_stall_fix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim021.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim022.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim023.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim024.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim025.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim026.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim027.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim028.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim029.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim030.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim031.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim032.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim033.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim034.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim035.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim036.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim037.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim038.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim039.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim040.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim041.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim042.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim043.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim044.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim045.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim046.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim047.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim048.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim051.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim052.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim053.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim054.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim055.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim056.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim060_codex_profile.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim063.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim076_multistack.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim077_monorepo_stack.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim078.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim079.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim080.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim082.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim083.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim084.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim098_pdca_nudge.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim099_act_context_ref.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim102_version_marker.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim104_should_semantics.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim107.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim109_journey_spec.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim111_playwright_assertion.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim112_rules_split.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim114_journey_sync.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim119.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim120.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim121.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim125.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim126.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim127_managed_block.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim128_engineering_concerns.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim132.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim134_no_model_in_frontmatter.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim135_config_schema.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim139_skill_manifest.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim141_manifest_hash.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim142_all_target_isolation.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim143_spec_graph.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim144_wave_mode.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim145.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim146.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim147.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim148.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim149.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim150.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260911c4a8e17b6d02_baseline_signature.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260915eaf18678ce23_commit_path.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim202609160fe9825c04b7_yaml_fidelity.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim2026091644dd0bd263d1_sync_order.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260916823f60779f1a_verification_receipt.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim2026091806bbe53c5884_spec_self_amend.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260918164ea9fe09e9_bypass_form.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260918864001ab2cad_secrets_baseline.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260918dda35a04d01d_opencode_pretool.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260918e76e4a89b0ad_static_signal.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260919752e74b3f591_host_translate.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260919b7362f043437_gate_layers.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim2026092010bf0bf77b9f_prompt_tool_parity.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260920bc98b2d93bc7_has_test_evidence.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim20260921c7a3f696f79f_bypass_channel_parity.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim_stop_hook.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_story_slim_work_units.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_support_matrix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_test_policy_fast.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_tools.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_topology_parsers_066.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_uninstall.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_uninstall_cli_defaults.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_visualize_chain_fix.py +0 -0
- {pactkit-3.0.2 → pactkit-3.0.3}/tests/unit/test_visualize_multilang_chain.py +0 -0
|
@@ -179,14 +179,14 @@
|
|
|
179
179
|
{
|
|
180
180
|
"type": "Hex High Entropy String",
|
|
181
181
|
"filename": "tests/fixtures/host_prompt_snapshots/classic.json",
|
|
182
|
-
"hashed_secret": "
|
|
182
|
+
"hashed_secret": "a7248a27a4c1bac75c470df9b731f30241a5f0f9",
|
|
183
183
|
"is_verified": false,
|
|
184
184
|
"line_number": 91
|
|
185
185
|
},
|
|
186
186
|
{
|
|
187
187
|
"type": "Hex High Entropy String",
|
|
188
188
|
"filename": "tests/fixtures/host_prompt_snapshots/classic.json",
|
|
189
|
-
"hashed_secret": "
|
|
189
|
+
"hashed_secret": "1b8572d79824739d34b40a5189dbac5014e2e764",
|
|
190
190
|
"is_verified": false,
|
|
191
191
|
"line_number": 92
|
|
192
192
|
},
|
|
@@ -776,14 +776,14 @@
|
|
|
776
776
|
{
|
|
777
777
|
"type": "Hex High Entropy String",
|
|
778
778
|
"filename": "tests/fixtures/host_prompt_snapshots/codex.json",
|
|
779
|
-
"hashed_secret": "
|
|
779
|
+
"hashed_secret": "7ced139e2986c6949a6dba2353ea928bbde7f9c9",
|
|
780
780
|
"is_verified": false,
|
|
781
781
|
"line_number": 77
|
|
782
782
|
},
|
|
783
783
|
{
|
|
784
784
|
"type": "Hex High Entropy String",
|
|
785
785
|
"filename": "tests/fixtures/host_prompt_snapshots/codex.json",
|
|
786
|
-
"hashed_secret": "
|
|
786
|
+
"hashed_secret": "ce845c6e7d4e39edefddca7ccbcff423fb1af7d3",
|
|
787
787
|
"is_verified": false,
|
|
788
788
|
"line_number": 78
|
|
789
789
|
},
|
|
@@ -1219,14 +1219,14 @@
|
|
|
1219
1219
|
{
|
|
1220
1220
|
"type": "Hex High Entropy String",
|
|
1221
1221
|
"filename": "tests/fixtures/host_prompt_snapshots/opencode.json",
|
|
1222
|
-
"hashed_secret": "
|
|
1222
|
+
"hashed_secret": "e3aa23d5ff6d6ede8ac65eb1cc44189e4bcf1390",
|
|
1223
1223
|
"is_verified": false,
|
|
1224
1224
|
"line_number": 89
|
|
1225
1225
|
},
|
|
1226
1226
|
{
|
|
1227
1227
|
"type": "Hex High Entropy String",
|
|
1228
1228
|
"filename": "tests/fixtures/host_prompt_snapshots/opencode.json",
|
|
1229
|
-
"hashed_secret": "
|
|
1229
|
+
"hashed_secret": "3249931956a79bb2ff26ab976f0eaf8f4498e593",
|
|
1230
1230
|
"is_verified": false,
|
|
1231
1231
|
"line_number": 90
|
|
1232
1232
|
},
|
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.0.3] - 2026-09-21
|
|
4
|
+
|
|
5
|
+
**证据链路的三个边界修复。** 3.0.2 引入的「测量与记录」链路有三处会给出
|
|
6
|
+
错误结论,其中一处会**销毁已有记录**。升级即可,无需迁移动作。
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
|
|
10
|
+
- **已提交的越界改动会从范围检查里消失。** 范围完整性只比对 `git diff HEAD`
|
|
11
|
+
(工作区状态),committed diff 那半没有实现——于是**提交一次,越界文件就
|
|
12
|
+
从测量范围里消失**,`completion_ready` 从 `false` 翻成 `true`。多次提交的
|
|
13
|
+
Story、提交后的 Check、会话恢复后的检查都会得到错误结论。
|
|
14
|
+
|
|
15
|
+
现在起点绑定在 Act 的 preflight receipt 上(代码触点,不靠人记),检查
|
|
16
|
+
起点到工作区的完整变化。起点是**粘性**的:重跑 preflight 不会前移。找不到
|
|
17
|
+
可信起点时如实报 `not-measured`,而不是报「无越界」。
|
|
18
|
+
|
|
19
|
+
- **「未测量」能生成 green 记录。** `pactkit evidence-measure --record` 调
|
|
20
|
+
`record_verification()` 时不传 `outcome`,取了默认值 `"green"`——一个测试
|
|
21
|
+
都没跑也记成「回归通过」。更深一层:判定函数只比对内容指纹,从不检查记录里
|
|
22
|
+
有没有回归证据,所以那条记录会发放 `reuse` 许可,**下游据此真的跳过回归**。
|
|
23
|
+
|
|
24
|
+
现在 `outcome` 必填、测量走独立入口、复用要求 `outcome == "green"`;失败的
|
|
25
|
+
记录路由到全量重验而不是最轻的分类路径。
|
|
26
|
+
|
|
27
|
+
- **不同证据写入同一 Story 记录会互相覆盖。** 写入整文件替换:写完负向控制
|
|
28
|
+
再写回归记录,前者消失;反之亦然。记录现在按证据类型分节
|
|
29
|
+
(`regression` / `measurement`),各自绑定自己测得时的代码状态。
|
|
30
|
+
|
|
31
|
+
- **升级路径上的记录不会被销毁。** 上一版之前写出的记录是**扁平**形状(回归
|
|
32
|
+
字段在顶层、测量块叫 `evidence`)——只认新形状的合并逻辑会让这类记录在
|
|
33
|
+
一次写入后静默丢失一半。合并现在同时认两种形状。
|
|
34
|
+
|
|
35
|
+
### Notes
|
|
36
|
+
|
|
37
|
+
- 升级:`pip install -U pactkit && pactkit update`。
|
|
38
|
+
- 三个 adapter(opencode / codex / copilot)同步发布 3.0.3。
|
|
39
|
+
|
|
3
40
|
## [3.0.2] - 2026-09-21
|
|
4
41
|
|
|
5
42
|
**两条 CRITICAL 门禁修复。** 如果你用 PactKit 发过版,或者照着拦截文案
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 1
|
|
3
|
+
id: LESSON-20260921055739-5f89ab5c4b
|
|
4
|
+
date: '2026-09-21'
|
|
5
|
+
story_id: STORY-slim-202609217251f027db09
|
|
6
|
+
context: src/pactkit/regression.py:_merge_record
|
|
7
|
+
tags: []
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
按证据类型合并记录时,归一化函数必须同时认 v3 嵌套形状与 v2 扁平形状(回归字段在顶层、测量块叫 evidence)——只认 v3 会让升级用户磁盘上的存量记录被一次写入静默销毁(实测 v2 记录 + 写测量 → outcome/scope 变 None)。修法不是加 if 特判,而是让读写共用同一个 _evidence_sections() 归一化器:加特判会留下第二个读取路径,而两个读取入口分歧正是这条 story 要消灭的东西
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
## Invariants
|
|
17
17
|
|
|
18
|
-
1. All
|
|
18
|
+
1. All 6017+ tests must pass before any commit to `main`.
|
|
19
19
|
2. Specs (`docs/specs/`) are the source of truth — code conforms to specs, not the reverse.
|
|
20
20
|
3. CLI entry point is `pactkit` via `src/pactkit/cli.py:main`.
|
|
21
21
|
4. No runtime dependencies beyond `pyyaml`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
id: STORY-slim-202609217251f027db09
|
|
3
|
+
title: 证据链路的三个边界:scope 起点、测量≠通过、证据按类型合并
|
|
4
|
+
spec_path: docs/specs/STORY-slim-202609217251f027db09.md
|
|
5
|
+
status: archived
|
|
6
|
+
tasks:
|
|
7
|
+
- id: task-e454215e97
|
|
8
|
+
title: 先写 AC1–AC8 的失败用例(TDD),含跨步骤场景
|
|
9
|
+
completed: true
|
|
10
|
+
- id: task-1488515380
|
|
11
|
+
title: spec_preflight 绑定起点 commit 且粘性(重复建立不前移)
|
|
12
|
+
completed: true
|
|
13
|
+
- id: task-afd2cec72a
|
|
14
|
+
title: evidence_measure 覆盖起点→工作区;起点缺失报 not-measured
|
|
15
|
+
completed: true
|
|
16
|
+
- id: task-914ea36734
|
|
17
|
+
title: regression.outcome 不再默认 green;记录按证据类型合并(原子读-改-写)
|
|
18
|
+
completed: true
|
|
19
|
+
- id: task-d6f8e769dd
|
|
20
|
+
title: 每类证据各自指纹+失效;统一读取路径消除两入口分歧
|
|
21
|
+
completed: true
|
|
22
|
+
- id: task-de05ada5f4
|
|
23
|
+
title: 两个 --record 入口按新契约传参
|
|
24
|
+
completed: true
|
|
25
|
+
created_at: '2026-09-21T03:23:41+00:00'
|
|
26
|
+
updated_at: '2026-09-21T05:59:08+00:00'
|
|
27
|
+
completed_at: '2026-09-21T03:52:51+00:00'
|
|
28
|
+
archived_at: '2026-09-21T05:59:08+00:00'
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# STORY-slim-202609217251f027db09: 证据链路的三个边界:scope 起点、测量≠通过、证据按类型合并
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
|-------|-------|
|
|
5
|
+
| ID | STORY-slim-202609217251f027db09 |
|
|
6
|
+
| Status | Done |
|
|
7
|
+
| Priority | P1 |
|
|
8
|
+
| Release | 3.0.3 |
|
|
9
|
+
|
|
10
|
+
## Background
|
|
11
|
+
|
|
12
|
+
owner 基于 `55a13d8` 独立复核 3.0.2 新增的「证据测量与记录」链路,报告三条边界缺陷。
|
|
13
|
+
**三条均由本 Spec 作者在临时仓库逐条实测复现**(非推测)。
|
|
14
|
+
|
|
15
|
+
### ① 已提交的越界改动逃出范围检查 → 得到错误的完成结论(P1)
|
|
16
|
+
|
|
17
|
+
`STORY-slim-20260920826d30afae88` 的 R1 原文要求实际集来自
|
|
18
|
+
「git(**committed diff** + dirty state)」,但 `evidence_measure._changed_files()`
|
|
19
|
+
只有 `git diff --name-only HEAD`(= dirty state)+ untracked——**committed diff
|
|
20
|
+
那半从未实现**。实测(临时仓库,spec 声明 `Touches=src/in_scope.py`):
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
提交前 changed=['src/in_scope.py','src/unexpected.py'] unexpected=['src/unexpected.py'] completion_ready=False
|
|
24
|
+
提交后 changed=[] unexpected=[] completion_ready=True
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
影响面:多次提交的 Story、提交后的 Check、会话恢复后的检查**全部**得到错误结论。
|
|
28
|
+
且 `measure_negative_control` 从 `changed` 选源文件 → 已提交代码同时退出负向测量范围。
|
|
29
|
+
|
|
30
|
+
**起点从哪来**——已查证现有工件:
|
|
31
|
+
|
|
32
|
+
| 工件 | 有 commit 字段吗 |
|
|
33
|
+
|------|-----------------|
|
|
34
|
+
| preflight receipt(`spec_preflight.run_spec_preflight` 写) | **没有**(schema_version/project_root/story_id/spec_path/spec_sha256/inputs/constraints) |
|
|
35
|
+
| regression record | 有,但那是「上次记录时」的状态,不是 Story 起点 |
|
|
36
|
+
|
|
37
|
+
### ② 「未测量」仍生成 green / trusted / reuse 回归记录(P2)
|
|
38
|
+
|
|
39
|
+
`cli.py:1258` 的 `evidence-measure --record` 调 `record_verification()` 时**不传
|
|
40
|
+
`outcome`**,取默认 `"green"`(`regression.py:382`)。实测:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
negative_control.status = "not-measured"(一个测试都没跑)
|
|
44
|
+
→ 写入 outcome="green" scope=null via="evidence-measure"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
违背本链路「区分测量与声明」的目标(ADR-0009)。**影响边界须说清**:commit gate
|
|
48
|
+
与 Done 的全量复用分支会检查 `scope`,该记录 `scope` 为空、不能据此跳过全量测试——
|
|
49
|
+
但记录对外表达了**没有发生过的**回归成功。
|
|
50
|
+
|
|
51
|
+
### ③ 不同证据写入同一 Story 文件互相覆盖(P2)
|
|
52
|
+
|
|
53
|
+
`regression.py` 的写入每次重新构造记录并整文件替换。实测:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
① 写 negative-control 证据 → evidence=有
|
|
57
|
+
② 再写回归记录 → evidence=无 ← 丢失
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
反向亦然:`evidence-measure --record` 会把 Story 记录里的 `full` scope 替换为
|
|
61
|
+
`unknown`;指纹索引虽保留较强记录,但**两个读取入口开始分歧**。
|
|
62
|
+
按 data-consistency 指南,这是一次 **lost update**(红线:「Protect against
|
|
63
|
+
lost updates」)。
|
|
64
|
+
|
|
65
|
+
## 前置核实(不成立则停止并报告)
|
|
66
|
+
|
|
67
|
+
- 上三条 MUST 在 Act 期间可复现(复现脚本已在 Plan 期跑过;不可复现则停止并报告)
|
|
68
|
+
- `commit_gate.collect_changed_files()` MUST 仍只回答「这次提交会包含什么」——
|
|
69
|
+
若它已被改成含 committed diff,说明既有实现已变,停止并报告
|
|
70
|
+
|
|
71
|
+
## Requirements
|
|
72
|
+
|
|
73
|
+
> **不要写「Act 期间在此记录」这类指令**:Act 会绑定 preflight receipt,使本 Spec
|
|
74
|
+
> 在 Act 期间只读(spec_guard 的 L1 保护,有意为之)。规范要求记录、门禁禁止记录
|
|
75
|
+
> 会让实现者按规范做却被拦下。前提核对写成「不成立则停止并报告」;结论沉淀指向
|
|
76
|
+
> commit message 或 `docs/` 文档。
|
|
77
|
+
|
|
78
|
+
### R1: scope integrity 的实际集必须覆盖 Story 起点的全部变化 (MUST)
|
|
79
|
+
|
|
80
|
+
实际集 MUST 包含 `committed diff + dirty state`——即 **Story 起点 commit 到当前
|
|
81
|
+
工作区**的完整变化,而不是只比 HEAD。
|
|
82
|
+
|
|
83
|
+
- 起点 MUST 绑定在**代码触点上**(ADR-0006),不依赖任何人记得记录
|
|
84
|
+
- 起点 MUST 是**粘性**的:Story 期间重复建立起点 MUST NOT 把起点前移——
|
|
85
|
+
前移会让此前已提交的改动重新逃出范围,正是本 Story 要消灭的失败模式
|
|
86
|
+
|
|
87
|
+
### R2: 起点不可信时报「无法完整测量」,不得报「无越界」 (MUST)
|
|
88
|
+
|
|
89
|
+
缺少可信起点时,`measure_scope_integrity` MUST 报 `not-measured` 并说明原因。
|
|
90
|
+
|
|
91
|
+
- 理由:**「没测到」与「测了、干净」必须可区分**(ADR-0009 的同一原则,
|
|
92
|
+
本仓库既有语义:缺失不是问题,**静默**才是)
|
|
93
|
+
- MUST NOT 退化成空集 → `unexpected: []` → `completion_ready: true`
|
|
94
|
+
|
|
95
|
+
### R3: 测量不得生成回归通过结论 (MUST)
|
|
96
|
+
|
|
97
|
+
`evidence-measure --record` MUST NOT 写入 `outcome` 为通过态的记录。
|
|
98
|
+
|
|
99
|
+
- `record_verification` 的 `outcome` MUST NOT 再默认为 `"green"`——默认值让
|
|
100
|
+
「没跑测试」被记录成「回归通过」
|
|
101
|
+
- 测量结果 MUST 写入**它自己的证据类型**,与回归通过结论分开表达
|
|
102
|
+
|
|
103
|
+
### R4: 记录按证据类型合并,写入不得丢失其它类型 (MUST)
|
|
104
|
+
|
|
105
|
+
写一类证据 MUST NOT 清除同一 Story 记录里其它类型的证据。
|
|
106
|
+
|
|
107
|
+
- 按 data-consistency 指南:数据在同一存储 → **单事务**边界是默认;
|
|
108
|
+
读-改-写 MUST 原子(本仓库既有 `atomic_write`)
|
|
109
|
+
- 回归结果、范围检查、负向测量 MUST 各自可独立读取
|
|
110
|
+
|
|
111
|
+
### R5: 每类证据各自绑定输入指纹与失效规则 (MUST)
|
|
112
|
+
|
|
113
|
+
每类证据 MUST 记录**它是在哪个代码状态上测得的**,并各自判定新鲜度。
|
|
114
|
+
|
|
115
|
+
- 一类证据失效 MUST NOT 让另一类证据跟着失效或跟着新鲜
|
|
116
|
+
- 失效规则 MUST 可被消费者读到(不得静默当作新鲜)
|
|
117
|
+
|
|
118
|
+
### R6: 既有记录仍可读 (SHOULD)
|
|
119
|
+
|
|
120
|
+
磁盘上已存在的记录(旧 schema)MUST NOT 让读取路径崩溃或误报。
|
|
121
|
+
|
|
122
|
+
- 旧记录缺新字段时,按「该类型证据不存在」处理,而不是按「通过」处理
|
|
123
|
+
|
|
124
|
+
### R7: 跨步骤生命周期必须有测试 (MUST)
|
|
125
|
+
|
|
126
|
+
既有 114 条相关回归测试全绿而三条缺陷仍成立——缺口在**跨步骤**场景。
|
|
127
|
+
MUST 覆盖:
|
|
128
|
+
|
|
129
|
+
- **提交前后**:同一越界文件在提交前与提交后 MUST 得到同样的 `unexpected`
|
|
130
|
+
- **测量失败后记录**:`not-measured` 之后写入的记录 MUST NOT 表达通过
|
|
131
|
+
- **不同证据先后写入**:任意顺序写两类证据,两类都 MUST 保留
|
|
132
|
+
|
|
133
|
+
## Acceptance Criteria
|
|
134
|
+
|
|
135
|
+
### AC1: 提交不再让越界改动消失 (R1)
|
|
136
|
+
|
|
137
|
+
- **Given** 一个声明了 `Touches` 的 Spec 与一个越界文件
|
|
138
|
+
- **When** 先测量、提交、再测量
|
|
139
|
+
- **Then** 两次的 `unexpected` **相同**,`completion_ready` 都是 `False`
|
|
140
|
+
|
|
141
|
+
**Evidence** 复现脚本给出当前行为(提交后 `unexpected=[]`、`ready=True`);
|
|
142
|
+
修后 MUST 两次一致。
|
|
143
|
+
|
|
144
|
+
### AC2: 起点粘性 (R1)
|
|
145
|
+
|
|
146
|
+
- **Given** 已建立一个 Story 起点
|
|
147
|
+
- **When** 再次建立起点(重跑 preflight / 会话恢复)
|
|
148
|
+
- **Then** 起点**不前移**,此前已提交的改动仍在范围内
|
|
149
|
+
|
|
150
|
+
### AC3: 起点不可信时如实报告 (R2)
|
|
151
|
+
|
|
152
|
+
- **Given** 无可信起点的仓库状态
|
|
153
|
+
- **When** 测量范围完整性
|
|
154
|
+
- **Then** 报 `not-measured` + 原因;**MUST NOT** 报 `unexpected: []` 或
|
|
155
|
+
`completion_ready: true`
|
|
156
|
+
|
|
157
|
+
### AC4: 测量不产生通过结论 (R3)
|
|
158
|
+
|
|
159
|
+
- **Given** `negative_control.status = "not-measured"`(一个测试都没跑)
|
|
160
|
+
- **When** `evidence-measure --record`
|
|
161
|
+
- **Then** 记录里**没有**表达回归通过的字段;查询 MUST NOT 得到 `reuse`/`trusted`
|
|
162
|
+
|
|
163
|
+
**Evidence** 复现给出当前行为(`outcome="green"`)。
|
|
164
|
+
|
|
165
|
+
### AC5: 两类证据互不覆盖 (R4)
|
|
166
|
+
|
|
167
|
+
- **Given** 同一 Story 的两类证据
|
|
168
|
+
- **When** 以**任意顺序**先后写入
|
|
169
|
+
- **Then** 两类都保留、都可独立读取
|
|
170
|
+
|
|
171
|
+
**Evidence** 复现给出当前行为(第二次写入后 `evidence` 消失);两个方向都要测。
|
|
172
|
+
|
|
173
|
+
### AC6: 各自的指纹与失效 (R5)
|
|
174
|
+
|
|
175
|
+
- **Given** 在状态 A 测得的范围检查、在状态 B 测得的负向控制
|
|
176
|
+
- **When** 查询新鲜度
|
|
177
|
+
- **Then** 两者**各自**判定;一类失效不牵连另一类
|
|
178
|
+
|
|
179
|
+
### AC7: 旧记录不误报 (R6)
|
|
180
|
+
|
|
181
|
+
- **Given** 磁盘上一条旧 schema 的记录
|
|
182
|
+
- **When** 读取
|
|
183
|
+
- **Then** 不崩溃;缺字段按「该证据不存在」处理,**不得按「通过」处理**
|
|
184
|
+
|
|
185
|
+
### AC8: 跨步骤生命周期测试 (R7)
|
|
186
|
+
|
|
187
|
+
- **Given** 本 Story 的测试集
|
|
188
|
+
- **When** 把三条修复各自移除
|
|
189
|
+
- **Then** 至少一条测试 RED(testing-strategy:「实现被删掉后测试还会失败吗」)
|
|
190
|
+
|
|
191
|
+
## Target Call Chain
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
CLI 入口
|
|
195
|
+
└─ cli.py evidence-measure --record :1258 ← ② 不传 outcome → green
|
|
196
|
+
├─ evidence_measure.measure_scope_integrity() :98
|
|
197
|
+
│ └─ _changed_files() :65 ← ① 只有 diff HEAD
|
|
198
|
+
├─ evidence_measure.measure_negative_control()
|
|
199
|
+
└─ regression.record_verification() :373 ← ② outcome="green" 默认
|
|
200
|
+
└─ 整文件替换 :443 ← ③ 覆盖其它证据
|
|
201
|
+
└─ cli.py regression --record :1307 ← 同样不传 outcome
|
|
202
|
+
|
|
203
|
+
起点载体
|
|
204
|
+
└─ spec_preflight.run_spec_preflight() :203 ← ① 需在此绑定 base_commit
|
|
205
|
+
└─ receipt (.pactkit/preflight/<sid>/current.json) ← 现无 commit 字段
|
|
206
|
+
|
|
207
|
+
读取路径
|
|
208
|
+
└─ regression.build_verification_decision() ← ③ 两个入口分歧的根源
|
|
209
|
+
└─ regression.find_fingerprint_record() :343
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Implementation Steps
|
|
213
|
+
|
|
214
|
+
| Step | File | Action | Dependencies | Risk |
|
|
215
|
+
|------|------|--------|-------------|------|
|
|
216
|
+
| 1 | `tests/unit/test_*_evidence_lifecycle.py` | 先写 AC1–AC8 的失败用例(TDD),**含跨步骤场景** | None | Med |
|
|
217
|
+
| 2 | `src/pactkit/spec_preflight.py` | receipt 绑定起点 commit;**粘性**(重复建立不前移) | Step 1 | Med |
|
|
218
|
+
| 3 | `src/pactkit/evidence_measure.py` | `_changed_files` 覆盖起点→工作区;起点缺失报 `not-measured` | Step 2 | Med |
|
|
219
|
+
| 4 | `src/pactkit/regression.py` | `outcome` 不再默认 `"green"`;记录按证据类型合并(原子读-改-写) | Step 1 | **High** |
|
|
220
|
+
| 5 | `src/pactkit/regression.py` | 每类证据各自指纹 + 失效;读取路径统一(消除两个入口分歧) | Step 4 | **High** |
|
|
221
|
+
| 6 | `src/pactkit/cli.py` | 两个 `--record` 入口按新契约传参 | Step 4-5 | Med |
|
|
222
|
+
|
|
223
|
+
> **Step 4/5 标 High**:记录 schema 是既有消费者(commit gate、Done 复用分支、
|
|
224
|
+
> `find_fingerprint_record`)的输入面。改它必须逐消费者核对,不得只改写入侧。
|
|
225
|
+
|
|
226
|
+
## Security Scope
|
|
227
|
+
|
|
228
|
+
| Check | Applicable | Reason |
|
|
229
|
+
|-------|------------|--------|
|
|
230
|
+
| SEC-1 | Yes | 改动落在 `src/pactkit/`。无新凭据面 |
|
|
231
|
+
| SEC-2 | Yes | `spec_preflight` 读 Spec 内容、`evidence_measure` 读 git 输出——起点 commit 来自 `git rev-parse`,MUST 校验为合法 SHA 后再拼进路径/命令(本仓库既有教训:未校验输入拼进路径) |
|
|
232
|
+
| SEC-3 | N/A | 无数据库 |
|
|
233
|
+
| SEC-4 | N/A | 无前端 |
|
|
234
|
+
| SEC-5 | N/A | 不触碰 auth/session 逻辑 |
|
|
235
|
+
| SEC-6 | N/A | 无 API/路由 |
|
|
236
|
+
| SEC-7 | Yes | 本 Story 就是结论的诚实性:不可信起点 MUST 如实报告,不得静默降级 |
|
|
237
|
+
| SEC-8 | N/A | 不新增依赖 |
|
|
238
|
+
|
|
239
|
+
## Dependency Surface
|
|
240
|
+
|
|
241
|
+
| Field | Value |
|
|
242
|
+
|-------|-------|
|
|
243
|
+
| Depends on | `STORY-slim-20260920826d30afae88`(R1/R2 的实现来源;本 Story 补齐它漏掉的 committed 半边) |
|
|
244
|
+
| Provides | 证据链路的起点语义;测量与通过结论的分离;记录的类型化合并 |
|
|
245
|
+
| Touches | `src/pactkit/spec_preflight.py`、`src/pactkit/evidence_measure.py`、`src/pactkit/regression.py`、`src/pactkit/cli.py`、`tests/unit/` |
|
|
246
|
+
| Conflict risk | MED — 记录 schema 是多个既有消费者的输入面 |
|
|
247
|
+
|
|
248
|
+
## Out of Scope
|
|
249
|
+
|
|
250
|
+
- **不改 `commit_gate.collect_changed_files()`**。它回答的是「这次提交会包含什么」,
|
|
251
|
+
与「Story 起点以来变了什么」是**两个不同的问题**;Lateral Scan 确认它不是复用
|
|
252
|
+
候选,改动它会破坏 commit gate 的既有语义。
|
|
253
|
+
- **不改 `assess_scope_integrity` 的判定逻辑**。它是对的,错的是喂给它的实际集。
|
|
254
|
+
- **不重生成 adapter golden、不补发三个 adapter**——那是 release 收尾,与本 Story
|
|
255
|
+
无关(core 3.0.2 已发布;adapter 的 `PENDING-COMPATIBLE-CORE` 是设计好的探测器)。
|
|
256
|
+
- **不修 `lessons._is_specific()`**(既有 Out of Scope,另有记录)。
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Test Cases: STORY-slim-202609217251f027db09 — 证据链路的三个边界
|
|
2
|
+
|
|
3
|
+
> 本文件由 `/project-check` 的 Phase 3.4 产出,按 Spec 的 Acceptance Criteria 逐条
|
|
4
|
+
> 定义验收场景。
|
|
5
|
+
>
|
|
6
|
+
> **Check 第一轮找到 1 条 P1 + 1 条 P2(见文末)。Check 本身只读未修;
|
|
7
|
+
> 已按 owner 授权在后续修复轮全部处理并独立复验。**
|
|
8
|
+
|
|
9
|
+
## TC-1: 提交不再让越界改动消失 (AC1, R1)
|
|
10
|
+
|
|
11
|
+
**Given** 一个声明了 `Touches` 的 Spec 与一个越界文件
|
|
12
|
+
**When** 先测量、提交、再测量
|
|
13
|
+
**Then** 两次的 `unexpected` 相同,`completion_ready` 都是 `False`
|
|
14
|
+
|
|
15
|
+
**Evidence** `TestScopeCoversTheStoryStart::test_committing_does_not_hide_an_out_of_scope_file`。
|
|
16
|
+
实测对照:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
修复前:提交前 unexpected=['src/unexpected.py'] ready=False
|
|
20
|
+
提交后 unexpected=[] ready=True ← 越界改动凭空消失
|
|
21
|
+
|
|
22
|
+
修复后:两次都是 unexpected=['src/unexpected.py'] ready=False
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**起点载体**:`spec_preflight.story_base_commit()` 读 receipt 的 `base_commit`;
|
|
26
|
+
`evidence_measure._changed_files(root, base)` 用 `git diff <base>` + untracked。
|
|
27
|
+
|
|
28
|
+
## TC-2: 起点粘性 (AC2, R1)
|
|
29
|
+
|
|
30
|
+
**Given** 已建立起点
|
|
31
|
+
**When** 再次建立(重跑 preflight / 会话恢复)
|
|
32
|
+
**Then** 起点不前移
|
|
33
|
+
|
|
34
|
+
**Evidence** `test_rebinding_the_start_does_not_move_it_forward`。
|
|
35
|
+
`_bind_base_commit()` 先读已有值、有则原样返回。
|
|
36
|
+
|
|
37
|
+
## TC-3: 起点不可信时如实报告 (AC3, R2)
|
|
38
|
+
|
|
39
|
+
**Given** 无可信起点
|
|
40
|
+
**When** 测量范围完整性
|
|
41
|
+
**Then** `not-measured` + 原因;**不得**报 `unexpected: []` 或 `completion_ready: true`
|
|
42
|
+
|
|
43
|
+
**Evidence** `test_no_trustworthy_start_reports_not_measured`。
|
|
44
|
+
|
|
45
|
+
## TC-4: 测量不产生通过结论 (AC4, R3)
|
|
46
|
+
|
|
47
|
+
**Given** `negative_control.status = "not-measured"`
|
|
48
|
+
**When** `evidence-measure --record`
|
|
49
|
+
**Then** 无通过态字段;查询不得得 `reuse`/`trusted`
|
|
50
|
+
|
|
51
|
+
**Evidence** `TestMeasurementIsNotAPass`(2 例)。实测对照:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
修复前:写入 outcome="green" scope=null via="evidence-measure"
|
|
55
|
+
→ verdict=reuse evidence_trust=trusted ← 下游据此跳过回归
|
|
56
|
+
|
|
57
|
+
修复后:record_measurement() 只写 measurement 节,无 regression 节
|
|
58
|
+
→ verdict=no-baseline evidence_trust=none
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**深一层的实例(Act 期间发现)**:`build_verification_decision` 的 reuse 判定
|
|
62
|
+
原本**只看内容指纹**,从不检查有无回归证据——所以「测了但没跑测试」的记录
|
|
63
|
+
只要指纹匹配就发放复用许可。现要求 `outcome == "green"`。
|
|
64
|
+
|
|
65
|
+
## TC-5: 两类证据互不覆盖 (AC5, R4)
|
|
66
|
+
|
|
67
|
+
**Given** 同一 Story 的两类证据
|
|
68
|
+
**When** 以任意顺序先后写入
|
|
69
|
+
**Then** 两类都保留
|
|
70
|
+
|
|
71
|
+
**Evidence** `TestEvidenceTypesCoexist`(3 例,含两个方向 + 各自指纹)。
|
|
72
|
+
`_merge_record()` 按证据类型叠加。
|
|
73
|
+
|
|
74
|
+
## TC-6: 各自的指纹与失效 (AC6, R5)
|
|
75
|
+
|
|
76
|
+
**Given** 在不同代码状态上测得的范围检查与负向控制
|
|
77
|
+
**When** 查询
|
|
78
|
+
**Then** 各自判定
|
|
79
|
+
|
|
80
|
+
**Evidence** `test_each_section_carries_its_own_fingerprint`。
|
|
81
|
+
每节自带 `commit`/`fingerprint`/`recorded_at`。
|
|
82
|
+
|
|
83
|
+
## TC-7: 旧记录不误报 (AC7, R6)
|
|
84
|
+
|
|
85
|
+
**Given** 一条旧 schema 记录
|
|
86
|
+
**When** 读取
|
|
87
|
+
**Then** 不崩溃;缺字段按「该证据不存在」处理
|
|
88
|
+
|
|
89
|
+
**Evidence** `TestLegacyRecords` + `test_legacy_v1_record_scope_unknown`
|
|
90
|
+
(契约更新:v1 记录**无 outcome** → 不再判 `reuse`,因为旧代码的
|
|
91
|
+
`record.get("outcome", "green")` 默认值正是本 Story 要消灭的静默默认)。
|
|
92
|
+
|
|
93
|
+
## TC-8: 跨步骤生命周期测试 (AC8, R7)
|
|
94
|
+
|
|
95
|
+
**Given** 本 Story 的测试集
|
|
96
|
+
**When** 把三条修复各自移除
|
|
97
|
+
**Then** 至少一条 RED
|
|
98
|
+
|
|
99
|
+
**Evidence** 三个变异实测:
|
|
100
|
+
|
|
101
|
+
| 变异 | 结果 |
|
|
102
|
+
|---|---|
|
|
103
|
+
| 起点退回 `HEAD` | **RED**(3 failed) |
|
|
104
|
+
| `outcome` 默认值放回 `green` | **RED** |
|
|
105
|
+
| 去掉按类型合并 | **RED**(3 failed) |
|
|
106
|
+
|
|
107
|
+
## Check 第一轮找到的问题(已修 + 独立复验)
|
|
108
|
+
|
|
109
|
+
| 级别 | 发现 | 修法 | 复验证据 |
|
|
110
|
+
|------|------|------|---------|
|
|
111
|
+
| **P1** | **`_merge_record` 对两种 legacy 形状都不认 → 写一次证据就销毁另一类(R4 的 MUST 违规,且是缺陷③在存量形状上的残留)** | 新增 `_evidence_sections()` 归一化两种 schema(v2 扁平回归字段 + `evidence` 块),`_merge_record` 经它读取既有节 | 两个方向都补了测试;变异(退回只认 v3 节)→ **RED**(2 failed) |
|
|
112
|
+
| **P2** | `red` / `skip` 的判定落到 `no-baseline` + `none`,Done 剧本据此路由到**最轻**的一条;对 `red` 而言 `re-verify`(全量)更贴切 | 按 outcome 分流:无 outcome(测量记录)→ `no-baseline` + `none`;有非通过 outcome → `re-verify` + `trusted`(记录是真的,只是没通过) | 变异(red 退回 no-baseline)→ **RED** |
|
|
113
|
+
|
|
114
|
+
> **P1 的影响面**:v2 形状正是 3.0.2 及之前写出来的记录,也就是**所有存量用户磁盘上的形状**。
|
|
115
|
+
> 升级到 3.0.3 后跑一次 `evidence-measure --record`,回归基线即被静默销毁。
|
|
116
|
+
> 后果方向是**保守**的(丢证据 → 下次 Done 走全量),不是安全洞——但它是数据丢失,
|
|
117
|
+
> 且正是本 Story 声称要修的那条缺陷。
|
|
118
|
+
|
|
119
|
+
## 第二轮复验
|
|
120
|
+
|
|
121
|
+
| 项 | 结果 |
|
|
122
|
+
|---|---|
|
|
123
|
+
| Story 测试 | **15 passed**(+5 来自两条 Check 发现的回归测试) |
|
|
124
|
+
| 全量回归 | **6017 passed / 3 skipped / 0 failed** |
|
|
125
|
+
| Lint | `All checks passed` |
|
|
126
|
+
| 变异 A(P1 修复移除) | **RED**(2 failed) |
|
|
127
|
+
| 变异 B(P2 修复移除) | **RED** |
|
|
128
|
+
|
|
129
|
+
## 未覆盖 / 已知缺口
|
|
130
|
+
|
|
131
|
+
- **`_merge_record` 不保留 `incoming` 未携带的其它顶层字段**(当前 `incoming` 总是写全
|
|
132
|
+
顶层,所以不可达;未来加字段时需注意)。
|
|
133
|
+
- **`record_measurement` 不写指纹索引**——有意为之(测量不是回归证据,索引服务的是
|
|
134
|
+
回归复用)。因此索引与 Story 记录对「同一内容有没有回归证据」的回答仍来自**两个
|
|
135
|
+
存储**;P2 的修复让两者对同一记录的判定一致了,但结构上的双入口仍在。
|
|
136
|
+
这是 ADR-0009 意义上「测量与声明可区分」的代价,留作观察项。
|
|
@@ -383,6 +383,15 @@ def _main():
|
|
|
383
383
|
help="Compare current state against the recorded verification fingerprint")
|
|
384
384
|
regression_parser.add_argument("--story", default=None,
|
|
385
385
|
help="Story ID for the verification record (default: active story)")
|
|
386
|
+
# STORY-slim-202609217251f027db09 R3: the outcome is stated by the caller
|
|
387
|
+
# rather than assumed by the recorder. `regression --record` means "I ran
|
|
388
|
+
# the suite and this is what happened" — so the caller says which.
|
|
389
|
+
regression_parser.add_argument(
|
|
390
|
+
"--outcome", default="green", choices=["green", "red", "unavailable"],
|
|
391
|
+
help="Outcome of the run you are stamping (default: green — this "
|
|
392
|
+
"command stamps a COMPLETED verification; use `red` to record a "
|
|
393
|
+
"failing run honestly)",
|
|
394
|
+
)
|
|
386
395
|
|
|
387
396
|
# STORY-slim-20260920826d30afae88: the R8/R9 touchpoint. ADR-0006 — the
|
|
388
397
|
# measurement lives in code, not in a playbook step.
|
|
@@ -1255,11 +1264,12 @@ def _main():
|
|
|
1255
1264
|
)
|
|
1256
1265
|
|
|
1257
1266
|
if args.record:
|
|
1258
|
-
|
|
1267
|
+
# R3: a measurement is NOT a regression conclusion. Routing this
|
|
1268
|
+
# through record_verification recorded outcome="green" for a run
|
|
1269
|
+
# that never happened (measured 2026-09-21).
|
|
1270
|
+
from pactkit.regression import record_measurement
|
|
1259
1271
|
|
|
1260
|
-
print(
|
|
1261
|
-
project_root, story, via="evidence-measure", evidence=block,
|
|
1262
|
-
))
|
|
1272
|
+
print(record_measurement(project_root, story, evidence=block))
|
|
1263
1273
|
|
|
1264
1274
|
if args.json:
|
|
1265
1275
|
print(json_module.dumps(block, indent=2, ensure_ascii=False))
|
|
@@ -1308,6 +1318,7 @@ def _main():
|
|
|
1308
1318
|
project_root, story,
|
|
1309
1319
|
stage=getattr(args, "stage", "manual"),
|
|
1310
1320
|
scope=getattr(args, "scope", None),
|
|
1321
|
+
outcome=getattr(args, "outcome", "green"),
|
|
1311
1322
|
evidence=build_evidence_block(
|
|
1312
1323
|
measured={'scope_integrity': scope_evidence}, declared={},
|
|
1313
1324
|
),
|
|
@@ -63,18 +63,30 @@ def _spec_touches(spec_path: Path) -> list[str]:
|
|
|
63
63
|
return []
|
|
64
64
|
|
|
65
65
|
|
|
66
|
-
def _changed_files(root: Path) -> tuple[list[str], str]:
|
|
67
|
-
"""Repo-relative paths changed
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
def _changed_files(root: Path, base: str | None) -> tuple[list[str], str]:
|
|
67
|
+
"""Repo-relative paths changed **since the Story's start**, + untracked.
|
|
68
|
+
|
|
69
|
+
STORY-slim-202609217251f027db09 R1: the actual set is
|
|
70
|
+
``committed diff + dirty state``. Diffing against ``HEAD`` alone only
|
|
71
|
+
sees the dirty half — committing a file made it vanish from the
|
|
72
|
+
measured range (measured: `unexpected=['src/unexpected.py']` before the
|
|
73
|
+
commit, `[]` after), so an out-of-scope change silently became a clean
|
|
74
|
+
completion.
|
|
75
|
+
|
|
76
|
+
``base`` is the Story's starting commit. ``None`` means there is no
|
|
77
|
+
trustworthy starting point, and the caller MUST report "not measured"
|
|
78
|
+
(R2) — an unbindable start is not an empty change set.
|
|
73
79
|
"""
|
|
80
|
+
if base is None:
|
|
81
|
+
return [], (
|
|
82
|
+
'no trustworthy starting point — the Story has no preflight '
|
|
83
|
+
'receipt binding a base commit, so changes since it began cannot '
|
|
84
|
+
'be enumerated'
|
|
85
|
+
)
|
|
74
86
|
paths: set[str] = set()
|
|
75
87
|
try:
|
|
76
88
|
diff = subprocess.run(
|
|
77
|
-
['git', 'diff', '--name-only',
|
|
89
|
+
['git', 'diff', '--name-only', base],
|
|
78
90
|
cwd=root, capture_output=True, text=True, timeout=30,
|
|
79
91
|
)
|
|
80
92
|
if diff.returncode != 0:
|
|
@@ -138,7 +150,9 @@ def _measure_scope_integrity(root: Path, story_id: str) -> dict:
|
|
|
138
150
|
'reason': 'spec declares no Touches — nothing to compare against',
|
|
139
151
|
}
|
|
140
152
|
|
|
141
|
-
|
|
153
|
+
from pactkit.spec_preflight import story_base_commit
|
|
154
|
+
|
|
155
|
+
changed, reason = _changed_files(root, story_base_commit(root, story_id))
|
|
142
156
|
if reason:
|
|
143
157
|
return {'status': NOT_MEASURED, 'reason': reason}
|
|
144
158
|
|