pactkit 4.0.0__tar.gz → 4.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pactkit-4.1.1/.github/workflows/board-projection.yml +83 -0
- pactkit-4.1.1/.github/workflows/credentials.yml +134 -0
- pactkit-4.1.1/.github/workflows/release-acceptance.yml +330 -0
- pactkit-4.1.1/.gitignore +90 -0
- pactkit-4.1.1/.pre-commit-config.yaml +35 -0
- pactkit-4.1.1/.secrets.baseline +3071 -0
- pactkit-4.1.1/AGENTS.md +16 -0
- pactkit-4.1.1/CHANGELOG.md +1531 -0
- pactkit-4.1.1/PKG-INFO +743 -0
- pactkit-4.1.1/README.md +691 -0
- pactkit-4.1.1/SECURITY.md +60 -0
- pactkit-4.1.1/docs/architecture/governance/adr/ADR-0010-test-selection-is-focused-by-default-and-full-ev.md +93 -0
- pactkit-4.1.1/docs/architecture/governance/config-key-inventory.md +169 -0
- pactkit-4.1.1/docs/architecture/governance/config-source-facts-proposal.md +249 -0
- pactkit-4.1.1/docs/architecture/governance/contract-admission-proposal.md +375 -0
- pactkit-4.1.1/docs/architecture/governance/contract-admissions/main-branch-list-has-one-live-home.json +99 -0
- pactkit-4.1.1/docs/architecture/governance/contract-admissions/sample-list-change-associates-its-guard.json +107 -0
- pactkit-4.1.1/docs/architecture/governance/contract-candidates/main-branch-list-has-one-live-home.json +47 -0
- pactkit-4.1.1/docs/architecture/governance/contract-candidates/sample-list-change-associates-its-guard.json +49 -0
- pactkit-4.1.1/docs/architecture/governance/contract-evaluation.md +171 -0
- pactkit-4.1.1/docs/architecture/governance/contract-presentation-proposal.md +167 -0
- pactkit-4.1.1/docs/architecture/governance/contract-samples.md +750 -0
- pactkit-4.1.1/docs/architecture/governance/contracts.md +413 -0
- pactkit-4.1.1/docs/architecture/governance/gate-behavior-measurement.md +92 -0
- pactkit-4.1.1/docs/architecture/governance/gate-fallback-vs-precommit-stash.md +187 -0
- pactkit-4.1.1/docs/architecture/governance/gate-layer-declaration-discrepancy.md +162 -0
- pactkit-4.1.1/docs/architecture/governance/gate-migration-pristine-claim-gap.md +49 -0
- pactkit-4.1.1/docs/architecture/governance/gate-wiring-facts-proposal.md +332 -0
- pactkit-4.1.1/docs/architecture/governance/generated-artifacts.md +759 -0
- pactkit-4.1.1/docs/architecture/governance/generated-file-inventory.md +159 -0
- pactkit-4.1.1/docs/architecture/governance/hamgo-migration-inventory.md +101 -0
- pactkit-4.1.1/docs/architecture/governance/install-upgrade-plan-006a1e4.md +125 -0
- pactkit-4.1.1/docs/architecture/governance/legacy-isolation.md +1285 -0
- pactkit-4.1.1/docs/architecture/governance/legacy-project-migration-design.md +221 -0
- pactkit-4.1.1/docs/architecture/governance/metricly-config-migration-plan.md +213 -0
- pactkit-4.1.1/docs/architecture/governance/metricly-gate-chain-migration-plan.md +475 -0
- pactkit-4.1.1/docs/architecture/governance/metricly-migration-plan.md +162 -0
- pactkit-4.1.1/docs/architecture/governance/migration-support-scope-4.1.md +223 -0
- pactkit-4.1.1/docs/architecture/governance/product-vs-project-material-proposal.md +175 -0
- pactkit-4.1.1/docs/architecture/governance/project-changing-entrypoint-design.md +131 -0
- pactkit-4.1.1/docs/architecture/governance/read-surfaces.md +116 -0
- pactkit-4.1.1/docs/architecture/governance/rule-diagnosis-evidence-proposal.md +166 -0
- pactkit-4.1.1/docs/architecture/governance/truth-hierarchy.md +585 -0
- pactkit-4.1.1/docs/architecture/governance/update-clobbers-project-config.md +157 -0
- pactkit-4.1.1/docs/architecture/governance/update-fix-plan.md +82 -0
- pactkit-4.1.1/docs/architecture/governance/ut-assertion-value.md +510 -0
- pactkit-4.1.1/docs/architecture/governance/ut-inventory.md +939 -0
- pactkit-4.1.1/docs/guides/support-matrix.md +188 -0
- pactkit-4.1.1/docs/guides/verification-environments.md +61 -0
- pactkit-4.1.1/docs/product/sprint_board.md +1468 -0
- pactkit-4.1.1/docs/product/stories/BUG-slim-202609298eba179d1c40.yaml +20 -0
- pactkit-4.1.1/docs/product/stories/BUG-slim-20261002038ad4e7150c.yaml +23 -0
- pactkit-4.1.1/docs/product/stories/STORY-slim-202609210596e436fafc.yaml +24 -0
- pactkit-4.1.1/docs/product/stories/STORY-slim-20260928c7b15e04a216.yaml +37 -0
- pactkit-4.1.1/docs/product/stories/STORY-slim-20260929139c36507663.yaml +30 -0
- pactkit-4.1.1/docs/product/stories/STORY-slim-202609291e67ae08ec97.yaml +39 -0
- pactkit-4.1.1/docs/product/stories/STORY-slim-20260929ca871a978a8e.yaml +36 -0
- pactkit-4.1.1/docs/product/stories/STORY-slim-20260929e69ebc3c8fe7.yaml +33 -0
- pactkit-4.1.1/docs/specs/STORY-slim-20260923956d0d036a12.md +2262 -0
- pactkit-4.1.1/docs/specs/STORY-slim-20260928c7b15e04a216.md +382 -0
- pactkit-4.1.1/docs/specs/STORY-slim-20260929139c36507663.md +270 -0
- pactkit-4.1.1/docs/specs/STORY-slim-202609291e67ae08ec97.md +506 -0
- pactkit-4.1.1/docs/specs/STORY-slim-20260929ca871a978a8e.md +488 -0
- pactkit-4.1.1/docs/specs/STORY-slim-20260929e69ebc3c8fe7.md +356 -0
- pactkit-4.1.1/docs/test_cases/STORY-slim-20260929139c36507663_case.md +102 -0
- pactkit-4.1.1/docs/test_cases/STORY-slim-20260929ca871a978a8e_case.md +204 -0
- pactkit-4.1.1/pactkit.yaml +83 -0
- pactkit-4.1.1/pyproject.toml +135 -0
- pactkit-4.1.1/src/pactkit/__init__.py +3 -0
- pactkit-4.1.1/src/pactkit/artifact_currency.py +190 -0
- pactkit-4.1.1/src/pactkit/artifact_marker.py +222 -0
- pactkit-4.1.1/src/pactkit/artifact_provenance.py +188 -0
- pactkit-4.1.1/src/pactkit/cli.py +3762 -0
- pactkit-4.1.1/src/pactkit/commit_gate.py +2916 -0
- pactkit-4.1.1/src/pactkit/config.py +2719 -0
- pactkit-4.1.1/src/pactkit/config_migrations.py +280 -0
- pactkit-4.1.1/src/pactkit/context_gen.py +569 -0
- pactkit-4.1.1/src/pactkit/contract_admission.py +774 -0
- pactkit-4.1.1/src/pactkit/contract_evaluator.py +466 -0
- pactkit-4.1.1/src/pactkit/contract_receipt.py +488 -0
- pactkit-4.1.1/src/pactkit/contract_registry.py +296 -0
- pactkit-4.1.1/src/pactkit/contract_status.py +288 -0
- pactkit-4.1.1/src/pactkit/contract_suggest.py +333 -0
- pactkit-4.1.1/src/pactkit/deploy_manifest.py +1357 -0
- pactkit-4.1.1/src/pactkit/doctor.py +2197 -0
- pactkit-4.1.1/src/pactkit/enforcement.py +452 -0
- pactkit-4.1.1/src/pactkit/evidence_measure.py +729 -0
- pactkit-4.1.1/src/pactkit/garden.py +492 -0
- pactkit-4.1.1/src/pactkit/gate_migration.py +931 -0
- pactkit-4.1.1/src/pactkit/gate_run_config.py +129 -0
- pactkit-4.1.1/src/pactkit/gate_wiring.py +385 -0
- pactkit-4.1.1/src/pactkit/generators/deployer.py +2039 -0
- pactkit-4.1.1/src/pactkit/governance_materials.py +268 -0
- pactkit-4.1.1/src/pactkit/lifecycle_evaluator.py +289 -0
- pactkit-4.1.1/src/pactkit/lifecycle_findings.py +226 -0
- pactkit-4.1.1/src/pactkit/lifecycle_registry.py +164 -0
- pactkit-4.1.1/src/pactkit/managed_docs.py +129 -0
- pactkit-4.1.1/src/pactkit/migrations.py +177 -0
- pactkit-4.1.1/src/pactkit/ownership.py +178 -0
- pactkit-4.1.1/src/pactkit/precommit_bridge.py +827 -0
- pactkit-4.1.1/src/pactkit/project_bootstrap.py +167 -0
- pactkit-4.1.1/src/pactkit/project_contract.py +269 -0
- pactkit-4.1.1/src/pactkit/project_root.py +66 -0
- pactkit-4.1.1/src/pactkit/project_shape.py +116 -0
- pactkit-4.1.1/src/pactkit/prompts/commands.py +906 -0
- pactkit-4.1.1/src/pactkit/prompts/skills.py +878 -0
- pactkit-4.1.1/src/pactkit/prompts/workflows.py +948 -0
- pactkit-4.1.1/src/pactkit/read_surface.py +291 -0
- pactkit-4.1.1/src/pactkit/rule_diagnostics.py +522 -0
- pactkit-4.1.1/src/pactkit/skills/board.py +340 -0
- pactkit-4.1.1/src/pactkit/skills/mmd_render.py +344 -0
- pactkit-4.1.1/src/pactkit/skills/report.py +1096 -0
- pactkit-4.1.1/src/pactkit/skills/visualize.py +2707 -0
- pactkit-4.1.1/src/pactkit/test_mapper.py +133 -0
- pactkit-4.1.1/src/pactkit/test_selection.py +736 -0
- pactkit-4.1.1/src/pactkit/truth_hierarchy.py +448 -0
- pactkit-4.1.1/src/pactkit/utils.py +424 -0
- pactkit-4.1.1/tests/conformance/contracts.py +1029 -0
- pactkit-4.1.1/tests/conftest.py +374 -0
- pactkit-4.1.1/tests/e2e/acceptance/test_verification_acceptance.py +564 -0
- pactkit-4.1.1/tests/e2e/cli/test_story_slim149_query_cli.py +142 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/__root__.txt +101 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/accept-candidates.txt +5 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/config.txt +8 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/contract-admit.txt +19 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/contract-receipt.txt +9 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/contract-receipts.txt +7 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/contract-run.txt +11 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/contract-status.txt +8 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/contract-suggest.txt +8 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/guide.txt +8 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/lint-adr.txt +7 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/marker.txt +9 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/migrate.txt +7 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/ownership.txt +9 -0
- pactkit-4.1.1/tests/fixtures/cli_help_golden/query.txt +18 -0
- pactkit-4.1.1/tests/fixtures/config_golden/copy_claude.json +187 -0
- pactkit-4.1.1/tests/fixtures/config_golden/copy_codex.json +181 -0
- pactkit-4.1.1/tests/fixtures/config_golden/copy_github.json +182 -0
- pactkit-4.1.1/tests/fixtures/config_golden/empty.json +181 -0
- pactkit-4.1.1/tests/fixtures/config_golden/minimal.json +181 -0
- pactkit-4.1.1/tests/fixtures/config_golden/unknown_keys.json +184 -0
- pactkit-4.1.1/tests/fixtures/host_artifact_paths.json +836 -0
- pactkit-4.1.1/tests/fixtures/host_prompt_snapshots/classic.json +179 -0
- pactkit-4.1.1/tests/fixtures/host_prompt_snapshots/codex.json +151 -0
- pactkit-4.1.1/tests/fixtures/host_prompt_snapshots/opencode.json +175 -0
- pactkit-4.1.1/tests/fixtures/lifecycle/PROVENANCE.md +63 -0
- pactkit-4.1.1/tests/fixtures/lifecycle/prepush_after_fix.sh +21 -0
- pactkit-4.1.1/tests/fixtures/lifecycle/prepush_unreachable_gate.sh +26 -0
- pactkit-4.1.1/tests/unit/_admission_fixtures.py +139 -0
- pactkit-4.1.1/tests/unit/_cli_help_harness.py +77 -0
- pactkit-4.1.1/tests/unit/_ownership_baseline.py +51 -0
- pactkit-4.1.1/tests/unit/test_ac4_ownership_evidence.py +494 -0
- pactkit-4.1.1/tests/unit/test_b1_effective_config.py +586 -0
- pactkit-4.1.1/tests/unit/test_board_projection_drift.py +77 -0
- pactkit-4.1.1/tests/unit/test_bug013_config_single_source.py +302 -0
- pactkit-4.1.1/tests/unit/test_bug_slim006.py +238 -0
- pactkit-4.1.1/tests/unit/test_bug_slim20261002038ad4e7150c_project_root_target.py +249 -0
- pactkit-4.1.1/tests/unit/test_cli_help_surface.py +97 -0
- pactkit-4.1.1/tests/unit/test_cli_root_help_surface.py +67 -0
- pactkit-4.1.1/tests/unit/test_codegraph_views.py +262 -0
- pactkit-4.1.1/tests/unit/test_codex_hook_migration.py +206 -0
- pactkit-4.1.1/tests/unit/test_commit_gate.py +589 -0
- pactkit-4.1.1/tests/unit/test_config_source_consumers.py +393 -0
- pactkit-4.1.1/tests/unit/test_config_source_discovery.py +106 -0
- pactkit-4.1.1/tests/unit/test_config_source_facts_acceptance.py +437 -0
- pactkit-4.1.1/tests/unit/test_config_source_parse.py +119 -0
- pactkit-4.1.1/tests/unit/test_config_source_selection.py +81 -0
- pactkit-4.1.1/tests/unit/test_config_sync_precedence.py +124 -0
- pactkit-4.1.1/tests/unit/test_contract_admission.py +910 -0
- pactkit-4.1.1/tests/unit/test_contract_conflict_fixes.py +450 -0
- pactkit-4.1.1/tests/unit/test_contract_status.py +523 -0
- pactkit-4.1.1/tests/unit/test_contract_suggest.py +373 -0
- pactkit-4.1.1/tests/unit/test_cross_flow_matrix.py +113 -0
- pactkit-4.1.1/tests/unit/test_deploy_base.py +260 -0
- pactkit-4.1.1/tests/unit/test_deployer_cleanup.py +323 -0
- pactkit-4.1.1/tests/unit/test_evidence_measure_criterion.py +66 -0
- pactkit-4.1.1/tests/unit/test_gate_junit_counts.py +523 -0
- pactkit-4.1.1/tests/unit/test_gate_migration.py +884 -0
- pactkit-4.1.1/tests/unit/test_gate_reuse_dedup.py +329 -0
- pactkit-4.1.1/tests/unit/test_gate_run_config.py +132 -0
- pactkit-4.1.1/tests/unit/test_gate_telemetry.py +263 -0
- pactkit-4.1.1/tests/unit/test_gate_wiring.py +426 -0
- pactkit-4.1.1/tests/unit/test_governance_materials.py +350 -0
- pactkit-4.1.1/tests/unit/test_hook_expansion.py +429 -0
- pactkit-4.1.1/tests/unit/test_hotfix_20260830_gate_cli.py +166 -0
- pactkit-4.1.1/tests/unit/test_hotfix_20260903_visualize_sync.py +186 -0
- pactkit-4.1.1/tests/unit/test_hotfix_slim202609166519bc076345_gate_dispatch.py +150 -0
- pactkit-4.1.1/tests/unit/test_hotfix_slim2026091673a4d1c8c33b_gate_bypass.py +460 -0
- pactkit-4.1.1/tests/unit/test_hotfix_slim20260916991f0b0d0a2e_audit_findings.py +411 -0
- pactkit-4.1.1/tests/unit/test_hotfix_slim2026091699cba1b49506_astra_findings.py +423 -0
- pactkit-4.1.1/tests/unit/test_hotfix_slim20260916c4f2a9e6b013_gate_review.py +454 -0
- pactkit-4.1.1/tests/unit/test_mcp_integration.py +351 -0
- pactkit-4.1.1/tests/unit/test_precommit_bridge.py +443 -0
- pactkit-4.1.1/tests/unit/test_project_root.py +200 -0
- pactkit-4.1.1/tests/unit/test_project_shape.py +273 -0
- pactkit-4.1.1/tests/unit/test_prompt_cli_refs.py +276 -0
- pactkit-4.1.1/tests/unit/test_push_gate.py +618 -0
- pactkit-4.1.1/tests/unit/test_readme_counts.py +281 -0
- pactkit-4.1.1/tests/unit/test_rule_diagnosis_evidence.py +312 -0
- pactkit-4.1.1/tests/unit/test_selective_deploy.py +441 -0
- pactkit-4.1.1/tests/unit/test_smart_regression.py +256 -0
- pactkit-4.1.1/tests/unit/test_spec40_22_step8_config_generation.py +368 -0
- pactkit-4.1.1/tests/unit/test_story020_horizon.py +38 -0
- pactkit-4.1.1/tests/unit/test_story030_lint.py +219 -0
- pactkit-4.1.1/tests/unit/test_story033_config_backfill.py +257 -0
- pactkit-4.1.1/tests/unit/test_story037_regression_fix.py +222 -0
- pactkit-4.1.1/tests/unit/test_story040_layered_claude_md.py +406 -0
- pactkit-4.1.1/tests/unit/test_story050_doc_only_shortcut.py +224 -0
- pactkit-4.1.1/tests/unit/test_story057_implicit_cleanup.py +189 -0
- pactkit-4.1.1/tests/unit/test_story064_venv_local_md.py +237 -0
- pactkit-4.1.1/tests/unit/test_story072_developer_prefix.py +309 -0
- pactkit-4.1.1/tests/unit/test_story_slim010_dry_refactor.py +218 -0
- pactkit-4.1.1/tests/unit/test_story_slim016_testmap_lint.py +206 -0
- pactkit-4.1.1/tests/unit/test_story_slim022.py +346 -0
- pactkit-4.1.1/tests/unit/test_story_slim023.py +175 -0
- pactkit-4.1.1/tests/unit/test_story_slim056.py +584 -0
- pactkit-4.1.1/tests/unit/test_story_slim077_monorepo_stack.py +241 -0
- pactkit-4.1.1/tests/unit/test_story_slim102_version_marker.py +164 -0
- pactkit-4.1.1/tests/unit/test_story_slim126.py +158 -0
- pactkit-4.1.1/tests/unit/test_story_slim127_managed_block.py +301 -0
- pactkit-4.1.1/tests/unit/test_story_slim132.py +154 -0
- pactkit-4.1.1/tests/unit/test_story_slim142_all_target_isolation.py +336 -0
- pactkit-4.1.1/tests/unit/test_story_slim145.py +386 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260915eaf18678ce23_commit_path.py +469 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609160fe9825c04b7_yaml_fidelity.py +226 -0
- pactkit-4.1.1/tests/unit/test_story_slim2026091644dd0bd263d1_sync_order.py +142 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260916823f60779f1a_verification_receipt.py +280 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260921a562f2ea66c4_canonical_ir.py +1006 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260921e7716b1f465a_canonical_config.py +947 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260921ede7d5c2135f_batch4_hooks.py +600 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260928c7b15e04a216_config_migration.py +593 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260928c7b15e04a216_migrate_command.py +265 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260928c7b15e04a216_ownership.py +510 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260928c7b15e04a216_reader_isolation.py +555 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260928c7b15e04a216_write_inventory.py +261 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929139c36507663_policy.py +128 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929139c36507663_surfaces.py +242 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609291e67ae08ec97_codegraph.py +209 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609291e67ae08ec97_controls.py +380 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609291e67ae08ec97_doctor.py +325 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609291e67ae08ec97_evaluator.py +221 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609291e67ae08ec97_findings.py +240 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609291e67ae08ec97_fixtures.py +100 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609291e67ae08ec97_layers.py +148 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609291e67ae08ec97_registry.py +280 -0
- pactkit-4.1.1/tests/unit/test_story_slim202609291e67ae08ec97_selfscan.py +131 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929_deploy_drift.py +324 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929_test_selection.py +929 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929ca871a978a8e_artifacts.py +390 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929ca871a978a8e_axes.py +356 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929ca871a978a8e_census.py +241 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929ca871a978a8e_control.py +244 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929e69ebc3c8fe7_contracts.py +277 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929e69ebc3c8fe7_evaluation.py +330 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929e69ebc3c8fe7_evaluator.py +416 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929e69ebc3c8fe7_inventory.py +215 -0
- pactkit-4.1.1/tests/unit/test_story_slim20260929e69ebc3c8fe7_receipt.py +466 -0
- pactkit-4.1.1/tests/unit/test_surgical_write_fidelity.py +173 -0
- pactkit-4.1.1/tests/unit/test_update_preserves_declared_stack.py +93 -0
- pactkit-4.0.0/.github/workflows/release-acceptance.yml +0 -278
- pactkit-4.0.0/.gitignore +0 -81
- pactkit-4.0.0/.pre-commit-config.yaml +0 -28
- pactkit-4.0.0/.secrets.baseline +0 -3004
- pactkit-4.0.0/AGENTS.md +0 -14
- pactkit-4.0.0/CHANGELOG.md +0 -1370
- pactkit-4.0.0/PKG-INFO +0 -705
- pactkit-4.0.0/README.md +0 -653
- pactkit-4.0.0/SECURITY.md +0 -60
- pactkit-4.0.0/docs/architecture/governance/legacy-isolation.md +0 -1131
- pactkit-4.0.0/docs/architecture/governance/truth-hierarchy.md +0 -551
- pactkit-4.0.0/docs/guides/support-matrix.md +0 -177
- pactkit-4.0.0/docs/product/sprint_board.md +0 -1385
- pactkit-4.0.0/docs/product/stories/STORY-slim-202609210596e436fafc.yaml +0 -20
- pactkit-4.0.0/docs/specs/STORY-slim-20260923956d0d036a12.md +0 -2222
- pactkit-4.0.0/pactkit.yaml +0 -69
- pactkit-4.0.0/pyproject.toml +0 -135
- pactkit-4.0.0/src/pactkit/__init__.py +0 -3
- pactkit-4.0.0/src/pactkit/cli.py +0 -2974
- pactkit-4.0.0/src/pactkit/commit_gate.py +0 -2790
- pactkit-4.0.0/src/pactkit/config.py +0 -2089
- pactkit-4.0.0/src/pactkit/context_gen.py +0 -471
- pactkit-4.0.0/src/pactkit/deploy_manifest.py +0 -908
- pactkit-4.0.0/src/pactkit/doctor.py +0 -1703
- pactkit-4.0.0/src/pactkit/enforcement.py +0 -401
- pactkit-4.0.0/src/pactkit/evidence_measure.py +0 -641
- pactkit-4.0.0/src/pactkit/garden.py +0 -442
- pactkit-4.0.0/src/pactkit/gate_migration.py +0 -878
- pactkit-4.0.0/src/pactkit/generators/deployer.py +0 -1991
- pactkit-4.0.0/src/pactkit/lazy_visualize.py +0 -42
- pactkit-4.0.0/src/pactkit/precommit_bridge.py +0 -803
- pactkit-4.0.0/src/pactkit/project_bootstrap.py +0 -159
- pactkit-4.0.0/src/pactkit/project_contract.py +0 -180
- pactkit-4.0.0/src/pactkit/project_root.py +0 -64
- pactkit-4.0.0/src/pactkit/prompts/commands.py +0 -906
- pactkit-4.0.0/src/pactkit/prompts/skills.py +0 -878
- pactkit-4.0.0/src/pactkit/prompts/workflows.py +0 -948
- pactkit-4.0.0/src/pactkit/rule_diagnostics.py +0 -350
- pactkit-4.0.0/src/pactkit/skills/board.py +0 -277
- pactkit-4.0.0/src/pactkit/skills/mmd_render.py +0 -323
- pactkit-4.0.0/src/pactkit/skills/report.py +0 -1040
- pactkit-4.0.0/src/pactkit/skills/visualize.py +0 -2634
- pactkit-4.0.0/src/pactkit/test_mapper.py +0 -103
- pactkit-4.0.0/src/pactkit/utils.py +0 -415
- pactkit-4.0.0/tests/conformance/contracts.py +0 -997
- pactkit-4.0.0/tests/conftest.py +0 -304
- pactkit-4.0.0/tests/e2e/acceptance/test_verification_acceptance.py +0 -547
- pactkit-4.0.0/tests/e2e/cli/test_story_slim149_query_cli.py +0 -137
- pactkit-4.0.0/tests/fixtures/cli_help_golden/__root__.txt +0 -82
- pactkit-4.0.0/tests/fixtures/cli_help_golden/accept-candidates.txt +0 -1
- pactkit-4.0.0/tests/fixtures/cli_help_golden/guide.txt +0 -1
- pactkit-4.0.0/tests/fixtures/cli_help_golden/lint-adr.txt +0 -1
- pactkit-4.0.0/tests/fixtures/cli_help_golden/query.txt +0 -16
- pactkit-4.0.0/tests/fixtures/config_golden/copy_claude.json +0 -188
- pactkit-4.0.0/tests/fixtures/config_golden/copy_codex.json +0 -182
- pactkit-4.0.0/tests/fixtures/config_golden/copy_github.json +0 -183
- pactkit-4.0.0/tests/fixtures/config_golden/empty.json +0 -182
- pactkit-4.0.0/tests/fixtures/config_golden/minimal.json +0 -182
- pactkit-4.0.0/tests/fixtures/config_golden/unknown_keys.json +0 -185
- pactkit-4.0.0/tests/fixtures/host_artifact_paths.json +0 -818
- pactkit-4.0.0/tests/fixtures/host_prompt_snapshots/classic.json +0 -177
- pactkit-4.0.0/tests/fixtures/host_prompt_snapshots/codex.json +0 -149
- pactkit-4.0.0/tests/fixtures/host_prompt_snapshots/opencode.json +0 -173
- pactkit-4.0.0/tests/unit/test_ac4_ownership_evidence.py +0 -463
- pactkit-4.0.0/tests/unit/test_b1_effective_config.py +0 -511
- pactkit-4.0.0/tests/unit/test_bug013_config_single_source.py +0 -295
- pactkit-4.0.0/tests/unit/test_bug_slim006.py +0 -224
- pactkit-4.0.0/tests/unit/test_cli_help_surface.py +0 -167
- pactkit-4.0.0/tests/unit/test_codegraph_views.py +0 -254
- pactkit-4.0.0/tests/unit/test_codex_hook_migration.py +0 -174
- pactkit-4.0.0/tests/unit/test_commit_gate.py +0 -547
- pactkit-4.0.0/tests/unit/test_config_sync_precedence.py +0 -118
- pactkit-4.0.0/tests/unit/test_contract_conflict_fixes.py +0 -416
- pactkit-4.0.0/tests/unit/test_cross_flow_matrix.py +0 -107
- pactkit-4.0.0/tests/unit/test_deploy_base.py +0 -155
- pactkit-4.0.0/tests/unit/test_deployer_cleanup.py +0 -299
- pactkit-4.0.0/tests/unit/test_gate_junit_counts.py +0 -257
- pactkit-4.0.0/tests/unit/test_gate_migration.py +0 -680
- pactkit-4.0.0/tests/unit/test_gate_reuse_dedup.py +0 -324
- pactkit-4.0.0/tests/unit/test_gate_telemetry.py +0 -263
- pactkit-4.0.0/tests/unit/test_hook_expansion.py +0 -422
- pactkit-4.0.0/tests/unit/test_hotfix_20260830_gate_cli.py +0 -166
- pactkit-4.0.0/tests/unit/test_hotfix_20260903_visualize_sync.py +0 -183
- pactkit-4.0.0/tests/unit/test_hotfix_slim202609166519bc076345_gate_dispatch.py +0 -150
- pactkit-4.0.0/tests/unit/test_hotfix_slim2026091673a4d1c8c33b_gate_bypass.py +0 -460
- pactkit-4.0.0/tests/unit/test_hotfix_slim20260916991f0b0d0a2e_audit_findings.py +0 -411
- pactkit-4.0.0/tests/unit/test_hotfix_slim2026091699cba1b49506_astra_findings.py +0 -423
- pactkit-4.0.0/tests/unit/test_hotfix_slim20260916c4f2a9e6b013_gate_review.py +0 -454
- pactkit-4.0.0/tests/unit/test_mcp_integration.py +0 -340
- pactkit-4.0.0/tests/unit/test_precommit_bridge.py +0 -382
- pactkit-4.0.0/tests/unit/test_project_root.py +0 -161
- pactkit-4.0.0/tests/unit/test_prompt_cli_refs.py +0 -122
- pactkit-4.0.0/tests/unit/test_push_gate.py +0 -608
- pactkit-4.0.0/tests/unit/test_readme_counts.py +0 -245
- pactkit-4.0.0/tests/unit/test_selective_deploy.py +0 -416
- pactkit-4.0.0/tests/unit/test_smart_regression.py +0 -245
- pactkit-4.0.0/tests/unit/test_spec40_22_step8_config_generation.py +0 -269
- pactkit-4.0.0/tests/unit/test_story020_horizon.py +0 -27
- pactkit-4.0.0/tests/unit/test_story030_lint.py +0 -91
- pactkit-4.0.0/tests/unit/test_story033_config_backfill.py +0 -246
- pactkit-4.0.0/tests/unit/test_story037_regression_fix.py +0 -186
- pactkit-4.0.0/tests/unit/test_story040_layered_claude_md.py +0 -398
- pactkit-4.0.0/tests/unit/test_story050_doc_only_shortcut.py +0 -209
- pactkit-4.0.0/tests/unit/test_story057_implicit_cleanup.py +0 -182
- pactkit-4.0.0/tests/unit/test_story064_venv_local_md.py +0 -228
- pactkit-4.0.0/tests/unit/test_story072_developer_prefix.py +0 -304
- pactkit-4.0.0/tests/unit/test_story_slim010_dry_refactor.py +0 -206
- pactkit-4.0.0/tests/unit/test_story_slim016_testmap_lint.py +0 -198
- pactkit-4.0.0/tests/unit/test_story_slim022.py +0 -340
- pactkit-4.0.0/tests/unit/test_story_slim023.py +0 -158
- pactkit-4.0.0/tests/unit/test_story_slim056.py +0 -575
- pactkit-4.0.0/tests/unit/test_story_slim077_monorepo_stack.py +0 -244
- pactkit-4.0.0/tests/unit/test_story_slim102_version_marker.py +0 -150
- pactkit-4.0.0/tests/unit/test_story_slim126.py +0 -95
- pactkit-4.0.0/tests/unit/test_story_slim127_managed_block.py +0 -287
- pactkit-4.0.0/tests/unit/test_story_slim132.py +0 -147
- pactkit-4.0.0/tests/unit/test_story_slim142_all_target_isolation.py +0 -271
- pactkit-4.0.0/tests/unit/test_story_slim145.py +0 -386
- pactkit-4.0.0/tests/unit/test_story_slim20260915eaf18678ce23_commit_path.py +0 -410
- pactkit-4.0.0/tests/unit/test_story_slim202609160fe9825c04b7_yaml_fidelity.py +0 -205
- pactkit-4.0.0/tests/unit/test_story_slim2026091644dd0bd263d1_sync_order.py +0 -138
- pactkit-4.0.0/tests/unit/test_story_slim20260916823f60779f1a_verification_receipt.py +0 -280
- pactkit-4.0.0/tests/unit/test_story_slim20260921a562f2ea66c4_canonical_ir.py +0 -973
- pactkit-4.0.0/tests/unit/test_story_slim20260921e7716b1f465a_canonical_config.py +0 -936
- pactkit-4.0.0/tests/unit/test_story_slim20260921ede7d5c2135f_batch4_hooks.py +0 -583
- {pactkit-4.0.0 → pactkit-4.1.1}/.codegraph/.gitignore +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/.github/workflows/pactkit.yml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/.github/workflows/publish.yml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/.github/workflows/runner-heartbeat.yml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/CODE_OF_CONDUCT.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/CONTRIBUTING.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/LICENSE +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/STORY-slim-20260911b2bbd79889e0-review-round2.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/STORY-slim-202609144d0b3cb593aa-context-reuse.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/dimensions.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/INDEX.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/driver3.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/driver4.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC1/docs/specs/AC1.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC1/src/profile.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC1/tests/unit/test_profile.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC10/docs/ACT_NOTES.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC10/docs/specs/AC10.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC10/src/billing.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC2/docs/VERIFY.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC2/docs/specs/AC2.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC2/src/textutil.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC2/tests/unit/test_textutil.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC3/docs/specs/AC3.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC4/docs/specs/AC4.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC4/src/reporter.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC5/db/migrations/001_rename.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC5/docs/specs/AC5.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC5/premise.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC5/src/deployer.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC5/src/workflow_engine.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC6/docs/specs/AC6.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC6/src/pull.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC7/NEEDS_GIT +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC7/docs/specs/AC7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC7/post_git.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC7/premise.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC7/src/audit.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC7/tests/unit/test_audit.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC8/NEEDS_GIT +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC8/docs/specs/AC8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC8/post_git.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC8/premise.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC8/src/audit.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC8/tests/unit/test_audit.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC9/NEEDS_GIT +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC9/docs/specs/AC9.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC9/post_git.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC9/premise.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC9/src/audit.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/AC9/tests/unit/test_audit.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/_template/README.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/_template/src/widget.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/fixtures/_template/tests/unit/test_widget.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/harness.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC1.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC10.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC2.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC3.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC4.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC5.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC6.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC7.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC8.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/prompts/AC9.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC1-r2.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC1-r3.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC10-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC2-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC3-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC4-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC5-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC5-r2.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC6-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC7-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC7-r2.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC8-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC9-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/baseline/AC9-r2.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC1-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC1-r2.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC1-r3.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC10-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC2-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC3-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC4-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC5-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC5-r2.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC6-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC7-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC7-r2.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC8-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC9-r1.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round1/candidate/AC9-r2.json.gz +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC1-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC1-r12.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC1-r2.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC10-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC2-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC3-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC4-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC5-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC5-r2.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC6-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC7-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC7-r2.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC8-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC8-r11.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC9-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC9-r11.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/baseline/AC9-r2.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC1-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC1-r12.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC1-r2.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC10-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC2-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC3-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC4-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC5-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC5-r2.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC6-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC7-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC7-r11.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC7-r2.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC8-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC9-r1.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC9-r11.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/acceptance/r8-trial/records/round3/candidate/AC9-r2.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adapter-registration-step0-2026-09-23.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adapter-residual-audit-2026-09-23.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adr/ADR-0001-compliance-enforcement-lives-in-code-gates-promp.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adr/ADR-0002-guides-carry-operational-practice-content-not-ju.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adr/ADR-0003-rule-telemetry-is-consumed-at-code-touchpoints-w.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adr/ADR-0004-verification-decisions-are-structured-data-consu.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adr/ADR-0005-rule-adjustments-are-evaluated-on-a-fixed-corpus.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adr/ADR-0006-verification-evidence-is-stamped-by-code-touchpo.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adr/ADR-0007-config-layering-with-tighten-only-direction-cons.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adr/ADR-0008-semantic-code-queries-go-through-the-pactkit-que.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/adr/ADR-0009-measured-evidence-and-declared-evidence-must-be.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/archive/lessons_archive_202602.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/archive/lessons_archive_202603.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/archive/lessons_archive_202604.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/artifact-lifecycle.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/harness_audit.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/legacy-done-records.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260227-8e92f52c86.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260227-a21cacfde2.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260227-ccb19799ea.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260228-6e4b02ff08.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260228-b87245d5fc.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260302-8980b2512d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260302-8f58fa2045.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260302-a3a1b7900e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260303-3f65c0442b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260304-23c605e495.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260304-8bd6c10219.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260305-129d1dea2a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260305-48752d79c3.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260305-b9afdd8720.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260305-f93ee5b19f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260306-7061390095.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260313-edf7807faf.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260316-091567c2bb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260316-4661b3789a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260316-7214dac8fc.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-3d8a855086.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-4ba69c35f0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-6cd2a53ba5.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-7a0dd3407e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-86927e3701.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-9a8025eaac.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-a0721cc066.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-a1f53d759b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-a9f7897b36.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260317-ff430eaa29.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260318-fb0bcd928b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260319-f320fbb5cc.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260320-b2d80c56b3.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260320-c102dbd6f8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260320-e8f6ddae81.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260321-5e57da75b0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260321-6a4a30628f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260321-b5a58de3f9.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260321-e0138991ed.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260321-e49663fc95.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260322-4c0480e882.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260322-d1ece5c0d4.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260323-4bd30888ce.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260323-7a02b3eb85.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260323-8624e0d93a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260323-a8faeea78c.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-075e3332b8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-0f6f041a52.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-2dab5931de.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-8bcda73e9b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-9e6238f0c8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-a1cace9846.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-bf64dd9564.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-c344d7655c.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-e60c50dcc9.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260324-f5149caffe.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260325-1a5eeea04c.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-02460b22de.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-09de627b2b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-204ea48f84.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-32e2fd3074.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-6c6dbfc365.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-7811ad7ff2.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-88e7123370.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-d2376010b1.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-e4f0eb8850.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-e68b8aa47f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260326-fdd06ad981.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260327-e3c7f5abcb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260330-eb1760def2.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260331-1b58a289ea.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260331-26e474753e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260331-3028ab9cf5.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260331-350048862b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260331-7d41cdf5a3.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260331-8e5558a077.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260331-c46df1c3b1.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260401-41515789f6.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260401-4453752dda.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260401-5a225a1c0a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260401-90724b10f0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260401-9e322eb76e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260401-bd20019d3d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260401-de035be681.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260401-f44c8f499e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260401-fa52f596ff.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260402-5b063207c8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260402-5e0913ec81.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260415-3d8b5e8f81.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260415-84219771ca.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260416-41d4564480.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260416-5cdc3cf53f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260416-807c65a8e7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260416-ade561c777.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260416-b78aaf129a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260416-db8a5430a0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260416-f5a765c496.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260417-f1d777e9c9.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260418-ee12f2ff0d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260420-2260437be7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260420-a35a083e29.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260420-fa7d958d56.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260421-309c998a10.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260422-6509ac4df0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260422-8dd5ed6a24.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260423-b0890ad9c2.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260424-24cc1d5e19.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260424-39a99c887d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260427-f7955d5775.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260507-7b75a5cab8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260507-b26f97255d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260525-1fe96d2ff4.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260525-717e18e190.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260525-df4853fa3f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260526-4c230f3a9d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260601-6d6b779a83.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260601-e65d3407ed.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260610-51c3cf895e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260629-6171e54ac8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260702-4616caa284.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260713-da6d40dcc0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260723-d4c9801300.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260813-18efcf9687.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260813-1dc6e2e1c7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260813-21d4da632f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260817-3587ae1a22.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260817-5f08a6affa.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260817-800f717c9d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260817-a2cd839a2d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260822-9175485749.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260822105138-298451a42c.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260822105138-522c7e4af4.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260822105138-72cc1d0343.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260823015950-6b8cbea92e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260823022240-d3570f57fb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260823050717-9192db37f8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260826072120-c6db5dd5b1.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260826074629-f5119ea78b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260826080242-012107ada2.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260826082256-eff3747d60.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260827093143-3236113033.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260827095642-059a7e996b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260827102057-e04522a6fc.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260828102433-81cd3e00a0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260830034504-4f7d0f8c58.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260902100234-6fa7694bad.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260903031356-434a87fc47.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260903074136-2ad6569039.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260903074336-9d34da327e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260903105934-7f4db3bb3d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260905225746-b931bfdd36.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260905225755-a1676b4a92.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260905232251-99aae9139a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260909071100-ae89cd100f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260909071100-f0c830f573.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260911140126-2a137f5de7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260914134141-1b7d68cc0d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260915101454-f5cd8980ed.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260915101507-81b164b62d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260916025924-0161b23415.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260916060833-a56ceb5473.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260916071655-f231d85eeb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260916073935-f3b66ad2fa.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918101218-13c6881daa.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918101225-8203b3d79d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918101234-1fb486910f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918101234-c06eb97892.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918101234-c82d448fd7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918124317-8bee6134b2.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918124317-e6d9c684b6.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918124325-22cd2b7605.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918145450-3d92bd7b26.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260918145811-54f64772fb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260919002744-9231d3a3c4.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260919010001-a8a62ea231.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260919030717-a8b2f65085.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260920072822-88ef70cc14.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260920093840-9b61b1e558.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260921014230-4649c460d5.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260921030026-a028be9c10.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons/LESSON-20260921055739-5f89ab5c4b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/lessons.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/philosophy.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/postmortems/PM-20260903-codex-stale-embedded-copies.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/postmortems/PM-20260903-opencode-ledger-wipe.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/postmortems/PM-20260918-cli-type-signal.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/postmortems/PM-20260918-dead-code-audit.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/postmortems/PM-20260918-testcase-supply-gap.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/postmortems/PM-20260920-doctor-verdict-divergence.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/governance/rules.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/graphs/reverse_call_graph.mmd +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/graphs/system_design.mmd +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/architecture/graphs/workflow_graph.mmd +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/assets/logo.png +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/e2e/journey.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/guides/baseline-signing-options.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/guides/codex-integration-preresearch.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/guides/credential-incident-response.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/guides/host-channel-onboarding.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/guides/opencode-pretool-channel-evidence.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/guides/release-recovery-runbook.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/guides/spec-authoring-conventions.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/guides/tool-integration-checklist.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/architecture-slimming-metrics.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/archive/archive_202602.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/archive/archive_202603.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/archive/archive_202604.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/archive/archive_202605.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/archive/archive_202606.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/archive/archive_202607.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/archive/archive_202608.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/config-retirement-audit.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/friction-log.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/harness-comparison-2026-08-27.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/planning/STORY-slim-20260917e7a26d4bc981.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/planning/STORY-slim-2026092120652367d4c6.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/prd.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-20260920225f30d563a1.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-20260922031fccf35af5.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-2026092296f6ab6005f4.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-20260922afbc8ddf5252.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-2026092323db7dc89b51.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-2026092384946b894b94.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-20260923919e4022ec24.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-202609239940ba8bc08b.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-20260923aeb5e4807a2b.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/BUG-slim-20260923eb9b2de2033b.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-127.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-131.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-132.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260828ee6cde3108fb.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260830bbb5bc219d35.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260901469666ef23a8.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260903d464746b1909.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-202609061713452e9748.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-2026090643cc9415bb85.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-202609064f74efbe75ac.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-2026090656e948c25a14.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260906a1457ace4c11.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260906a71fc0080034.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260906ac9bf3ab9910.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-2026091645aa03e71927.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-202609166519bc076345.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-202609166a956c024963.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-2026091673a4d1c8c33b.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260916991f0b0d0a2e.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-2026091699cba1b49506.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260916bcd9deb4bec0.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260916c4f2a9e6b013.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-20260916cccbb8ee26fb.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/HOTFIX-slim-202609200d44cb016534.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-115.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-118.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-119.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-145.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-147.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-148.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-149.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026082381e832771d4e.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260823d854b0cf1875.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260823de7e85d6042a.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260825b1c83a046b4b.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202608264cf429c75e22.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026082672b57c78fd67.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202608267c3989223b4d.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202608268fc379dbe6ef.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260826ac1f0bfe4148.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260826cb37edfdd4da.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260826ce35b77ce005.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260826f9492ab32c3d.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260827024e71df170f.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026082727cc4ab535e7.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026082730b5954cf538.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260827625b870eb7da.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202608277ec1236a7b99.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260827833e7a200f9a.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260827855bf3efaec3.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026082799fa651655be.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260827c67e3add6af5.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260827d0ae0dfada51.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260827eddbe9669c87.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260827fb6291b717eb.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260827fc9de5542ad7.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260828897396a935ab.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202608289e83eeb30df4.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260828d43fae4edbb6.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260830c65491123af1.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609025bc9246b6a54.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026090301691dea72e8.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026090333d6b72f7645.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260903699c84c217e0.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609037a7d4be200e7.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260903a24e1ece0d7f.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260903a4ef6915ed62.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260903b5ce6be5f7e0.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260905efced66ebc9c.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026090699752886f924.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260909b90ba785f55a.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260909e47c92ef09ec.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609110568ba869adb.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609110d1567cfbc04.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026091122a1144a1ac5.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260911453c59076a8a.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260911511cde75db9b.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260911614214d936d9.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026091171392be2a603.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026091184808465e1fc.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260911912c981c9d5e.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609119b5e42fd459a.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260911ab8de391c5a9.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260911b1e7c94d3f28.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260911b2bbd79889e0.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260911ba339646a2da.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260911c4a8e17b6d02.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260912ddc450b6fdcf.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609144d0b3cb593aa.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026091519c812a6db71.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260915ac3e5c24fdd3.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260915eaf18678ce23.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609160fe9825c04b7.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026091644dd0bd263d1.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609165747a3fc13b8.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260916823f60779f1a.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260916e9aadb6b2b46.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609171e19122d7b1b.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609174672386c4e73.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609174b30394b3eaf.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609175412dd8da7e0.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026091769e0a79767ff.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260917a68895632abb.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260917a76a62f23124.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260917beaa87bc5d27.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260917c18f4a962b70.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260917c943d7aaeb7c.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260917cb17ae9bbc87.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026091806bbe53c5884.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260918164ea9fe09e9.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260918864001ab2cad.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026091893aad6f3d8ac.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609189a690adb96b7.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260918dda35a04d01d.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260918e76e4a89b0ad.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260919752e74b3f591.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260919b7362f043437.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026092010bf0bf77b9f.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609202886076c407c.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609204f623f7bd50c.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609206d5dc5792609.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260920826d30afae88.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260920a857d99c2c6e.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260920bc98b2d93bc7.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260920c77797299eba.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260920de88ba290110.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609212d6222f99f99.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609213d81204e2d45.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026092148349386a757.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609215cfbe6b6c4a0.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609215fcccbd0851a.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609216555d0788942.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-2026092167351bbe8c16.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609217251f027db09.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-202609217d99ffad0d99.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260921a562f2ea66c4.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260921b2cfd6574674.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260921c7a3f696f79f.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260921ce43695e5306.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260921e7716b1f465a.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260921e8c4a1f7b9d2.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260921ede7d5c2135f.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260921f19a0c4d7b3e.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260922a3f81c72e940.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260922b7d40e19c58f.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260922dffb2377b769.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260923956d0d036a12.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/product/stories/STORY-slim-20260923e89f3d0b32ab.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/reference/phases.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/reference/rules.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/reference/workflow-units.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-001.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-002.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-003.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-004.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-005.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-006.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-007.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-008.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-009.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-010.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-011.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-012.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-013.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-014.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-015.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-016.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-017.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-018.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-019.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-020.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-021.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-022.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-023.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-024.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-025.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-026.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-027.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-028.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-029.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-030.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-031.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-032.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-033.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-034.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-035.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-001.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-002.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-003.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-004.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-005.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-006.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-089.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-107.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-20260920225f30d563a1.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-20260922031fccf35af5.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-2026092296f6ab6005f4.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-20260922afbc8ddf5252.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-2026092323db7dc89b51.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-20260923557c805d9a7a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-2026092384946b894b94.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-20260923919e4022ec24.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-202609239940ba8bc08b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-20260923aeb5e4807a2b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/BUG-slim-20260923eb9b2de2033b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-023.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-049.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-050.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-051.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-052.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-061.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-062.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-067.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-069.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-070.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-085.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-087.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-096.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-099.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-107.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-117.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-122.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-123.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-126.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-127.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-130.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-131.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-132.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260828ee6cde3108fb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260830bbb5bc219d35.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260901469666ef23a8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260903d464746b1909.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-202609061713452e9748.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-2026090643cc9415bb85.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-202609064f74efbe75ac.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-2026090656e948c25a14.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260906a1457ace4c11.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260906a71fc0080034.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260906ac9bf3ab9910.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-2026091645aa03e71927.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-202609166519bc076345.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-202609166a956c024963.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-2026091673a4d1c8c33b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260916991f0b0d0a2e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-2026091699cba1b49506.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260916bcd9deb4bec0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260916c4f2a9e6b013.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-20260916cccbb8ee26fb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/HOTFIX-slim-202609200d44cb016534.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-001.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-002.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-003.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-004.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-005.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-006.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-007.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-008.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-009.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-010.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-011.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-012.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-013.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-014.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-015.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-016.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-017.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-018.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-019.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-020.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-021.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-022.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-023.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-024.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-025.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-026.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-027.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-028.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-029.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-030.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-031.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-032.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-033.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-034.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-035.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-036.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-037.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-038.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-039.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-040.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-041.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-042.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-043.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-044.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-045.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-046.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-047.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-048.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-049.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-050.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-051.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-052.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-053.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-054.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-055.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-056.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-057.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-058.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-059.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-060.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-061.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-062.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-063.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-064.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-065.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-069.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-070.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-071.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-072.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-073.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-001.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-005.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-006.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-007.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-009.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-010.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-011.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-012.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-013.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-014.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-015.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-016.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-017.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-018.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-019.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-020.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-021.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-022.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-023.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-024.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-028.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-029.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-030.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-031.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-032.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-033.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-034.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-035.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-036.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-037.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-038.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-039.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-040.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-041.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-042.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-043.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-044.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-045.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-046.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-047.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-048.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-049.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-050.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-051.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-052.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-053.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-054.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-055.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-056.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-057.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-058.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-059.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-060.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-063.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-066.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-067.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-068.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-069.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-070.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-071.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-072.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-073.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-074.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-075.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-076.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-077.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-078.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-079.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-080.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-081.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-082.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-083.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-084.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-086.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-088.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-089.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-090.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-091.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-092.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-093.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-094.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-095.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-097.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-098.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-099.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-100.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-101.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-102.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-103.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-104.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-105.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-106.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-107.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-108.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-109.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-110.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-111.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-112.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-113.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-114.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-115.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-116.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-118.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-119.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-120.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-121.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-124.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-125.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-126.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-127.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-128.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-129.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-132.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-133.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-134.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-135.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-136.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-137.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-138.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-139.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-140.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-141.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-142.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-143.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-144.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-145.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-146.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-147.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-148.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-149.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026082381e832771d4e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260823d854b0cf1875.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260823de7e85d6042a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026082466c8670d9655.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260824dd23a0ed3b4c.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260825b1c83a046b4b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202608264cf429c75e22.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026082672b57c78fd67.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202608267c3989223b4d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202608268fc379dbe6ef.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260826ac1f0bfe4148.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260826cb37edfdd4da.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260826ce35b77ce005.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260826f9492ab32c3d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260827024e71df170f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026082727cc4ab535e7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026082730b5954cf538.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260827625b870eb7da.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260827833e7a200f9a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260827855bf3efaec3.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026082799fa651655be.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260827d0ae0dfada51.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260827eddbe9669c87.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260827fb6291b717eb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260827fc9de5542ad7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260828897396a935ab.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202608289e83eeb30df4.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260828d43fae4edbb6.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260830c65491123af1.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609025bc9246b6a54.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026090301691dea72e8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026090333d6b72f7645.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260903699c84c217e0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609037a7d4be200e7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260903a24e1ece0d7f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260903a4ef6915ed62.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260903b5ce6be5f7e0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260905efced66ebc9c.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026090699752886f924.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260909b90ba785f55a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260909e47c92ef09ec.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609110568ba869adb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609110d1567cfbc04.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026091122a1144a1ac5.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260911453c59076a8a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260911511cde75db9b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260911614214d936d9.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026091171392be2a603.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026091184808465e1fc.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260911912c981c9d5e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609119b5e42fd459a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260911ab8de391c5a9.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260911b1e7c94d3f28.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260911b2bbd79889e0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260911c4a8e17b6d02.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609144d0b3cb593aa.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260915ac3e5c24fdd3.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260915eaf18678ce23.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609160fe9825c04b7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026091644dd0bd263d1.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609165747a3fc13b8.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260916823f60779f1a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260916b5beb25459bd.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260916e9aadb6b2b46.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609171e19122d7b1b.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609174672386c4e73.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609174b30394b3eaf.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609175412dd8da7e0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026091769e0a79767ff.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260917a68895632abb.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260917a76a62f23124.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260917beaa87bc5d27.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260917c18f4a962b70.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260917c943d7aaeb7c.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260917cb17ae9bbc87.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026091806bbe53c5884.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260918164ea9fe09e9.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260918864001ab2cad.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026091893aad6f3d8ac.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609189a690adb96b7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260918dda35a04d01d.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260918e76e4a89b0ad.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260919752e74b3f591.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260919b7362f043437.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026092010bf0bf77b9f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260920826d30afae88.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260920bc98b2d93bc7.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609210596e436fafc.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609212d6222f99f99.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609213d81204e2d45.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026092148349386a757.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609215cfbe6b6c4a0.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609215fcccbd0851a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609216555d0788942.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-2026092167351bbe8c16.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609217251f027db09.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-202609217d99ffad0d99.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260921a562f2ea66c4.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260921b2cfd6574674.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260921c7a3f696f79f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260921ce43695e5306.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260921e7716b1f465a.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260921e8c4a1f7b9d2.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260921ede7d5c2135f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260921f19a0c4d7b3e.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260921reconcilengine.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260922a3f81c72e940.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260922b7d40e19c58f.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260922dffb2377b769.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/specs/STORY-slim-20260923e89f3d0b32ab.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/BUG-001_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/BUG-002_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-028_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-029_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-031_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-032_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-033_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-034_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-135_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-136_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-137_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-138_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-139_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-140_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-141_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-142_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-143_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-144_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-146_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-147_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-148_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-149_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026082381e832771d4e_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260823d854b0cf1875_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260823de7e85d6042a_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260825b1c83a046b4b_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202608264cf429c75e22_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026082672b57c78fd67_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202608267c3989223b4d_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202608268fc379dbe6ef_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260826ac1f0bfe4148_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260826cb37edfdd4da_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260826ce35b77ce005_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260826f9492ab32c3d_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260827024e71df170f_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026082799fa651655be_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260827eddbe9669c87_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260827fc9de5542ad7_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260828897396a935ab_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260830c65491123af1_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609025bc9246b6a54_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026090301691dea72e8_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026090333d6b72f7645_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260903699c84c217e0_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609037a7d4be200e7_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260903a24e1ece0d7f_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260903a4ef6915ed62_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260903b5ce6be5f7e0_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260905efced66ebc9c_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260909b90ba785f55a_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260909e47c92ef09ec_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260911b2bbd79889e0_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260911c4a8e17b6d02_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609144d0b3cb593aa_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260915ac3e5c24fdd3_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260915eaf18678ce23_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609160fe9825c04b7_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026091644dd0bd263d1_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609165747a3fc13b8_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260916823f60779f1a_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260916e9aadb6b2b46_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026091806bbe53c5884_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260918164ea9fe09e9_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260918864001ab2cad_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609189a690adb96b7_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260918dda35a04d01d_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260919752e74b3f591_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260919b7362f043437_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026092010bf0bf77b9f_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260920826d30afae88_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260920bc98b2d93bc7_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609210596e436fafc_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609212d6222f99f99_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609213d81204e2d45_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026092148349386a757_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609215cfbe6b6c4a0_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609215fcccbd0851a_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609216555d0788942_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-2026092167351bbe8c16_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609217251f027db09_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-202609217d99ffad0d99_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260921a562f2ea66c4_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260921b2cfd6574674_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260921c7a3f696f79f_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260921ce43695e5306_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260921e7716b1f465a_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260921e8c4a1f7b9d2_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260921ede7d5c2135f_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260921f19a0c4d7b3e_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260922a3f81c72e940_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260922b7d40e19c58f_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/docs/test_cases/STORY-slim-20260922dffb2377b769_case.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/opencode.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/pactkit-v4.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/scripts/provision-self-hosted-runner.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/scripts/runner-watchdog.sh +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/__main__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/accept_candidates.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/audit.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/auth_gate.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/backfill.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/baseline.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/bypass_message.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/capability.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/ci_commands.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/cleaners.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/codegraph_data.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/continuation.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/coverage_gate.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/delivery_evidence.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/deployment_transaction.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/deps.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/done_verify.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/gate_matrix.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/generated_marker.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/generators/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/generators/claude_md.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/generators/command_ownership.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/generators/deploy_base.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/generators/opencode_plugin.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/generators/spi.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/governance.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/graph_query.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/guards.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/host_continuation.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/host_payloads.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/id_generator.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/invariants.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/ir.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/issue_sync.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/legacy/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/legacy/host_continuation.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/legacy/usage.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/legacy/workflow_engine.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/lessons.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/lint_runner.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/mmd_retirement.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/observe.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/orchestration_cost.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/portable_methods.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/profiles.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/prompts/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/prompts/agents.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/prompts/guides.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/prompts/references.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/prompts/rules.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/protocols.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/reference.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/regression.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/risk_profile.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/rule_events.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/rules_eval.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/run_events.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/run_stats.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/schemas.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/sec_scope.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/secrets_baseline.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/secrets_engine.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/secrets_gate.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/session_gate.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/skills/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/skills/analyzers/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/skills/analyzers/go_analyzer.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/skills/analyzers/java_analyzer.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/skills/analyzers/python_analyzer.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/skills/analyzers/ts_analyzer.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/skills/interface_summary.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/skills/scaffold.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/skills/spec_linter.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/spec_graph.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/spec_preflight.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/spec_status.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/tamper_guard.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/uninstall.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/validators.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/workflow_engine.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/workflow_registry.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/src/pactkit/workflow_validators.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/conformance/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/conformance/harness.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/conformance/test_conformance.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/acceptance/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/cli/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/cli/test_cli_e2e.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/cli/test_story_slim146_cli.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/cli/test_story_slim147_workflow_cli.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/cli/test_story_slim148_governance_cli.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/test_gate_bypass_e2e.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/test_local_git_full_flow_e2e.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/e2e/test_precommit_chain_e2e.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/agent_parser/agents_dir/researcher.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/agent_parser/agents_dir/writer.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/agent_parser/langgraph_app.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/agent_parser/mcp_settings.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/api_call_parser/axios_style.tsx +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/api_call_parser/dynamic.tsx +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/api_call_parser/page.tsx +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/adopt.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/audit.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/backfill-release.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/board.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/clean.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/commit-gate.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/context.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/continuation.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/coverage-gate.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/deps.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/doctor.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/done-verify.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/evidence-measure.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/garden.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/gate.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/generate-id.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/governance.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/guard.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/init.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/interface-summary.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/invariants-refresh.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/issue-sync.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/lesson-append.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/lint-context.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/lint-lessons.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/lint-testcase.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/lint.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/mcp.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/observe.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/project-preflight.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/reconcile.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/redetect-stack.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/regression.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/report.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/risk.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/rules-eval.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/schema.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/sec-scope.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/secrets-baseline.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/spec-graph.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/spec-lint.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/spec-preflight.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/spec-status.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/stats.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/sync.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/test-map.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/uninstall.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/update.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/upgrade.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/version.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/visualize.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/work-unit.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/cli_help_golden/workflow.txt +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/config_golden/copy_claude.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/config_golden/copy_codex.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/config_golden/copy_github.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/config_golden/empty.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/config_golden/full_legacy.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/config_golden/full_legacy.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/config_golden/minimal.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/config_golden/unknown_keys.yaml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/gitlab_ci_python.golden.yml +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/host_dispatch_baseline.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/host_dispatch_classification.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-001.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-002.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-003.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-004.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-005.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-006.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-007.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-008.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-009.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-010.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-011.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-012.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-013.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-014.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-015.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-016.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-017.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/STORY-c-018.md +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/fixtures/rules_corpus/manifest.json +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/integration/__init__.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/integration/test_deploy_classic.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/scripts/adapter_import_firewall.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/scripts/environment_capabilities.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/scripts/gen_host_dispatch_classification.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/scripts/host_artifact_snapshot.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/scripts/host_dispatch_ratchet.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/scripts/refresh_host_prompt_snapshots.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/scripts/refresh_reference_docs.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/_adapter_availability.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/_spec_changes.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/_synthetic_host.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_accept_candidates.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_adapter_availability_gate.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_agent_features.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_agent_frontmatter.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_agents_enrichment.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_analyzer_outcome.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_audit.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_audit_suggested_tasks.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_b2_display_accuracy.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_baseline_failure_surface.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_blast_radius.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_blast_radius_absence.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_board_bug027.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_board_sections.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug001_skill_path.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug004_dead_set.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug005_archive_taskless.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug006_scan_excludes.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug007_stale_trace_refs.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug008_stale_command_refs.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug009_project_config_backfill.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug010_rewrite_yaml.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug011_stale_refs.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug014_version_hygiene.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug017_project_init_playbook.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug018_issue_tracker_verification.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug019_venv_deployment.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug020_claude_md_backup.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug025_release_delegation.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug026_version_sync.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug028_ghost_refs.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug029_stack_detection_fallback.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug030_spec_lint_cli.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug031_docstring_accuracy.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug034_plan_metadata_template.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_021.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_022.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_023.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_slim001_env_detection.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_slim002_instruction_collision.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_slim003.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_slim004.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_slim005.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_slim089_global_claude_md.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_slim202609239940ba8bc08b_test_file_classifier.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_bug_slim20260923aeb5e4807a2b_dialect.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_c1_body_snapshots.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_c1_legacy_and_cost.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_candidate_cleanup.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_capability_predicates.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_check_command.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_check_extensions_072_073.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_check_playbook_072_073.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_ci_checkout_options.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_ci_matrix_layering.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_ci_runner_temp.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_ci_workflow_validity.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_classic_deploy_paths.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_clean_scrubs_events.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_codex_hook_channel.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_command_frontmatter.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_command_ownership_v2.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_command_visualize_modes.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_complexity.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_config.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_config_auto_merge.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_constitution_sharpening.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_context_gen.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_continuation_hardening.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_create_skill.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_decision_traceability.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_deploy_ledger_lifecycle.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_deploy_ownership_safety.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_deployed_prompts_have_no_placeholders.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_deployment_transaction.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_deps.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_design_command.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_done_gates.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_done_verify.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_draw_prompt.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_draw_references.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_drawio_mcp.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_enforcement.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_engine_robustness.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_enterprise_flags.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_garden.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_gate_fail_closed.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_gate_matrix.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_home_path_fix.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_host_prompt_snapshots.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_hotfix_20260901_gate_docsonly.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_hotfix_20260903_design_research.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_hotfix_20260914_guide_wording.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_hotfix_command.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_hotfix_legacy_constitution.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_hotfix_slim2026091645aa03e71927_cli_venv_fixes.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_hotfix_slim20260916bcd9deb4bec0_watchdog.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_hotfix_slim20260916cccbb8ee26fb_atomic_write.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_hotfix_slim202609200d44cb016534_doctor_verdict.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_init_global_disclosure.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_init_guard.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_init_playbook_074.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_interface_summary.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_lang_profiles.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_layer_violations.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_legacy_engine_freeze.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_lessons_rotation_075.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_list_stories.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_mcp_retired.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_mmd_retirement.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_model_config.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_modular_constitution.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_monorepo_detect.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_multi_prefix.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_observe.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_orchestration_cost.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_org_baseline.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_overlay_contract.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_p6_spec_edit_human_channel.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_pdca_semantics_v2.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_pdca_slim.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_profiles.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_project_contract.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_project_visibility.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_prompt_cli_contract.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_prompt_quality_075.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_prompt_structural_invariants.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_prompts_package.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_reference_drift.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_release.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_release_field.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_release_v110.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_render_prompt.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_report_parser.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_report_unified.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_resolve_scope.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_review_command.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_rule_diagnostics.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_rule_registry_architecture.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_rules_enrichment.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_rules_eval.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_run_events.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_run_stats.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_scaffold.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_scaffold_developer_prefix.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_scan_owned_paths.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_schemas.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_script_extraction.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_secrets_engine.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_security_dimension_rules.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_session_context.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_skill_structure.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_skills_enrichment.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_slim_deps_088.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_snapshot_regen_shrink_guard.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_solution_design_rule.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_07_command_form.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_08_classic_predicate.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_09_command_layout.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_21_adapter_registration.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_22_adapter_self_sufficiency.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_22_capability_registry.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_22_doctor_registry.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_22_path_derivation.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_22_security_declaration.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec40_22_security_lifecycle.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec_changes_dispatch.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec_guard_repeat.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_spec_preflight.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_sprint_command.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_stack_references.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_stack_test_command.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_status_command.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_statusline.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story014_release.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story015_ci_lint_gate.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story016_claude_md.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story017_init_claude_md.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story018_arch_staleness.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story019_bailout.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story021_rfc.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story022_decision_tree.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story023_test_quality.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story024_native_agent.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story025_ci_pipeline.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story026_issue_tracker.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story028_rule_scoping.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story029_doctor.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story031_git_init_guard.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story032_greenfield_redirect.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story034_plan_config_refresh.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story035_readme_docs.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story038_call_graph_update.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story039_venv_config.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story042_spec_linter.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story043_active_clarify.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story044_consistency_check.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story045_auto_pr.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story047_enterprise_flags.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story048_worktree_isolation.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story049_community_standards.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story051_workflow_streamlining.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story052_conditional_github_release.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story053_impact_regression.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story055_commands.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story055_config.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story055_spec_linter.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story056_commands.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story056_config.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story058_opencode_extraction.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story058_routing_fix.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story060_init_hang.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story061_remove_thinking.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story063_prompt_slimming.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story065_sprint_model.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story106_lateral_scan.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story133_debug_skill.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_2026090301_rule_compliance.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_2026090333_sdlc_t1.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_202609037a_practice_batch2.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_20260903b5_practice_guides.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_202609144d0b3cb593aa_context_reuse.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_pdca_host_capsules.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_pdca_semantics_v2.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim009_lazy_rules.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim011_command_rules.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim012_ci.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim014_clean.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim014_context.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim014_guard.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim014_next_id.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim014_regression.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim014_sec_scope.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim014_validators.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim015_doctor.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim017.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim018.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim019_plan_subphases.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim020_explore_stall_fix.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim021.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim024.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim025.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim026.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim027.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim028.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim029.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim030.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim031.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim032.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim033.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim034.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim035.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim036.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim037.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim038.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim039.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim040.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim041.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim042.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim043.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim044.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim045.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim046.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim047.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim048.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim051.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim052.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim053.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim054.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim055.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim063.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim076_multistack.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim078.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim079.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim080.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim082.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim083.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim084.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim098_pdca_nudge.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim099_act_context_ref.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim104_should_semantics.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim107.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim109_journey_spec.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim111_playwright_assertion.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim112_rules_split.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim114_journey_sync.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim119.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim120.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim121.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim125.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim128_engineering_concerns.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim134_no_model_in_frontmatter.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim135_config_schema.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim139_skill_manifest.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim141_manifest_hash.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim143_spec_graph.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim144_wave_mode.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim146.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim147.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim148.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim149.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim150.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260911c4a8e17b6d02_baseline_signature.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260915ac3e5c24fdd3_governance.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim2026091806bbe53c5884_spec_self_amend.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260918164ea9fe09e9_bypass_form.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260918864001ab2cad_secrets_baseline.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260918dda35a04d01d_opencode_pretool.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260918e76e4a89b0ad_static_signal.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260919752e74b3f591_host_translate.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260919b7362f043437_gate_layers.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim2026092010bf0bf77b9f_prompt_tool_parity.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260920826d30afae88_evidence_wiring.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260920bc98b2d93bc7_has_test_evidence.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim202609210596e436fafc_legacy_isolation.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim202609212d6222f99f99_spi_firewall.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim202609213d81204e2d45_capability.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim2026092167351bbe8c16_evidence_provenance.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim202609217251f027db09_evidence_lifecycle.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260921c7a3f696f79f_bypass_channel_parity.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260921ce43695e5306_lifecycle.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260921ede7d5c2135f_batch4_classification.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260921ede7d5c2135f_batch4_core.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260921f19a0c4d7b3e_packaging_ruling.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim20260921reconcilengine_reconcile.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim_stop_hook.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_slim_work_units.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_story_transition_contract.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_support_matrix.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_target_resolution.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_test_policy_fast.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_tools.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_topology_parsers_066.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_uninstall.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_uninstall_cli_defaults.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_verification_decision.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_verification_scope_records.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_visualize_chain_fix.py +0 -0
- {pactkit-4.0.0 → pactkit-4.1.1}/tests/unit/test_visualize_multilang_chain.py +0 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
name: Board projection
|
|
2
|
+
|
|
3
|
+
# `docs/product/sprint_board.md` is a **projection** of the Story records under
|
|
4
|
+
# `docs/product/stories/` — `pactkit board render` derives it, and nothing else
|
|
5
|
+
# may write it. It is not enforced by construction: the file is a tracked
|
|
6
|
+
# document, so a hand edit or a Story update that never re-rendered leaves the
|
|
7
|
+
# two disagreeing, and the board then reads as authority while being stale.
|
|
8
|
+
#
|
|
9
|
+
# Measured 2026-09-29 before this gate existed: STORY-slim-20260928c7b15e04a216
|
|
10
|
+
# was `status: in_progress` with 8 of 9 tasks complete in its Story record,
|
|
11
|
+
# while the board still listed it under Backlog with every box unchecked and
|
|
12
|
+
# one task missing entirely. `pactkit board render --check` reported the drift
|
|
13
|
+
# correctly the whole time — it just had no reader.
|
|
14
|
+
#
|
|
15
|
+
# Why this is a repo-local workflow and NOT a step in the generated
|
|
16
|
+
# `pactkit.yml`: that file ships to every project `pactkit init` touches, and
|
|
17
|
+
# init does not scaffold `docs/`, so an unconditional check would turn CI red
|
|
18
|
+
# for every project that has no board. Widening it to users is a separate
|
|
19
|
+
# decision that needs an applicability predicate ("does this project keep Story
|
|
20
|
+
# records?"), not a copy of this job.
|
|
21
|
+
#
|
|
22
|
+
# `runs-on: slimmini` — the org `actions` budget is $0 with
|
|
23
|
+
# `prevent_further_usage: true`, so a hosted runner is not merely slower, it
|
|
24
|
+
# does not exist (runner_id=0). See runner-heartbeat.yml for how to read a
|
|
25
|
+
# job that never starts.
|
|
26
|
+
|
|
27
|
+
on:
|
|
28
|
+
push:
|
|
29
|
+
branches: [main]
|
|
30
|
+
pull_request:
|
|
31
|
+
branches: [main]
|
|
32
|
+
workflow_dispatch:
|
|
33
|
+
|
|
34
|
+
permissions:
|
|
35
|
+
contents: read
|
|
36
|
+
|
|
37
|
+
jobs:
|
|
38
|
+
projection:
|
|
39
|
+
runs-on: slimmini
|
|
40
|
+
timeout-minutes: 10
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@v7
|
|
43
|
+
|
|
44
|
+
- name: Set up Python
|
|
45
|
+
uses: actions/setup-python@v7
|
|
46
|
+
with:
|
|
47
|
+
python-version: "3.12"
|
|
48
|
+
|
|
49
|
+
# Same isolation as the other jobs here: a persistent self-hosted runner
|
|
50
|
+
# shares one toolcache, so a sibling job's `pip install` lands in this
|
|
51
|
+
# interpreter's site-packages (measured 2026-09-24, eight interpreters
|
|
52
|
+
# carrying stray adapters at three versions).
|
|
53
|
+
- name: Isolated environment
|
|
54
|
+
run: |
|
|
55
|
+
python -m venv "$RUNNER_TEMP/pactkit-venv"
|
|
56
|
+
echo "$RUNNER_TEMP/pactkit-venv/bin" >> "$GITHUB_PATH"
|
|
57
|
+
|
|
58
|
+
- name: Verify the environment is isolated
|
|
59
|
+
run: |
|
|
60
|
+
test "$(command -v python)" = "$RUNNER_TEMP/pactkit-venv/bin/python"
|
|
61
|
+
test "$(command -v pip)" = "$RUNNER_TEMP/pactkit-venv/bin/pip"
|
|
62
|
+
python -c "import sys; print('isolated venv:', sys.prefix)"
|
|
63
|
+
|
|
64
|
+
# Editable, on purpose: the check must run the renderer in the working
|
|
65
|
+
# tree. A pinned release would compare the board against a *different*
|
|
66
|
+
# version's projection and call a correct change drift.
|
|
67
|
+
- name: Install PactKit
|
|
68
|
+
run: |
|
|
69
|
+
python -m pip install --upgrade pip
|
|
70
|
+
pip install -e .
|
|
71
|
+
|
|
72
|
+
# Non-empty precondition: with no Story records the projection is an
|
|
73
|
+
# empty board, and "current" would be vacuously true. This repo keeps
|
|
74
|
+
# records, so the count is a real number — and printing it is what makes
|
|
75
|
+
# a silently-empty `docs/product/stories/` visible instead of green.
|
|
76
|
+
- name: There are Story records to project
|
|
77
|
+
run: |
|
|
78
|
+
count=$(ls -1 docs/product/stories/*.yaml 2>/dev/null | wc -l | tr -d ' ')
|
|
79
|
+
echo "story records: $count"
|
|
80
|
+
test "$count" -gt 0
|
|
81
|
+
|
|
82
|
+
- name: Board projection is current
|
|
83
|
+
run: pactkit board render --check
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
name: Credentials
|
|
2
|
+
|
|
3
|
+
# The pre-commit hook scans **staged** files. That is the right scope for a
|
|
4
|
+
# commit, and the wrong scope for a repository: a credential that reached the
|
|
5
|
+
# tree in an earlier commit, or that arrives through a merge, is invisible to a
|
|
6
|
+
# staged-file scan. This job scans what is actually in the checkout, reusing
|
|
7
|
+
# the same `.secrets.baseline`, so the two coverages are reported separately
|
|
8
|
+
# instead of one standing in for the other.
|
|
9
|
+
#
|
|
10
|
+
# Why this is a repo-local workflow and NOT a step in the generated
|
|
11
|
+
# `pactkit.yml`: `.secrets.baseline` is created by the explicit
|
|
12
|
+
# `pactkit secrets-baseline` command — `init` does not scaffold one — so an
|
|
13
|
+
# unconditional scan would fail CI for every project that never opted in.
|
|
14
|
+
# Shipping it is a separate decision that needs an applicability predicate.
|
|
15
|
+
#
|
|
16
|
+
# `runs-on: slimmini` — the org `actions` budget is $0 with
|
|
17
|
+
# `prevent_further_usage: true`, so a hosted runner does not exist here
|
|
18
|
+
# (runner_id=0). See runner-heartbeat.yml for how to read a job that never
|
|
19
|
+
# starts: queued-with-no-runner and blocked-by-budget look different.
|
|
20
|
+
|
|
21
|
+
on:
|
|
22
|
+
push:
|
|
23
|
+
branches: [main]
|
|
24
|
+
pull_request:
|
|
25
|
+
branches: [main]
|
|
26
|
+
workflow_dispatch:
|
|
27
|
+
|
|
28
|
+
permissions:
|
|
29
|
+
contents: read
|
|
30
|
+
|
|
31
|
+
jobs:
|
|
32
|
+
scan:
|
|
33
|
+
runs-on: slimmini
|
|
34
|
+
timeout-minutes: 10
|
|
35
|
+
steps:
|
|
36
|
+
- uses: actions/checkout@v7
|
|
37
|
+
|
|
38
|
+
- name: Set up Python
|
|
39
|
+
uses: actions/setup-python@v7
|
|
40
|
+
with:
|
|
41
|
+
python-version: "3.12"
|
|
42
|
+
|
|
43
|
+
# Same isolation as the other jobs here: a persistent self-hosted runner
|
|
44
|
+
# shares one toolcache, so a sibling job's `pip install` lands in this
|
|
45
|
+
# interpreter's site-packages (measured 2026-09-24).
|
|
46
|
+
- name: Isolated environment
|
|
47
|
+
run: |
|
|
48
|
+
python -m venv "$RUNNER_TEMP/pactkit-venv"
|
|
49
|
+
echo "$RUNNER_TEMP/pactkit-venv/bin" >> "$GITHUB_PATH"
|
|
50
|
+
|
|
51
|
+
- name: Verify the environment is isolated
|
|
52
|
+
run: |
|
|
53
|
+
test "$(command -v python)" = "$RUNNER_TEMP/pactkit-venv/bin/python"
|
|
54
|
+
test "$(command -v pip)" = "$RUNNER_TEMP/pactkit-venv/bin/pip"
|
|
55
|
+
python -c "import sys; print('isolated venv:', sys.prefix)"
|
|
56
|
+
|
|
57
|
+
- name: Install PactKit
|
|
58
|
+
run: |
|
|
59
|
+
python -m pip install --upgrade pip
|
|
60
|
+
pip install -e .
|
|
61
|
+
|
|
62
|
+
# Non-vacuity: a scan that reports "clean" because it read nothing looks
|
|
63
|
+
# identical to a clean tree, and the baseline it compares against is the
|
|
64
|
+
# whole of its evidence. Both are asserted before the scan runs.
|
|
65
|
+
- name: The scan has something to scan and something to compare against
|
|
66
|
+
run: |
|
|
67
|
+
test -f .secrets.baseline || { echo "no .secrets.baseline — nothing to compare against"; exit 1; }
|
|
68
|
+
count=$(git ls-files | wc -l | tr -d ' ')
|
|
69
|
+
echo "tracked files: $count"
|
|
70
|
+
test "$count" -gt 0
|
|
71
|
+
|
|
72
|
+
- name: The scan catches a synthetic finding
|
|
73
|
+
run: |
|
|
74
|
+
# The teeth check. The string is generated here rather than written
|
|
75
|
+
# into the repo: a literal credential in a workflow is exactly what
|
|
76
|
+
# this job exists to prevent, and a random hex string is the same
|
|
77
|
+
# detector class ("Hex High Entropy String") without being
|
|
78
|
+
# credential-shaped.
|
|
79
|
+
python3 -c "import pathlib,secrets,sys; pathlib.Path(sys.argv[1]).write_text('X = \"' + secrets.token_hex(32) + '\"\n')" "$RUNNER_TEMP/synthetic.py"
|
|
80
|
+
if pactkit commit-gate --secrets-entry --baseline .secrets.baseline "$RUNNER_TEMP/synthetic.py"; then
|
|
81
|
+
echo "::error::the credential scan did not catch a synthetic high-entropy string"
|
|
82
|
+
exit 1
|
|
83
|
+
fi
|
|
84
|
+
echo "the scan caught the synthetic finding, as it must"
|
|
85
|
+
|
|
86
|
+
- name: Credential scan (whole checkout, not just the diff)
|
|
87
|
+
run: |
|
|
88
|
+
# `.secrets.baseline` is excluded: its `hashed_secret` values are sha1
|
|
89
|
+
# hex strings, so the file is itself full of what the scan looks for.
|
|
90
|
+
# The invariant is `scan_input ∩ scan_output = ∅` — the artifact a
|
|
91
|
+
# scan maintains must not be one of the files it scans.
|
|
92
|
+
#
|
|
93
|
+
# `xargs` rather than an array builtin: this step must be runnable and
|
|
94
|
+
# verifiable with the bash a developer has (macOS ships 3.2, which has
|
|
95
|
+
# no `mapfile`), not only with the runner's.
|
|
96
|
+
git ls-files | grep -v '^\.secrets\.baseline$' | tr '\n' '\0' \
|
|
97
|
+
| xargs -0 pactkit commit-gate --secrets-entry --baseline .secrets.baseline
|
|
98
|
+
|
|
99
|
+
- name: The baseline exclusion is asserted, and is not vacuous
|
|
100
|
+
run: |
|
|
101
|
+
# An exclusion that is only written down is one refactor away from
|
|
102
|
+
# silently disappearing, so it is measured here. Two things, because
|
|
103
|
+
# either alone proves nothing:
|
|
104
|
+
#
|
|
105
|
+
# 1. The file IS scan-dirty. Without this, "the scan came back clean"
|
|
106
|
+
# would be true for a reason that has nothing to do with the
|
|
107
|
+
# exclusion — an absence assertion over a corpus that cannot
|
|
108
|
+
# produce the finding is always green.
|
|
109
|
+
#
|
|
110
|
+
# The probe is a COPY: `.secrets.baseline` must stay out of the
|
|
111
|
+
# input set, and copying it is what keeps this control from being
|
|
112
|
+
# the very thing it guards against. It is also scanned WITHOUT
|
|
113
|
+
# `--baseline`, because passing the file as its own baseline makes
|
|
114
|
+
# it self-suppress (measured 2026-09-29: exit 1 without, exit 0
|
|
115
|
+
# with) and the control would go quiet.
|
|
116
|
+
cp .secrets.baseline "$RUNNER_TEMP/baseline-probe.json"
|
|
117
|
+
if pactkit commit-gate --secrets-entry "$RUNNER_TEMP/baseline-probe.json"; then
|
|
118
|
+
echo "::error::.secrets.baseline is not scan-dirty — the exclusion control would be vacuous"
|
|
119
|
+
exit 1
|
|
120
|
+
fi
|
|
121
|
+
echo "the baseline is scan-dirty, so keeping it out of the input set does work"
|
|
122
|
+
|
|
123
|
+
# 2. The input set really does not contain it. Asserted rather than
|
|
124
|
+
# assumed: the pipeline above is a shell expression, and a `grep`
|
|
125
|
+
# that stops matching silently widens the scan instead of failing.
|
|
126
|
+
if ! git ls-files | grep -q '^\.secrets\.baseline$'; then
|
|
127
|
+
echo "::error::.secrets.baseline is not tracked — this exclusion has nothing to exclude, and the control above no longer describes the scan"
|
|
128
|
+
exit 1
|
|
129
|
+
fi
|
|
130
|
+
if git ls-files | grep -v '^\.secrets\.baseline$' | grep -q '^\.secrets\.baseline$'; then
|
|
131
|
+
echo "::error::the exclusion did not remove .secrets.baseline from the input set"
|
|
132
|
+
exit 1
|
|
133
|
+
fi
|
|
134
|
+
echo "the baseline stays out of the input set"
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
name: Release Acceptance
|
|
2
|
+
|
|
3
|
+
# STORY-slim-20260911b2bbd79889e0 C2/R8 + 2026-09-11 reviews: install the
|
|
4
|
+
# ACTUAL core wheel that is about to ship in a clean environment and prove
|
|
5
|
+
# the package-level surface. The ordinary CI tests the editable checkout;
|
|
6
|
+
# it cannot see packaging-level breaks (missing files in the wheel,
|
|
7
|
+
# dependency misdeclaration). This job can. publish.yml waits for this
|
|
8
|
+
# workflow's conclusion before publishing a tag.
|
|
9
|
+
#
|
|
10
|
+
# Zero-credential split (2026-09-11, first real runner run 34607922520):
|
|
11
|
+
# GITHUB_TOKEN cannot read the private adapter repos, and the owner chose
|
|
12
|
+
# no PAT/secrets. The core wheel + adapter COMBO acceptance therefore runs
|
|
13
|
+
# in each adapter repo's own release-acceptance workflow — it checks out
|
|
14
|
+
# ITSELF (its token suffices) and installs the RELEASED core from PyPI,
|
|
15
|
+
# which the resolver pins for real. Each adapter repo covers classic + its
|
|
16
|
+
# own host; the union covers all three. What remains here is the core-only
|
|
17
|
+
# quality gate: wheel build/install/version, documented extras, wheel-mode
|
|
18
|
+
# prompt snapshots (classic; the host assertion scales with installed
|
|
19
|
+
# adapters), and the classic journey.
|
|
20
|
+
|
|
21
|
+
on:
|
|
22
|
+
push:
|
|
23
|
+
branches: [main]
|
|
24
|
+
# Same inert-doc set as PactKit CI — spec/acceptance docs are not in the
|
|
25
|
+
# wheel, so the packaging assertions cannot see them. Tags always run
|
|
26
|
+
# (publish gate) regardless of paths.
|
|
27
|
+
paths-ignore:
|
|
28
|
+
- "docs/specs/**"
|
|
29
|
+
- "docs/acceptance/**"
|
|
30
|
+
tags: ["v*"]
|
|
31
|
+
pull_request:
|
|
32
|
+
branches: [main]
|
|
33
|
+
workflow_dispatch:
|
|
34
|
+
inputs:
|
|
35
|
+
mode:
|
|
36
|
+
description: "daily (3.11 single version) or release (3.10-3.13 full matrix)"
|
|
37
|
+
type: choice
|
|
38
|
+
options: [daily, release]
|
|
39
|
+
default: daily
|
|
40
|
+
|
|
41
|
+
# STORY-slim-20260917c943d7aaeb7c (CI cost): same rationale as PactKit CI —
|
|
42
|
+
# cancel superseded branch runs. Tag runs are excluded from the group name
|
|
43
|
+
# so a push to main can never cancel an in-flight tag acceptance that
|
|
44
|
+
# publish.yml is waiting on.
|
|
45
|
+
concurrency:
|
|
46
|
+
group: release-acceptance-${{ github.ref }}
|
|
47
|
+
cancel-in-progress: true
|
|
48
|
+
|
|
49
|
+
jobs:
|
|
50
|
+
# R4 (STORY-slim-20260917c18f4a962b70): the acceptance matrix is layered
|
|
51
|
+
# by event — daily (PR / push main / manual daily) proves the 3.11
|
|
52
|
+
# baseline cheaply; release (tag v* / manual release) proves the full
|
|
53
|
+
# supported range. The assertions are IDENTICAL in both configs — only
|
|
54
|
+
# the version dimension shrinks (降低版本维度不删验收断言). PRs and main
|
|
55
|
+
# both run: a PR green light never skips the final main integration run;
|
|
56
|
+
# an opened PR's branch pushes fire `synchronize` and rerun this workflow.
|
|
57
|
+
config:
|
|
58
|
+
# 2026-09-24: the org `actions` budget is $0 with prevent_further_usage, so
|
|
59
|
+
# a job that asks for `ubuntu-latest` gets no runner at all (runner_id=0,
|
|
60
|
+
# seconds to fail) — see the runner migration in the sibling workflow. The
|
|
61
|
+
# org-level runner carries the `slimmini` label. The budget blocks hosted
|
|
62
|
+
# jobs for private repos only; public repos are unaffected.
|
|
63
|
+
runs-on: slimmini
|
|
64
|
+
outputs:
|
|
65
|
+
versions: ${{ steps.pick.outputs.versions }}
|
|
66
|
+
config_name: ${{ steps.pick.outputs.config_name }}
|
|
67
|
+
steps:
|
|
68
|
+
- name: Pick the acceptance matrix for this event
|
|
69
|
+
id: pick
|
|
70
|
+
run: |
|
|
71
|
+
if [[ "${{ github.ref }}" == refs/tags/v* ]] \
|
|
72
|
+
|| [[ "${{ inputs.mode }}" == "release" ]]; then
|
|
73
|
+
echo 'versions=["3.10","3.11","3.12","3.13"]' >> "$GITHUB_OUTPUT"
|
|
74
|
+
echo "config_name=release (full 3.10-3.13 matrix)" >> "$GITHUB_OUTPUT"
|
|
75
|
+
else
|
|
76
|
+
echo 'versions=["3.11"]' >> "$GITHUB_OUTPUT"
|
|
77
|
+
echo "config_name=daily (3.11 single version)" >> "$GITHUB_OUTPUT"
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
core-wheel:
|
|
81
|
+
needs: config
|
|
82
|
+
# See the `config` job above for why this is not `ubuntu-latest`.
|
|
83
|
+
runs-on: slimmini
|
|
84
|
+
strategy:
|
|
85
|
+
fail-fast: false
|
|
86
|
+
# R8: the accepted Python range must match what the package claims
|
|
87
|
+
# (pyproject requires-python >=3.10) — proven IN FULL on release
|
|
88
|
+
# events; daily events prove the 3.11 baseline only.
|
|
89
|
+
matrix:
|
|
90
|
+
python-version: ${{ fromJSON(needs.config.outputs.versions) }}
|
|
91
|
+
steps:
|
|
92
|
+
- uses: actions/checkout@v7
|
|
93
|
+
|
|
94
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
95
|
+
uses: actions/setup-python@v7
|
|
96
|
+
with:
|
|
97
|
+
python-version: ${{ matrix.python-version }}
|
|
98
|
+
|
|
99
|
+
- name: Isolated environment
|
|
100
|
+
run: |
|
|
101
|
+
python -m venv "$RUNNER_TEMP/pactkit-venv"
|
|
102
|
+
echo "$RUNNER_TEMP/pactkit-venv/bin" >> "$GITHUB_PATH"
|
|
103
|
+
|
|
104
|
+
- name: Verify the environment is isolated
|
|
105
|
+
run: |
|
|
106
|
+
test "$(command -v python)" = "$RUNNER_TEMP/pactkit-venv/bin/python"
|
|
107
|
+
test "$(command -v pip)" = "$RUNNER_TEMP/pactkit-venv/bin/pip"
|
|
108
|
+
python -c "import sys; print('isolated venv:', sys.prefix)"
|
|
109
|
+
|
|
110
|
+
- name: Build the core wheel
|
|
111
|
+
run: |
|
|
112
|
+
python -m pip install --upgrade pip build
|
|
113
|
+
python -m build --wheel --outdir dist/ .
|
|
114
|
+
python -m build --sdist --outdir dist/ .
|
|
115
|
+
|
|
116
|
+
# STORY-slim-20260917beaa87bc5d27: the dev repo is private and the
|
|
117
|
+
# public mirror is curated docs only — for a procurement review the
|
|
118
|
+
# PyPI artifacts ARE the source of record for license and code. A
|
|
119
|
+
# packaging regression that drops LICENSE from the wheel/sdist would
|
|
120
|
+
# otherwise surface as a customer-side legal question, not a red build.
|
|
121
|
+
- name: Built artifacts carry LICENSE and sources (procurement)
|
|
122
|
+
run: |
|
|
123
|
+
python -m pip install --upgrade pip build > /dev/null 2>&1 || true
|
|
124
|
+
WHEEL=$(ls dist/pactkit-*.whl)
|
|
125
|
+
SDIST=$(ls dist/pactkit-*.tar.gz)
|
|
126
|
+
python - "$WHEEL" "$SDIST" <<'PY'
|
|
127
|
+
import sys, tarfile, zipfile
|
|
128
|
+
wheel, sdist = sys.argv[1], sys.argv[2]
|
|
129
|
+
names = zipfile.ZipFile(wheel).namelist()
|
|
130
|
+
assert any(n.endswith("LICENSE") for n in names), "wheel is missing LICENSE"
|
|
131
|
+
py = [n for n in names if n.endswith(".py")]
|
|
132
|
+
assert len(py) >= 90, f"wheel source count suspicious: {len(py)} files"
|
|
133
|
+
tarnames = tarfile.open(sdist).getnames()
|
|
134
|
+
assert any(n.endswith("LICENSE") for n in tarnames), "sdist is missing LICENSE"
|
|
135
|
+
assert any(n.endswith("src/pactkit/__init__.py") for n in tarnames), "sdist is missing sources"
|
|
136
|
+
print(f"LICENSE + sources verified: wheel {len(py)} .py, sdist ok")
|
|
137
|
+
PY
|
|
138
|
+
|
|
139
|
+
- name: The runner provides a per-job temp directory
|
|
140
|
+
run: |
|
|
141
|
+
# Every path below lives under $RUNNER_TEMP, not /tmp. On a hosted
|
|
142
|
+
# runner /tmp is a fresh VM per run, so a leftover venv was
|
|
143
|
+
# impossible; on a persistent self-hosted runner it survives, and
|
|
144
|
+
# the AC11 assertion below would then be checking a venv built by an
|
|
145
|
+
# earlier run — a clean-environment guarantee that quietly stopped
|
|
146
|
+
# holding. Assert the runner supplies the directory rather than
|
|
147
|
+
# discovering it as a stray `/accept`.
|
|
148
|
+
test -n "$RUNNER_TEMP" \
|
|
149
|
+
|| { echo "::error::RUNNER_TEMP is unset — this job needs a runner that provides one"; exit 1; }
|
|
150
|
+
|
|
151
|
+
- name: Install from the wheel into a clean environment (AC11)
|
|
152
|
+
run: |
|
|
153
|
+
python -m venv "$RUNNER_TEMP/accept"
|
|
154
|
+
# Direct wheel path: the package under acceptance comes from the
|
|
155
|
+
# local dist/ (never PyPI, never editable); third-party deps
|
|
156
|
+
# (pyyaml) resolve from the index.
|
|
157
|
+
"$RUNNER_TEMP/accept/bin/pip" install dist/pactkit-*.whl
|
|
158
|
+
! "$RUNNER_TEMP/accept/bin/pip" list | grep -q '\-e '
|
|
159
|
+
"$RUNNER_TEMP/accept/bin/pactkit" version
|
|
160
|
+
|
|
161
|
+
- name: Base wheel + documented extras resolve (AC11)
|
|
162
|
+
run: |
|
|
163
|
+
python -m venv "$RUNNER_TEMP/extras"
|
|
164
|
+
# The extras README documents must actually resolve from the built
|
|
165
|
+
# wheel. Adapter extras are deliberately excluded here: they pin
|
|
166
|
+
# the released core from the index, which during release prep is
|
|
167
|
+
# older than this build (core-first publish order).
|
|
168
|
+
WHEEL=$(ls dist/pactkit-*.whl)
|
|
169
|
+
"$RUNNER_TEMP/extras/bin/pip" install "$WHEEL[lint,visualize]"
|
|
170
|
+
"$RUNNER_TEMP/extras/bin/pactkit" version
|
|
171
|
+
|
|
172
|
+
- name: Prompt-body snapshots from the wheel (AC10/R7)
|
|
173
|
+
env:
|
|
174
|
+
PACTKIT_SNAPSHOT_FROM_WHEEL: "1"
|
|
175
|
+
# The runner is persistent, so /tmp is shared across jobs: a pytest
|
|
176
|
+
# tmp_path under it can walk up into host markers an earlier job left
|
|
177
|
+
# behind. runner.temp is created and cleaned per job. Step-level, not
|
|
178
|
+
# workflow-level — the `runner` context is not available there and
|
|
179
|
+
# GitHub rejects the whole file for it.
|
|
180
|
+
TMPDIR: ${{ runner.temp }}
|
|
181
|
+
run: |
|
|
182
|
+
# Wheel mode: the deploy subprocesses must import the WHEEL — no
|
|
183
|
+
# checkout PYTHONPATH, provenance asserted (site-packages origin),
|
|
184
|
+
# and every installed host participates in the comparison (this
|
|
185
|
+
# core-only environment compares classic; each adapter repo's
|
|
186
|
+
# acceptance adds its own host). A skip fails the step. The empty
|
|
187
|
+
# `-c` ini keeps the checkout's pyproject (pythonpath=src) from
|
|
188
|
+
# shadowing the installed wheel.
|
|
189
|
+
"$RUNNER_TEMP/accept/bin/pip" install pytest
|
|
190
|
+
printf '[pytest]\n' > "$RUNNER_TEMP/acceptance-pytest.ini"
|
|
191
|
+
cd "$RUNNER_TEMP"
|
|
192
|
+
"$RUNNER_TEMP/accept/bin/pytest" \
|
|
193
|
+
"$GITHUB_WORKSPACE/tests/unit/test_c1_body_snapshots.py" \
|
|
194
|
+
-c "$RUNNER_TEMP/acceptance-pytest.ini" -p no:cacheprovider \
|
|
195
|
+
--junitxml="$RUNNER_TEMP/snap-results.xml" -q \
|
|
196
|
+
|| { echo "::error::prompt-body snapshot comparison failed"; exit 1; }
|
|
197
|
+
# The heredoc is quoted, so the path is passed as an argument rather
|
|
198
|
+
# than interpolated.
|
|
199
|
+
"$RUNNER_TEMP/accept/bin/python" - "$RUNNER_TEMP/snap-results.xml" <<'EOF'
|
|
200
|
+
import sys
|
|
201
|
+
import xml.etree.ElementTree as ET
|
|
202
|
+
|
|
203
|
+
root = ET.parse(sys.argv[1]).getroot()
|
|
204
|
+
skipped = sum(int(s.get("skipped", 0)) for s in root.iter("testsuite"))
|
|
205
|
+
errors = sum(int(s.get("errors", 0)) for s in root.iter("testsuite"))
|
|
206
|
+
if skipped or errors:
|
|
207
|
+
print(f"::error::snapshot step: {skipped} skipped, {errors} errors — "
|
|
208
|
+
"skip is failure under release acceptance")
|
|
209
|
+
sys.exit(1)
|
|
210
|
+
print("snapshots: 0 skipped, 0 errors")
|
|
211
|
+
EOF
|
|
212
|
+
|
|
213
|
+
- name: Classic journey from the wheel (AC12, CLI layer)
|
|
214
|
+
run: |
|
|
215
|
+
# The CLI is invoked by ABSOLUTE PATH from the acceptance venv
|
|
216
|
+
# (review round 2, F3): a bare `pactkit` would resolve against
|
|
217
|
+
# whatever the runner has preinstalled — or nothing at all.
|
|
218
|
+
# OpenCode/Codex journeys run in their own adapter repos'
|
|
219
|
+
# acceptance workflows (zero-credential split).
|
|
220
|
+
PACTKIT="$RUNNER_TEMP/accept/bin/pactkit"
|
|
221
|
+
command -v "$PACTKIT" >/dev/null 2>&1 \
|
|
222
|
+
|| { echo "::error::acceptance venv has no pactkit entry point"; exit 1; }
|
|
223
|
+
export HOME="$RUNNER_TEMP/journey-home"
|
|
224
|
+
export XDG_CONFIG_HOME="$RUNNER_TEMP/journey-home/.config"
|
|
225
|
+
rm -rf "$HOME" "$RUNNER_TEMP/journey-proj"
|
|
226
|
+
mkdir -p "$HOME" "$RUNNER_TEMP/journey-proj"
|
|
227
|
+
cd "$RUNNER_TEMP/journey-proj"
|
|
228
|
+
git init -q .
|
|
229
|
+
git config user.email journey@example.invalid
|
|
230
|
+
git config user.name journey
|
|
231
|
+
|
|
232
|
+
fail() { echo "::error::journey: $1"; exit 1; }
|
|
233
|
+
root="$HOME/.claude"
|
|
234
|
+
"$PACTKIT" version
|
|
235
|
+
"$PACTKIT" init --format classic > init.log 2>&1 \
|
|
236
|
+
|| { cat init.log; fail "classic init failed"; }
|
|
237
|
+
[ -f "$root/.pactkit-deployed.json" ] || fail "no deployment manifest"
|
|
238
|
+
entry="$root/skills/project-plan/SKILL.md"
|
|
239
|
+
[ -f "$entry" ] || fail "method entry point missing ($entry)"
|
|
240
|
+
|
|
241
|
+
mkdir -p "$root/rules"
|
|
242
|
+
printf '# My team conventions\n- ours, not PactKit\x27s\n' > "$root/rules/my-team.md"
|
|
243
|
+
"$PACTKIT" update --format classic > update.log 2>&1 \
|
|
244
|
+
|| { cat update.log; fail "classic update failed"; }
|
|
245
|
+
[ -f "$root/rules/my-team.md" ] || fail "user rule file lost by update"
|
|
246
|
+
|
|
247
|
+
"$PACTKIT" uninstall --target "$root" > uninstall.log 2>&1 \
|
|
248
|
+
|| { cat uninstall.log; fail "classic uninstall failed"; }
|
|
249
|
+
[ -f "$root/rules/my-team.md" ] || fail "user file deleted by uninstall"
|
|
250
|
+
[ ! -f "$root/skills/pactkit-board/scripts/board.py" ] \
|
|
251
|
+
|| fail "manifest-owned file survived uninstall"
|
|
252
|
+
echo "classic journey OK (CLI layer)"
|
|
253
|
+
# Real-host runtime sessions are NOT exercised here — recorded as
|
|
254
|
+
# UNVERIFIED per R8: 自动化 CLI/产物检查与真实宿主运行记录 MUST
|
|
255
|
+
# 分开标注.
|
|
256
|
+
|
|
257
|
+
# R8 (STORY-slim-20260917c18f4a962b70): every CI summary states the
|
|
258
|
+
# event, SHA, verification config, Python/host coverage and the
|
|
259
|
+
# actual run/skip reasons — a green core-only acceptance must never
|
|
260
|
+
# read as "all hosts verified".
|
|
261
|
+
- name: CI summary (R8)
|
|
262
|
+
if: always()
|
|
263
|
+
run: |
|
|
264
|
+
ALL='${{ needs.config.outputs.versions }}'
|
|
265
|
+
{
|
|
266
|
+
echo "## Release Acceptance — ${{ needs.config.outputs.config_name }}"
|
|
267
|
+
echo ""
|
|
268
|
+
echo "| field | value |"
|
|
269
|
+
echo "|---|---|"
|
|
270
|
+
echo "| event | \`${{ github.event_name }}\` |"
|
|
271
|
+
echo "| ref | \`${{ github.ref }}\` |"
|
|
272
|
+
echo "| sha | \`${{ github.sha }}\` |"
|
|
273
|
+
echo "| config | ${{ needs.config.outputs.config_name }} |"
|
|
274
|
+
echo "| versions this config | $ALL |"
|
|
275
|
+
echo "| this runner | ${{ matrix.python-version }} |"
|
|
276
|
+
echo "| host coverage | core-only: classic prompt snapshots compared; opencode/codex adapters are NOT verified here (their own repos' release-acceptance covers them) |"
|
|
277
|
+
echo "| skip policy | a skip in the snapshot step fails the step (skip = failure, never a pass) |"
|
|
278
|
+
} >> "$GITHUB_STEP_SUMMARY"
|
|
279
|
+
|
|
280
|
+
credentials:
|
|
281
|
+
# The same whole-checkout scan the standalone `Credentials` workflow runs
|
|
282
|
+
# on every push, repeated here because this workflow is the gate publish.yml
|
|
283
|
+
# waits on: a tag whose tree carries a credential must not reach PyPI, and
|
|
284
|
+
# "the push-time job was green" is not evidence about the tagged tree.
|
|
285
|
+
#
|
|
286
|
+
# Coverage differs from the local hook on purpose and the difference is
|
|
287
|
+
# reported, not merged: the hook scans STAGED files (what this commit
|
|
288
|
+
# changes), this scans the CHECKOUT (what the tag actually contains).
|
|
289
|
+
runs-on: slimmini
|
|
290
|
+
timeout-minutes: 10
|
|
291
|
+
steps:
|
|
292
|
+
- uses: actions/checkout@v7
|
|
293
|
+
|
|
294
|
+
- name: Set up Python
|
|
295
|
+
uses: actions/setup-python@v7
|
|
296
|
+
with:
|
|
297
|
+
python-version: "3.12"
|
|
298
|
+
|
|
299
|
+
- name: Isolated environment
|
|
300
|
+
run: |
|
|
301
|
+
python -m venv "$RUNNER_TEMP/pactkit-venv"
|
|
302
|
+
echo "$RUNNER_TEMP/pactkit-venv/bin" >> "$GITHUB_PATH"
|
|
303
|
+
|
|
304
|
+
- name: Install PactKit
|
|
305
|
+
run: |
|
|
306
|
+
python -m pip install --upgrade pip
|
|
307
|
+
pip install -e .
|
|
308
|
+
|
|
309
|
+
- name: The scan has something to scan and something to compare against
|
|
310
|
+
run: |
|
|
311
|
+
test -f .secrets.baseline || { echo "no .secrets.baseline — nothing to compare against"; exit 1; }
|
|
312
|
+
count=$(git ls-files | wc -l | tr -d ' ')
|
|
313
|
+
echo "tracked files: $count"
|
|
314
|
+
test "$count" -gt 0
|
|
315
|
+
|
|
316
|
+
- name: The scan catches a synthetic finding
|
|
317
|
+
run: |
|
|
318
|
+
python3 -c "import pathlib,secrets,sys; pathlib.Path(sys.argv[1]).write_text('X = \"' + secrets.token_hex(32) + '\"\n')" "$RUNNER_TEMP/synthetic.py"
|
|
319
|
+
if pactkit commit-gate --secrets-entry --baseline .secrets.baseline "$RUNNER_TEMP/synthetic.py"; then
|
|
320
|
+
echo "::error::the credential scan did not catch a synthetic high-entropy string"
|
|
321
|
+
exit 1
|
|
322
|
+
fi
|
|
323
|
+
echo "the scan caught the synthetic finding, as it must"
|
|
324
|
+
|
|
325
|
+
- name: Credential scan (whole checkout)
|
|
326
|
+
run: |
|
|
327
|
+
# `.secrets.baseline` is excluded: its `hashed_secret` values are sha1
|
|
328
|
+
# hex strings, so scanning it adds an entry per existing entry.
|
|
329
|
+
git ls-files | grep -v '^\.secrets\.baseline$' | tr '\n' '\0' \
|
|
330
|
+
| xargs -0 pactkit commit-gate --secrets-entry --baseline .secrets.baseline
|
pactkit-4.1.1/.gitignore
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
*.pyc
|
|
3
|
+
__pycache__/
|
|
4
|
+
.coverage
|
|
5
|
+
*.py[cod]
|
|
6
|
+
*$py.class
|
|
7
|
+
.pytest_cache/
|
|
8
|
+
*.egg-info/
|
|
9
|
+
dist/
|
|
10
|
+
build/
|
|
11
|
+
.eggs/
|
|
12
|
+
|
|
13
|
+
# Virtual environments
|
|
14
|
+
.venv/
|
|
15
|
+
venv/
|
|
16
|
+
env/
|
|
17
|
+
|
|
18
|
+
# IDE
|
|
19
|
+
.idea/
|
|
20
|
+
.vscode/
|
|
21
|
+
*.swp
|
|
22
|
+
*.swo
|
|
23
|
+
|
|
24
|
+
# OS
|
|
25
|
+
.DS_Store
|
|
26
|
+
Thumbs.db
|
|
27
|
+
*.tmp
|
|
28
|
+
*.log
|
|
29
|
+
|
|
30
|
+
# PactKit - generated artifacts (auto-regenerated; not versioned).
|
|
31
|
+
# Named files, NOT the whole directory: the authored diagrams
|
|
32
|
+
# (system_design.mmd, workflow_graph.mmd, reverse_call_graph.mmd) live in the
|
|
33
|
+
# same directory and MUST stay tracked. A directory-wide rule is what let 7
|
|
34
|
+
# generated files stay tracked for four months — .gitignore does not apply to
|
|
35
|
+
# already-tracked paths (STORY-slim-2026091893aad6f3d8ac R3).
|
|
36
|
+
docs/architecture/graphs/call_graph.mmd
|
|
37
|
+
docs/architecture/graphs/class_graph.mmd
|
|
38
|
+
docs/architecture/graphs/code_graph.mmd
|
|
39
|
+
docs/architecture/graphs/module_graph.mmd
|
|
40
|
+
docs/architecture/graphs/report.html
|
|
41
|
+
docs/architecture/graphs/call_graph.db
|
|
42
|
+
docs/architecture/graphs/focus_file_graph.mmd
|
|
43
|
+
# Whole directory is safe HERE (unlike graphs/ above): every file is a
|
|
44
|
+
# version-stamped machine artifact ({version}_{mode}.mmd) — no authored
|
|
45
|
+
# asset lives here. Untracked 2026-09-18; 53 files were tracked while the
|
|
46
|
+
# rule said otherwise (STORY-slim-2026091893aad6f3d8ac).
|
|
47
|
+
docs/architecture/snapshots/
|
|
48
|
+
|
|
49
|
+
# PactKit - previously excluded for IP protection (repo is now private, all tracked)
|
|
50
|
+
|
|
51
|
+
# Claude Code local config
|
|
52
|
+
.claude/
|
|
53
|
+
|
|
54
|
+
# Codex CLI local config
|
|
55
|
+
.codex/
|
|
56
|
+
|
|
57
|
+
# GitHub Copilot deployment artifacts (generated by pactkit update).
|
|
58
|
+
# `.github/*` rather than `.github/`: git cannot re-include a file whose
|
|
59
|
+
# parent *directory* is excluded, so `!.github/workflows/` matched nothing
|
|
60
|
+
# and every new workflow file silently needed `git add -f` — the shape that
|
|
61
|
+
# would have dropped this repo's own drift gate without a word.
|
|
62
|
+
.github/*
|
|
63
|
+
!.github/workflows/
|
|
64
|
+
|
|
65
|
+
# Office files
|
|
66
|
+
~$*
|
|
67
|
+
*.pptx
|
|
68
|
+
|
|
69
|
+
# Secrets
|
|
70
|
+
.pypirc
|
|
71
|
+
|
|
72
|
+
# Playwright MCP
|
|
73
|
+
.playwright-mcp/
|
|
74
|
+
|
|
75
|
+
# Backup
|
|
76
|
+
*.bak
|
|
77
|
+
.mcp.json
|
|
78
|
+
.pactkit/
|
|
79
|
+
coder/
|
|
80
|
+
docker/
|
|
81
|
+
docs/slides/
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
# Call graph SQLite output (STORY-slim-121)
|
|
85
|
+
docs/architecture/graphs/*.db
|
|
86
|
+
|
|
87
|
+
# 准入的**待审内容**是中间产物,不是记录——`--prepare` 的产物每次都会被重写,
|
|
88
|
+
# 而它内嵌回执摘要(高熵串,会被 secrets 门当成凭据)。进 git 的是签核后的
|
|
89
|
+
# `<id>.json` 记录,那才是长期证据。
|
|
90
|
+
docs/architecture/governance/contract-admissions/*.proposed.json
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# PactKit integration — managed by `pactkit commit-gate --pre-commit-setup`.
|
|
2
|
+
# pre-commit owns hook installation and scheduling; edit hook ORDER
|
|
3
|
+
# here if you need to, but keep the pactkit hook ids (health check keys on them).
|
|
4
|
+
#
|
|
5
|
+
# Order is the pre-commit stage's order, and it is deliberate: the credential
|
|
6
|
+
# scan runs BEFORE the domain check. The domain check runs the test suite on
|
|
7
|
+
# some changes, so a credential staged alongside them would be reported only
|
|
8
|
+
# after minutes of tests — and the credential is the finding that must not wait,
|
|
9
|
+
# because it is the one that reaches the remote if the commit goes through.
|
|
10
|
+
# (Measured 2026-09-29: the scan was third, behind a check that can run tests.)
|
|
11
|
+
repos:
|
|
12
|
+
- repo: local
|
|
13
|
+
hooks:
|
|
14
|
+
- id: pactkit-detect-secrets
|
|
15
|
+
name: detect-secrets (staged files)
|
|
16
|
+
entry: pactkit commit-gate --secrets-entry
|
|
17
|
+
language: system
|
|
18
|
+
stages: [pre-commit]
|
|
19
|
+
# baseline of reviewed findings (synthetic test creds + snapshot
|
|
20
|
+
# digests) — the hook does NOT auto-discover it (measured, 1.5.0)
|
|
21
|
+
args: [--baseline, .secrets.baseline]
|
|
22
|
+
- id: pactkit-domain-check
|
|
23
|
+
name: pactkit domain check
|
|
24
|
+
entry: pactkit commit-gate --pre-commit-entry
|
|
25
|
+
language: system
|
|
26
|
+
stages: [pre-commit]
|
|
27
|
+
pass_filenames: false
|
|
28
|
+
always_run: true
|
|
29
|
+
- id: pactkit-push-policy
|
|
30
|
+
name: pactkit push policy
|
|
31
|
+
entry: pactkit commit-gate --pre-push-entry
|
|
32
|
+
language: system
|
|
33
|
+
stages: [pre-push]
|
|
34
|
+
pass_filenames: false
|
|
35
|
+
always_run: true
|