PTSIP 0.3.8a6__tar.gz → 0.3.8b3__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.
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/MANIFEST.in +3 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/PKG-INFO +6 -8
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/README.md +5 -7
- ptsip-0.3.8b3/ptsip-build-source.json +4 -0
- ptsip-0.3.8b3/ptsip_build_backend.py +133 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/pyproject.toml +23 -12
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/PTSIP.egg-info/PKG-INFO +6 -8
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/PTSIP.egg-info/SOURCES.txt +53 -2
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CNTR/SFP-CNTR-0005.yaml +2 -1
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/constants.py +1 -1
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engine_installation.py +56 -10
- ptsip-0.3.8b3/src/ptsip/engines/context/Cargo.lock +792 -0
- ptsip-0.3.8b3/src/ptsip/engines/context/Cargo.toml +16 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/context/execution-bindings.json +1 -1
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/context/manifest.json +1 -1
- ptsip-0.3.8b3/src/ptsip/engines/context/src/loading.rs +15 -0
- ptsip-0.3.8b3/src/ptsip/engines/context/src/main.rs +126 -0
- ptsip-0.3.8b3/src/ptsip/engines/context/src/source.rs +185 -0
- ptsip-0.3.8b3/src/ptsip/engines/context/version.yaml +3 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/dependency-graph.json +14 -14
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/installation-plan.json +7 -7
- ptsip-0.3.8b3/src/ptsip/engines/discovery/Cargo.lock +792 -0
- ptsip-0.3.8b3/src/ptsip/engines/discovery/Cargo.toml +16 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/discovery/execution-bindings.json +1 -1
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/discovery/manifest.json +1 -1
- ptsip-0.3.8b3/src/ptsip/engines/discovery/src/invocation.rs +17 -0
- ptsip-0.3.8b3/src/ptsip/engines/discovery/src/main.rs +129 -0
- ptsip-0.3.8b3/src/ptsip/engines/discovery/src/registry.rs +358 -0
- ptsip-0.3.8b3/src/ptsip/engines/discovery/src/source.rs +305 -0
- ptsip-0.3.8b3/src/ptsip/engines/discovery/version.yaml +3 -0
- ptsip-0.3.8b3/src/ptsip/engines/execution/Cargo.lock +792 -0
- ptsip-0.3.8b3/src/ptsip/engines/execution/Cargo.toml +16 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/execution/execution-bindings.json +1 -1
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/execution/manifest.json +1 -1
- ptsip-0.3.8b3/src/ptsip/engines/execution/src/authority.rs +99 -0
- ptsip-0.3.8b3/src/ptsip/engines/execution/src/effect.rs +66 -0
- ptsip-0.3.8b3/src/ptsip/engines/execution/src/invocation.rs +163 -0
- ptsip-0.3.8b3/src/ptsip/engines/execution/src/main.rs +185 -0
- ptsip-0.3.8b3/src/ptsip/engines/execution/src/source.rs +305 -0
- ptsip-0.3.8b3/src/ptsip/engines/execution/version.yaml +3 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/index.json +7 -7
- ptsip-0.3.8b3/src/ptsip/engines/planning/Cargo.lock +792 -0
- ptsip-0.3.8b3/src/ptsip/engines/planning/Cargo.toml +16 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/planning/execution-bindings.json +1 -1
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/planning/manifest.json +1 -1
- ptsip-0.3.8b3/src/ptsip/engines/planning/src/impact.rs +217 -0
- ptsip-0.3.8b3/src/ptsip/engines/planning/src/installation.rs +195 -0
- ptsip-0.3.8b3/src/ptsip/engines/planning/src/main.rs +179 -0
- ptsip-0.3.8b3/src/ptsip/engines/planning/src/preparation.rs +58 -0
- ptsip-0.3.8b3/src/ptsip/engines/planning/src/source.rs +302 -0
- ptsip-0.3.8b3/src/ptsip/engines/planning/version.yaml +3 -0
- ptsip-0.3.8b3/src/ptsip/engines/projection/Cargo.lock +792 -0
- ptsip-0.3.8b3/src/ptsip/engines/projection/Cargo.toml +16 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/projection/execution-bindings.json +1 -1
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/projection/manifest.json +1 -1
- ptsip-0.3.8b3/src/ptsip/engines/projection/src/main.rs +149 -0
- ptsip-0.3.8b3/src/ptsip/engines/projection/src/rendering.rs +70 -0
- ptsip-0.3.8b3/src/ptsip/engines/projection/src/source.rs +185 -0
- ptsip-0.3.8b3/src/ptsip/engines/projection/version.yaml +3 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/registries/derived-snapshot.json +29 -29
- ptsip-0.3.8b3/src/ptsip/engines/storage/Cargo.lock +792 -0
- ptsip-0.3.8b3/src/ptsip/engines/storage/Cargo.toml +16 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/storage/execution-bindings.json +1 -1
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/storage/manifest.json +1 -1
- ptsip-0.3.8b3/src/ptsip/engines/storage/src/main.rs +123 -0
- ptsip-0.3.8b3/src/ptsip/engines/storage/src/native.rs +233 -0
- ptsip-0.3.8b3/src/ptsip/engines/storage/src/provider.rs +145 -0
- ptsip-0.3.8b3/src/ptsip/engines/storage/src/source.rs +198 -0
- ptsip-0.3.8b3/src/ptsip/engines/storage/version.yaml +3 -0
- ptsip-0.3.8b3/src/ptsip/engines/validation/Cargo.lock +792 -0
- ptsip-0.3.8b3/src/ptsip/engines/validation/Cargo.toml +16 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/validation/execution-bindings.json +1 -1
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/validation/manifest.json +1 -1
- ptsip-0.3.8b3/src/ptsip/engines/validation/src/cases.rs +102 -0
- ptsip-0.3.8b3/src/ptsip/engines/validation/src/composition.rs +104 -0
- ptsip-0.3.8b3/src/ptsip/engines/validation/src/handoff.rs +215 -0
- ptsip-0.3.8b3/src/ptsip/engines/validation/src/main.rs +201 -0
- ptsip-0.3.8b3/src/ptsip/engines/validation/src/source.rs +185 -0
- ptsip-0.3.8b3/src/ptsip/engines/validation/version.yaml +3 -0
- ptsip-0.3.8b3/src/ptsip/package-distribution.json +16 -0
- ptsip-0.3.8a6/src/ptsip/remediation/solution/candidate.py +0 -317
- ptsip-0.3.8a6/src/ptsip/remediation/solution/elimination.py +0 -469
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/License-Authority/COMMERCIAL-USE.md +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/License-Authority/LICENSE-GUIDE.md +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/License-Authority/LICENSE-HISTORY.md +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/License-Authority/LICENSE.md +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/License-Authority/NOTICE.md +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/License-Authority/license-authority.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/registry/project-profile-contracts.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/setup.cfg +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/setup.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/PTSIP.egg-info/dependency_links.txt +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/PTSIP.egg-info/entry_points.txt +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/PTSIP.egg-info/requires.txt +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/PTSIP.egg-info/top_level.txt +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/analyze-source-profile.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/apply-adoption.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/apply-profile-transition.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/build-adoption-plan.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/build-transition-plan.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/capture-repository-snapshot.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/collect-conformance-evidence.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/compare-profile-authority.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/emit-conformance-result.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/evaluate-conformance-rules.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/map-profile-target.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/project-authority-winner.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/read-relevant-authority.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/resolve-adoption-facts.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/resolve-profile-schema.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/resolve-reconciliation-state.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/validate-profile-structure.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/actions/validate-responsibility-map-semantics.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/bindings/current.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/candidate.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/canonicalization/ptsip-canonical-json-v1.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/adopt-apply-requested.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/adopt-authority-fresh.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/adopt-facts-resolved.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/adopt-profile-fresh.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/adopt-repository-fresh.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/adopt-snapshot-identified.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/adopt-write-authorized.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/authority-authority-fresh.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/authority-coordination-available.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/authority-profile-fresh.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/authority-projection-required.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/authority-semantic-conflict-absent.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/authority-write-authorized.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/conform-profile-ready.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/conform-snapshot-identified.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/migrate-apply-requested.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/migrate-source-fresh.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/migrate-source-profile-identified.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/migrate-target-contract-resolved.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/migrate-target-fresh.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/migrate-write-authorized.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/validate-contract-resolved.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conditions/validate-profile-selected.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/conformance/current.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/contracts/current.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/digests/policy-v1.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/digests/projection-v1.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/gates/adoption-write.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/gates/authority-projection-write.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/gates/profile-transition-write.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/index.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/index.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/machine_resolver.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/operations/adopt.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/operations/conform.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/operations/migrate-profile.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/operations/reconcile-authority.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/operations/validate.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/promotion/current.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/promotion/index.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/promotion/specification-contract.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/resolver.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/candidate-group.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/candidate-index.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/candidate-vectors.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/action.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/binding.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/condition.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/index.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/io.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/mutation-gate.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/operation.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/promotion.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/spec.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/contracts/vocabulary.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/adopt-request.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/adopt-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/adopt-state.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/authority-request.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/authority-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/authority-state.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/conform-request.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/conform-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/conform-state.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/migrate-request.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/migrate-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/migrate-state.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/validate-request.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/validate-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/schemas/io/validate-state.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/adoption-procedure.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/adoption.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/agent-behavior.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/authority.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/classification.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/conformance-detail.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/conformance.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/core.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/governance.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/profile-transition-detail.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/profile-transition.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/repository-boundaries.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/responsibility-map-detail.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/responsibility-map.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/spec/specification-governance.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/validator.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/vocabulary/authority.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/vocabulary/diagnostics.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/vocabulary/lifecycle.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/vocabulary/outcomes.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/agent_contracts/vocabulary/terminology.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ARCH/SFP-ARCH-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ARCH/SFP-ARCH-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ARCH/SFP-ARCH-0003.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ARCH/SFP-ARCH-0004.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ARCH/SFP-ARCH-0005.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ASSURE/SFP-ASSURE-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ASSURE/SFP-ASSURE-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ASSURE/SFP-ASSURE-0003.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ASSURE/SFP-ASSURE-0004.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/ASSURE/SFP-ASSURE-0005.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CHANGE/SFP-CHANGE-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CNTR/SFP-CNTR-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CNTR/SFP-CNTR-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CNTR/SFP-CNTR-0003.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CNTR/SFP-CNTR-0004.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CNTR/SFP-CNTR-0006.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CNTR/SFP-CNTR-0007.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CNTR/SFP-CNTR-0008.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CTRL/SFP-CTRL-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CTRL/SFP-CTRL-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/CTRL/SFP-CTRL-0003.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/GOV/SFP-GOV-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/GOV/SFP-GOV-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INFO/SFP-INFO-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INFO/SFP-INFO-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INFO/SFP-INFO-0003.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INFO/SFP-INFO-0004.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INFO/SFP-INFO-0005.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INFO/SFP-INFO-0006.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INFO/SFP-INFO-0007.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INFO/SFP-INFO-0008.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INFO/SFP-INFO-0009.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/INTENT/SFP-INTENT-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/NORM/SFP-NORM-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/NORM/SFP-NORM-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/OPS/SFP-OPS-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/OPS/SFP-OPS-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/REAL/SFP-REAL-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/RECORD/SFP-RECORD-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/RECORD/SFP-RECORD-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/RECORD/SFP-RECORD-0003.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/RECORD/SFP-RECORD-0004.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/RISK/SFP-RISK-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/SUPPLY/SFP-SUPPLY-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/index.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0001.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0002.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0003.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0004.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0005.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0006.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0007.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0008.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0009.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0010.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0011.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0012.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0013.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0014.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0015.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0016.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0017.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0018.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0019.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0020.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0021.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0022.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0023.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/legacy/SFP-0024.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/registries/ptsip-support-authority-role-registry.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/registries/ptsip-support-authority-schema-registry.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/registries/ptsip-support-authority-subject-registry.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/registries/ptsip-support-authorization-registry.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/registries/root-family-migration.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/registries/root-family-projection-module-admission.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/registries/root-family-projection.module.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/ptsip-support-authority-eligibility-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/ptsip-support-authority-role.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/ptsip-support-authority-semantics.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/ptsip-support-feature-policy-index.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/ptsip-support-feature-policy.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/ptsip-support-governance-registry.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/ptsip-support-project-authority-record.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/ptsip-support-root-family-policy.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/ptsip-support-subject-binding.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/root-family-migration.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/policy/schemas/root-family-projection-module.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/__main__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/adoption.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/bindings/current.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/index.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/operations/adopt.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/operations/conform.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/operations/migrate-profile.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/operations/reconcile-authority.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/operations/validate.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/runtime.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/schemas/binding.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/schemas/index.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/schemas/operation.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/schemas/spec.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/schemas/vocabulary.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/spec/adoption.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/spec/authority.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/spec/classification.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/spec/conformance.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/spec/core.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/spec/governance.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/spec/profile-transition.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/spec/responsibility-map.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/validator.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/vocabulary/authority.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/vocabulary/diagnostics.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/vocabulary/lifecycle.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/agent_contracts/vocabulary/outcomes.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/app/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/app/client.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/app/github_authority.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/app/github_client.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/app/github_reconciliation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/app/local_client.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/app/server.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/app/service.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/app/store.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/artifact_evidence.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/build_resolution.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/generator.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/generator_core.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/i18n.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/model.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/render.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/resolution/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/resolution/model.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/resolution/parser.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/resolution/profile_projection.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/resolution/resolver.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/transports/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/clarification/transports/github_issue.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/cli.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/conformance.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/conformance_audit.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/conformance_engine.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/context_plane.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/dependency_analysis.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/dependency_cache.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/dependency_reconciliation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/dependency_review.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/dependency_validation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/doctor.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/context/contract.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/context/contracts/1.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/context/runtime-contracts.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/context/transport.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/capability-owner-map.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/context-projection-handoff.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/native-runtime.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/attempt-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/capability-contract.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/consumer-handoff.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/contract-relation.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/core-manifest.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/dependency-graph.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/derived-state.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/effect-evidence.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/execution-binding.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/federated-source.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/impact-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/native-invocation-registry.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/registry-snapshot.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/registry-verification-input.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/runtime-authority-consumption.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/stop-ack.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/stop-request.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/stop-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/storage-mediation.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/schemas/transport-binding.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/stdio-transport.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/vpms-caller-transition-plan.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/vpms-handoff.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/vpms-scope-mapping.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/contracts/work-item-bindings.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/discovery/contract.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/discovery/contracts/1.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/discovery/contracts/2.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/discovery/runtime-contracts.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/discovery/transport.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/execution/contract.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/execution/contracts/1.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/execution/contracts/2.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/execution/runtime-contracts.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/execution/transport.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/planning/contract.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/planning/contracts/1.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/planning/contracts/2.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/planning/runtime-contracts.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/planning/transport.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/projection/contract.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/projection/contracts/1.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/projection/runtime-contracts.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/projection/transport.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/registries/official-execution.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/registries/official-static.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/storage/contract.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/storage/contracts/1.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/storage/contracts/2.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/storage/provider-registry.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/storage/runtime-contracts.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/storage/transport.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/validation/contract.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/validation/contracts/1.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/validation/contracts/2.0.0.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/validation/runtime-contracts.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/engines/validation/transport.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/evidence/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/evidence/adapters.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/evidence/contract.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/evidence/normalization.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/governance/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/governance/authority.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/governance/authorization.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/governance/model.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/governance/subject_matching.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/governance/support_assets.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/candidate_evidence.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/components.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/dependencies.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/dependencies_030.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/dotnet.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/go.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/inventory.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/javascript.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/lexing.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/python_resolution.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/inspection/source_adapters.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/lifecycle_evidence.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/analyzer.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/direct/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/direct/convergence.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/direct/result.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/direct/source_projection.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/direct/target_projection.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/findings/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/findings/architecture.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/findings/lifecycle.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/findings/work_requirements.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/issue.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/result.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/source/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/source/binding_validation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/source/evidence_correlation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/source/projection.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/source/repository_resolution.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/target/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/target/compatibility.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/target/relationship_findings.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/analysis/target/semantics.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/authorization/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/authorization/binding.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/authorization/preconditions.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/authorization/proof.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/direct/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/direct/identity_plan.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/direct/identity_rewrite.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/direct/promotion.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/direct/verification.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/error.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/guard/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/guard/mutation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/guard/repository_snapshot.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/ledger/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/ledger/record.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/ledger/store.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/mutation/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/mutation/asynchronous.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/mutation/delta.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/mutation/finalization.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/mutation/source.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/promotion/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/promotion/mutation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/promotion/preparation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/promotion/verification.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/recovery.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/state/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/state/phase.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/state/promotion.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/state/recovery.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/execution/state/source_steps.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/convergence/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/convergence/builder.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/convergence/final_state.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/convergence/reconciliation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/direct/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/direct/builder.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/direct/reference.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/proposal_derivation.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/planning/result.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/proposal/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/proposal/bundle.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/proposal/semantic_identity.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/proposal/source_set.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/migration/proposal/target_delta.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/model.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/pilot/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/pilot/runner.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/catalog.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/compatibility.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/contracts.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/example.ptsip.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/history/pp.1.01/example.ptsip.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/history/pp.1.01/hybrid-python-package.ptsip.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/history/pp.1.01/template-python-package.ptsip.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/history/pp.1.02/example.ptsip.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/history/pp.1.02/hybrid-python-package.ptsip.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/history/pp.1.02/template-python-package.ptsip.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/hybrid-python-package.ptsip.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/identity.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/index.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/metadata.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/profiles/template-python-package.ptsip.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/proposed_component.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/remediation/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/remediation/domain/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/remediation/domain/model.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/remediation/escalation/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/remediation/escalation/contract.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/remediation/escalation/engine.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/remediation/rules/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/remediation/rules/contract.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/discover.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/namespace.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/profile_convergence.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/profile_path.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/profile_transition.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/remote.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/schemas/engine-state.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/schemas/repository-index.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/repository/snapshot.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/review_evidence.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/source_compat/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/source_compat/integrity.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/source_compat/model.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/source_compat/reader.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/spec_identity.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/project-profile-contracts.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-agent-classification.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-artifact-evidence.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-diagnostic.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-normalized-evidence.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-profile-pp-1.01.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-profile-pp-1.02.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-profile.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-registry.yaml +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-source-profile-0.3.4.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specdata/ptsip-source-profile-0.3.6.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/specification_binding.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/storage/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/storage/local_state.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/topology.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/validation/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/validation/components.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/validation/handoff.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/validation/profile.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/validation/rules.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/validation/specification.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/validation/templates.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/ptsip/validation_capture.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contract_runtime.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/execution-composition.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/identity-registry.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/index.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/invariants.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/protocol.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/schemas/catalog.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/schemas/product-contract.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/schemas/selection-request.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/schemas/selection-result.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/schemas/selection-rule.schema.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/contracts/selection.json +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/domain/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/domain/model.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/domain/registry.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/domain/snapshot.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/execution/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/execution/adapters/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/execution/adapters/command.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/execution/composition.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/execution/runner.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/integration/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/integration/ptsip_bridge.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/selection/__init__.py +0 -0
- {ptsip-0.3.8a6 → ptsip-0.3.8b3}/src/vpms/selection/resolver.py +0 -0
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
prune src/tests
|
|
2
|
+
include ptsip_build_backend.py
|
|
3
|
+
include ptsip-build-source.json
|
|
2
4
|
recursive-include src/policy *.yaml *.json
|
|
3
5
|
recursive-include src/ptsip/profiles *.ptsip.yaml
|
|
4
6
|
include src/ptsip/profiles/index.yaml
|
|
5
7
|
include registry/project-profile-contracts.yaml
|
|
6
8
|
|
|
7
9
|
recursive-include src/ptsip/engines *.json
|
|
10
|
+
recursive-include src/ptsip/engines Cargo.toml Cargo.lock *.rs *.yaml
|
|
8
11
|
prune src/ptsip/engines/context/target
|
|
9
12
|
prune src/ptsip/engines/storage/target
|
|
10
13
|
prune src/ptsip/engines/validation/target
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PTSIP
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.8b3
|
|
4
4
|
Summary: Reference tooling for primary lifecycle ownership and responsibility isolation
|
|
5
5
|
Author: Kinirin
|
|
6
6
|
Maintainer: Kinirin
|
|
@@ -44,18 +44,16 @@ Dynamic: license-file
|
|
|
44
44
|
|
|
45
45
|
> **Purpose precedes reuse.** Determine why a responsibility exists and which lifecycle owns it before optimizing how code is shared.
|
|
46
46
|
|
|
47
|
-
##
|
|
47
|
+
## Component versions
|
|
48
48
|
|
|
49
49
|
| Identity | Source-tree value |
|
|
50
50
|
| --- | --- |
|
|
51
51
|
| PTSIP_Package | `0.3.8.<SHA6>` — composition assigned after successful publication |
|
|
52
|
-
|
|
|
53
|
-
| Latest published Tool prerelease | `0.3.8a5` |
|
|
52
|
+
| PTSIP_Tool | `0.3.8b1` |
|
|
54
53
|
| Project Profile | `pp.1.02` |
|
|
55
54
|
| Engine | Context/Projection `0.2.0`; Storage/Validation/Discovery/Planning/Execution `0.3.0` |
|
|
56
|
-
| Bound immutable `SPEC_REVISION` | `3c47816770d194ae42f98faedc911d980db0e62a` |
|
|
57
55
|
|
|
58
|
-
Package composition, Tool, each engine
|
|
56
|
+
Package composition, Tool, each engine and Project Profile retain independent versions. The immutable Specification binding is recorded in the canonical composition and shipping manifest. Read [what changed in `0.3.8b1`](docs/releasenote/tool/0.3.8b1.md), the [Tool release history](docs/releasenote/tool/README.md), or [the release workflow](.github/workflows/tooling-release.yml). Release verification is selected from `.github/test_modes.yaml` and runs exclusively in `tooling-test.yml`; publication consumes that exact-source evidence in `tooling-release.yml`. Actual publication state and exact Package composition are recorded in the version-specific release assets.
|
|
59
57
|
|
|
60
58
|
## Quick start
|
|
61
59
|
|
|
@@ -69,10 +67,10 @@ ptsip --version
|
|
|
69
67
|
ptsip spec
|
|
70
68
|
```
|
|
71
69
|
|
|
72
|
-
To install
|
|
70
|
+
To install Tool `0.3.8b1` specifically (ordinary pip resolution might select a stable version instead):
|
|
73
71
|
|
|
74
72
|
```powershell
|
|
75
|
-
python -m pip install "PTSIP==0.3.
|
|
73
|
+
python -m pip install "PTSIP==0.3.8b1"
|
|
76
74
|
```
|
|
77
75
|
|
|
78
76
|
To develop this repository directly:
|
|
@@ -6,18 +6,16 @@
|
|
|
6
6
|
|
|
7
7
|
> **Purpose precedes reuse.** Determine why a responsibility exists and which lifecycle owns it before optimizing how code is shared.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Component versions
|
|
10
10
|
|
|
11
11
|
| Identity | Source-tree value |
|
|
12
12
|
| --- | --- |
|
|
13
13
|
| PTSIP_Package | `0.3.8.<SHA6>` — composition assigned after successful publication |
|
|
14
|
-
|
|
|
15
|
-
| Latest published Tool prerelease | `0.3.8a5` |
|
|
14
|
+
| PTSIP_Tool | `0.3.8b1` |
|
|
16
15
|
| Project Profile | `pp.1.02` |
|
|
17
16
|
| Engine | Context/Projection `0.2.0`; Storage/Validation/Discovery/Planning/Execution `0.3.0` |
|
|
18
|
-
| Bound immutable `SPEC_REVISION` | `3c47816770d194ae42f98faedc911d980db0e62a` |
|
|
19
17
|
|
|
20
|
-
Package composition, Tool, each engine
|
|
18
|
+
Package composition, Tool, each engine and Project Profile retain independent versions. The immutable Specification binding is recorded in the canonical composition and shipping manifest. Read [what changed in `0.3.8b1`](docs/releasenote/tool/0.3.8b1.md), the [Tool release history](docs/releasenote/tool/README.md), or [the release workflow](.github/workflows/tooling-release.yml). Release verification is selected from `.github/test_modes.yaml` and runs exclusively in `tooling-test.yml`; publication consumes that exact-source evidence in `tooling-release.yml`. Actual publication state and exact Package composition are recorded in the version-specific release assets.
|
|
21
19
|
|
|
22
20
|
## Quick start
|
|
23
21
|
|
|
@@ -31,10 +29,10 @@ ptsip --version
|
|
|
31
29
|
ptsip spec
|
|
32
30
|
```
|
|
33
31
|
|
|
34
|
-
To install
|
|
32
|
+
To install Tool `0.3.8b1` specifically (ordinary pip resolution might select a stable version instead):
|
|
35
33
|
|
|
36
34
|
```powershell
|
|
37
|
-
python -m pip install "PTSIP==0.3.
|
|
35
|
+
python -m pip install "PTSIP==0.3.8b1"
|
|
38
36
|
```
|
|
39
37
|
|
|
40
38
|
To develop this repository directly:
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"""PEP 517 source builds of the complete, single-project PTSIP distribution.
|
|
2
|
+
|
|
3
|
+
Release wheels are assembled from separately verified native wheels in Go.
|
|
4
|
+
An sdist rebuild compiles the same independently versioned Rust crates locally.
|
|
5
|
+
Neither origin metadata nor installation grants runtime authority.
|
|
6
|
+
"""
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
import base64
|
|
10
|
+
import csv
|
|
11
|
+
import hashlib
|
|
12
|
+
import io
|
|
13
|
+
import json
|
|
14
|
+
import os
|
|
15
|
+
from pathlib import Path
|
|
16
|
+
import platform
|
|
17
|
+
import re
|
|
18
|
+
import subprocess
|
|
19
|
+
import sys
|
|
20
|
+
import sysconfig
|
|
21
|
+
import tempfile
|
|
22
|
+
import tomllib
|
|
23
|
+
import zipfile
|
|
24
|
+
|
|
25
|
+
from setuptools import build_meta as _setuptools
|
|
26
|
+
|
|
27
|
+
ROOT = Path(__file__).resolve().parent
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def _source() -> str:
|
|
31
|
+
descriptor = ROOT / "ptsip-build-source.json"
|
|
32
|
+
if descriptor.is_file():
|
|
33
|
+
source = json.loads(descriptor.read_text())["source_sha"]
|
|
34
|
+
else:
|
|
35
|
+
if subprocess.check_output(["git", "status", "--porcelain", "--untracked-files=no"], cwd=ROOT).strip():
|
|
36
|
+
raise RuntimeError("PTSIP source builds require an exact clean source or the sdist source descriptor")
|
|
37
|
+
source = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=ROOT, text=True).strip()
|
|
38
|
+
if re.fullmatch(r"[0-9a-f]{40}", source) is None:
|
|
39
|
+
raise RuntimeError("invalid PTSIP source revision")
|
|
40
|
+
return source
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def build_sdist(sdist_directory, config_settings=None):
|
|
44
|
+
descriptor = ROOT / "ptsip-build-source.json"
|
|
45
|
+
existed = descriptor.exists()
|
|
46
|
+
source = _source()
|
|
47
|
+
if not existed:
|
|
48
|
+
descriptor.write_text(json.dumps({"schema_version": "ptsip-build-source/v1", "source_sha": source}) + "\n")
|
|
49
|
+
try:
|
|
50
|
+
return _setuptools.build_sdist(sdist_directory, config_settings)
|
|
51
|
+
finally:
|
|
52
|
+
if not existed:
|
|
53
|
+
descriptor.unlink()
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
|
|
57
|
+
source = _source()
|
|
58
|
+
project = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))
|
|
59
|
+
version = project["project"]["version"]
|
|
60
|
+
if project["project"]["name"] != "PTSIP":
|
|
61
|
+
raise RuntimeError("the native backend builds PTSIP only")
|
|
62
|
+
hosts = {
|
|
63
|
+
("win32", "amd64"): ("win_amd64", "windows-x64", "x86_64-pc-windows-msvc", ".exe"),
|
|
64
|
+
("win32", "x86_64"): ("win_amd64", "windows-x64", "x86_64-pc-windows-msvc", ".exe"),
|
|
65
|
+
("linux", "x86_64"): ("linux_x86_64", "linux-x64", "x86_64-unknown-linux-gnu", ""),
|
|
66
|
+
("darwin", "arm64"): (sysconfig.get_platform().replace("-", "_").replace(".", "_"), "macos-arm64", "aarch64-apple-darwin", ""),
|
|
67
|
+
}
|
|
68
|
+
try:
|
|
69
|
+
tag, host, target, extension = hosts[(sys.platform, platform.machine().lower())]
|
|
70
|
+
except KeyError as exc:
|
|
71
|
+
raise RuntimeError("unsupported PTSIP native build host") from exc
|
|
72
|
+
index = json.loads((ROOT / "src/ptsip/engines/index.json").read_text())
|
|
73
|
+
entries = index["official_engine_entries"]
|
|
74
|
+
versions = project["tool"]["ptsip"]["release"]["engines"]
|
|
75
|
+
if len(entries) != len(versions) or {e["kind"].lower(): e["version"] for e in entries} != versions:
|
|
76
|
+
raise RuntimeError("incomplete or stale PTSIP engine inventory")
|
|
77
|
+
with tempfile.TemporaryDirectory(prefix="ptsip-source-wheel-") as temporary:
|
|
78
|
+
stage = Path(temporary)
|
|
79
|
+
pure = _setuptools.build_wheel(str(stage), config_settings, metadata_directory)
|
|
80
|
+
with zipfile.ZipFile(stage / pure) as archive:
|
|
81
|
+
files = {name: archive.read(name) for name in archive.namelist()}
|
|
82
|
+
di = f"ptsip-{version}.dist-info/"
|
|
83
|
+
files.pop(di + "RECORD", None)
|
|
84
|
+
origins = {}
|
|
85
|
+
executables = set()
|
|
86
|
+
for entry in entries:
|
|
87
|
+
kind = entry["kind"].lower()
|
|
88
|
+
manifest = ROOT / f"src/ptsip/engines/{kind}/Cargo.toml"
|
|
89
|
+
crate = tomllib.loads(manifest.read_text(encoding="utf-8"))
|
|
90
|
+
if crate["package"]["version"] != entry["version"]:
|
|
91
|
+
raise RuntimeError("Rust crate version differs from engine registry")
|
|
92
|
+
build = stage / "cargo" / kind
|
|
93
|
+
environment = dict(os.environ, CARGO_TARGET_DIR=str(build))
|
|
94
|
+
subprocess.run(["cargo", "build", "--release", "--locked", "--manifest-path", str(manifest)], cwd=ROOT, env=environment, check=True)
|
|
95
|
+
command = "ptsip-engine-" + kind + extension
|
|
96
|
+
binary = (build / "release" / command).read_bytes()
|
|
97
|
+
name = f"ptsip-{version}.data/scripts/{command}"
|
|
98
|
+
files[name] = binary
|
|
99
|
+
executables.add(name)
|
|
100
|
+
origins[kind] = {
|
|
101
|
+
"schema_version": "ptsip-independent-wheel-origin/v1",
|
|
102
|
+
"source_sha": source,
|
|
103
|
+
"engine_id": entry["engine_id"],
|
|
104
|
+
"engine_version": entry["version"],
|
|
105
|
+
"host_target": target,
|
|
106
|
+
"entrypoint": command,
|
|
107
|
+
"binary_sha256": hashlib.sha256(binary).hexdigest(),
|
|
108
|
+
"execution_authorized": False,
|
|
109
|
+
}
|
|
110
|
+
bundle = {"schema_version": "ptsip-bundled-engine-origins/v1", "package_version": version, "platform": host, "engines": origins, "execution_authorized": False}
|
|
111
|
+
files[di + "ptsip-engines.json"] = (json.dumps(bundle, sort_keys=True, indent=2) + "\n").encode()
|
|
112
|
+
files[di + "WHEEL"] = f"Wheel-Version: 1.0\nGenerator: ptsip-source-build/1\nRoot-Is-Purelib: false\nTag: py3-none-{tag}\n".encode()
|
|
113
|
+
record = io.StringIO(newline="")
|
|
114
|
+
writer = csv.writer(record)
|
|
115
|
+
for name, data in sorted(files.items()):
|
|
116
|
+
digest = base64.urlsafe_b64encode(hashlib.sha256(data).digest()).decode().rstrip("=")
|
|
117
|
+
writer.writerow((name, "sha256=" + digest, str(len(data))))
|
|
118
|
+
writer.writerow((di + "RECORD", "", ""))
|
|
119
|
+
files[di + "RECORD"] = record.getvalue().encode()
|
|
120
|
+
output = Path(wheel_directory) / f"ptsip-{version}-py3-none-{tag}.whl"
|
|
121
|
+
with zipfile.ZipFile(output, "w", compression=zipfile.ZIP_DEFLATED) as archive:
|
|
122
|
+
for name, data in sorted(files.items()):
|
|
123
|
+
info = zipfile.ZipInfo(name, (2020, 1, 1, 0, 0, 0))
|
|
124
|
+
info.create_system = 3
|
|
125
|
+
info.external_attr = (0o100755 if name in executables else 0o100644) << 16
|
|
126
|
+
info.compress_type = zipfile.ZIP_DEFLATED
|
|
127
|
+
archive.writestr(info, data)
|
|
128
|
+
return output.name
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
get_requires_for_build_wheel = _setuptools.get_requires_for_build_wheel
|
|
132
|
+
get_requires_for_build_sdist = _setuptools.get_requires_for_build_sdist
|
|
133
|
+
prepare_metadata_for_build_wheel = _setuptools.prepare_metadata_for_build_wheel
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
[build-system]
|
|
2
2
|
requires = ["setuptools>=77.0.3", "PyYAML>=6.0,<7"]
|
|
3
|
-
build-backend = "
|
|
3
|
+
build-backend = "ptsip_build_backend"
|
|
4
|
+
backend-path = ["."]
|
|
4
5
|
|
|
5
6
|
[project]
|
|
6
7
|
name = "PTSIP"
|
|
7
|
-
version = "0.3.
|
|
8
|
+
version = "0.3.8b3"
|
|
8
9
|
description = "Reference tooling for primary lifecycle ownership and responsibility isolation"
|
|
9
10
|
readme = "README.md"
|
|
10
11
|
requires-python = ">=3.11"
|
|
@@ -45,7 +46,8 @@ ptsip-app = "ptsip.app.server:main"
|
|
|
45
46
|
[tool.setuptools.packages.find]
|
|
46
47
|
where = ["src"]
|
|
47
48
|
include = ["ptsip*", "vpms*", "agent_contracts*"]
|
|
48
|
-
exclude = ["tests*", "ptsip.profiles.history*"
|
|
49
|
+
exclude = ["tests*", "ptsip.profiles.history*"]
|
|
50
|
+
namespaces = false
|
|
49
51
|
|
|
50
52
|
[tool.setuptools.package-data]
|
|
51
53
|
"ptsip.profiles" = ["index.yaml", "*.ptsip.yaml"]
|
|
@@ -54,6 +56,7 @@ vpms = [
|
|
|
54
56
|
"contracts/schemas/*.json",
|
|
55
57
|
]
|
|
56
58
|
ptsip = [
|
|
59
|
+
"package-distribution.json",
|
|
57
60
|
"engines/index.json",
|
|
58
61
|
"engines/*/*.json",
|
|
59
62
|
"engines/contracts/*.json",
|
|
@@ -109,18 +112,26 @@ dev = [
|
|
|
109
112
|
# Canonical current composition. Published snapshots are recorded separately
|
|
110
113
|
# after their original-source artifacts and publication state are verified.
|
|
111
114
|
[tool.ptsip.release]
|
|
112
|
-
schema_version = "ptsip-current-composition/
|
|
115
|
+
schema_version = "ptsip-current-composition/v3"
|
|
113
116
|
package_base = "0.3.8"
|
|
114
|
-
|
|
117
|
+
package_release_version = "0.3.8.b3"
|
|
118
|
+
tool_version_ref = "tool.ptsip.release.tool_version"
|
|
119
|
+
tool_version = "T.0.3.8.b3"
|
|
115
120
|
profile_version = "pp.1.02"
|
|
116
121
|
specification_source = "https://github.com/Kinirin/PTSIP"
|
|
117
122
|
spec_revision = "3c47816770d194ae42f98faedc911d980db0e62a"
|
|
118
123
|
|
|
119
124
|
[tool.ptsip.release.engines]
|
|
120
|
-
context = "0.2.
|
|
121
|
-
storage = "0.3.
|
|
122
|
-
validation = "0.3.
|
|
123
|
-
discovery = "0.3.
|
|
124
|
-
planning = "0.3.
|
|
125
|
-
execution = "0.3.
|
|
126
|
-
projection = "0.2.
|
|
125
|
+
context = "0.2.1"
|
|
126
|
+
storage = "0.3.1"
|
|
127
|
+
validation = "0.3.1"
|
|
128
|
+
discovery = "0.3.1"
|
|
129
|
+
planning = "0.3.1"
|
|
130
|
+
execution = "0.3.1"
|
|
131
|
+
projection = "0.2.1"
|
|
132
|
+
|
|
133
|
+
[tool.ptsip.release.published]
|
|
134
|
+
identity = "0.3.8.fa660a"
|
|
135
|
+
composition_sha256 = "fa660aac1b7bef6b3692d8b54ce447472b666560ea2c87eb84d2159543be20a3"
|
|
136
|
+
source_sha = "7c493c0484614885c6d92b9f41562b16273c6682"
|
|
137
|
+
release_tag = "ptsip-release-7c493c0484614885c6d92b9f41562b16273c6682"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PTSIP
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.8b3
|
|
4
4
|
Summary: Reference tooling for primary lifecycle ownership and responsibility isolation
|
|
5
5
|
Author: Kinirin
|
|
6
6
|
Maintainer: Kinirin
|
|
@@ -44,18 +44,16 @@ Dynamic: license-file
|
|
|
44
44
|
|
|
45
45
|
> **Purpose precedes reuse.** Determine why a responsibility exists and which lifecycle owns it before optimizing how code is shared.
|
|
46
46
|
|
|
47
|
-
##
|
|
47
|
+
## Component versions
|
|
48
48
|
|
|
49
49
|
| Identity | Source-tree value |
|
|
50
50
|
| --- | --- |
|
|
51
51
|
| PTSIP_Package | `0.3.8.<SHA6>` — composition assigned after successful publication |
|
|
52
|
-
|
|
|
53
|
-
| Latest published Tool prerelease | `0.3.8a5` |
|
|
52
|
+
| PTSIP_Tool | `0.3.8b1` |
|
|
54
53
|
| Project Profile | `pp.1.02` |
|
|
55
54
|
| Engine | Context/Projection `0.2.0`; Storage/Validation/Discovery/Planning/Execution `0.3.0` |
|
|
56
|
-
| Bound immutable `SPEC_REVISION` | `3c47816770d194ae42f98faedc911d980db0e62a` |
|
|
57
55
|
|
|
58
|
-
Package composition, Tool, each engine
|
|
56
|
+
Package composition, Tool, each engine and Project Profile retain independent versions. The immutable Specification binding is recorded in the canonical composition and shipping manifest. Read [what changed in `0.3.8b1`](docs/releasenote/tool/0.3.8b1.md), the [Tool release history](docs/releasenote/tool/README.md), or [the release workflow](.github/workflows/tooling-release.yml). Release verification is selected from `.github/test_modes.yaml` and runs exclusively in `tooling-test.yml`; publication consumes that exact-source evidence in `tooling-release.yml`. Actual publication state and exact Package composition are recorded in the version-specific release assets.
|
|
59
57
|
|
|
60
58
|
## Quick start
|
|
61
59
|
|
|
@@ -69,10 +67,10 @@ ptsip --version
|
|
|
69
67
|
ptsip spec
|
|
70
68
|
```
|
|
71
69
|
|
|
72
|
-
To install
|
|
70
|
+
To install Tool `0.3.8b1` specifically (ordinary pip resolution might select a stable version instead):
|
|
73
71
|
|
|
74
72
|
```powershell
|
|
75
|
-
python -m pip install "PTSIP==0.3.
|
|
73
|
+
python -m pip install "PTSIP==0.3.8b1"
|
|
76
74
|
```
|
|
77
75
|
|
|
78
76
|
To develop this repository directly:
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
MANIFEST.in
|
|
2
2
|
README.md
|
|
3
|
+
ptsip-build-source.json
|
|
4
|
+
ptsip_build_backend.py
|
|
3
5
|
pyproject.toml
|
|
4
6
|
setup.py
|
|
5
7
|
License-Authority/COMMERCIAL-USE.md
|
|
@@ -236,6 +238,7 @@ src/ptsip/doctor.py
|
|
|
236
238
|
src/ptsip/engine_installation.py
|
|
237
239
|
src/ptsip/lifecycle_evidence.py
|
|
238
240
|
src/ptsip/model.py
|
|
241
|
+
src/ptsip/package-distribution.json
|
|
239
242
|
src/ptsip/proposed_component.py
|
|
240
243
|
src/ptsip/review_evidence.py
|
|
241
244
|
src/ptsip/spec_identity.py
|
|
@@ -292,12 +295,18 @@ src/ptsip/clarification/resolution/resolver.py
|
|
|
292
295
|
src/ptsip/clarification/transports/__init__.py
|
|
293
296
|
src/ptsip/clarification/transports/github_issue.py
|
|
294
297
|
src/ptsip/engines/index.json
|
|
298
|
+
src/ptsip/engines/context/Cargo.lock
|
|
299
|
+
src/ptsip/engines/context/Cargo.toml
|
|
295
300
|
src/ptsip/engines/context/contract.json
|
|
296
301
|
src/ptsip/engines/context/execution-bindings.json
|
|
297
302
|
src/ptsip/engines/context/manifest.json
|
|
298
303
|
src/ptsip/engines/context/runtime-contracts.json
|
|
299
304
|
src/ptsip/engines/context/transport.json
|
|
305
|
+
src/ptsip/engines/context/version.yaml
|
|
300
306
|
src/ptsip/engines/context/contracts/1.0.0.json
|
|
307
|
+
src/ptsip/engines/context/src/loading.rs
|
|
308
|
+
src/ptsip/engines/context/src/main.rs
|
|
309
|
+
src/ptsip/engines/context/src/source.rs
|
|
301
310
|
src/ptsip/engines/contracts/capability-owner-map.json
|
|
302
311
|
src/ptsip/engines/contracts/context-projection-handoff.json
|
|
303
312
|
src/ptsip/engines/contracts/dependency-graph.json
|
|
@@ -328,51 +337,95 @@ src/ptsip/engines/contracts/schemas/stop-request.schema.json
|
|
|
328
337
|
src/ptsip/engines/contracts/schemas/stop-result.schema.json
|
|
329
338
|
src/ptsip/engines/contracts/schemas/storage-mediation.schema.json
|
|
330
339
|
src/ptsip/engines/contracts/schemas/transport-binding.schema.json
|
|
340
|
+
src/ptsip/engines/discovery/Cargo.lock
|
|
341
|
+
src/ptsip/engines/discovery/Cargo.toml
|
|
331
342
|
src/ptsip/engines/discovery/contract.json
|
|
332
343
|
src/ptsip/engines/discovery/execution-bindings.json
|
|
333
344
|
src/ptsip/engines/discovery/manifest.json
|
|
334
345
|
src/ptsip/engines/discovery/runtime-contracts.json
|
|
335
346
|
src/ptsip/engines/discovery/transport.json
|
|
347
|
+
src/ptsip/engines/discovery/version.yaml
|
|
336
348
|
src/ptsip/engines/discovery/contracts/1.0.0.json
|
|
337
349
|
src/ptsip/engines/discovery/contracts/2.0.0.json
|
|
350
|
+
src/ptsip/engines/discovery/src/invocation.rs
|
|
351
|
+
src/ptsip/engines/discovery/src/main.rs
|
|
352
|
+
src/ptsip/engines/discovery/src/registry.rs
|
|
353
|
+
src/ptsip/engines/discovery/src/source.rs
|
|
354
|
+
src/ptsip/engines/execution/Cargo.lock
|
|
355
|
+
src/ptsip/engines/execution/Cargo.toml
|
|
338
356
|
src/ptsip/engines/execution/contract.json
|
|
339
357
|
src/ptsip/engines/execution/execution-bindings.json
|
|
340
358
|
src/ptsip/engines/execution/manifest.json
|
|
341
359
|
src/ptsip/engines/execution/runtime-contracts.json
|
|
342
360
|
src/ptsip/engines/execution/transport.json
|
|
361
|
+
src/ptsip/engines/execution/version.yaml
|
|
343
362
|
src/ptsip/engines/execution/contracts/1.0.0.json
|
|
344
363
|
src/ptsip/engines/execution/contracts/2.0.0.json
|
|
364
|
+
src/ptsip/engines/execution/src/authority.rs
|
|
365
|
+
src/ptsip/engines/execution/src/effect.rs
|
|
366
|
+
src/ptsip/engines/execution/src/invocation.rs
|
|
367
|
+
src/ptsip/engines/execution/src/main.rs
|
|
368
|
+
src/ptsip/engines/execution/src/source.rs
|
|
369
|
+
src/ptsip/engines/planning/Cargo.lock
|
|
370
|
+
src/ptsip/engines/planning/Cargo.toml
|
|
345
371
|
src/ptsip/engines/planning/contract.json
|
|
346
372
|
src/ptsip/engines/planning/execution-bindings.json
|
|
347
373
|
src/ptsip/engines/planning/manifest.json
|
|
348
374
|
src/ptsip/engines/planning/runtime-contracts.json
|
|
349
375
|
src/ptsip/engines/planning/transport.json
|
|
376
|
+
src/ptsip/engines/planning/version.yaml
|
|
350
377
|
src/ptsip/engines/planning/contracts/1.0.0.json
|
|
351
378
|
src/ptsip/engines/planning/contracts/2.0.0.json
|
|
379
|
+
src/ptsip/engines/planning/src/impact.rs
|
|
380
|
+
src/ptsip/engines/planning/src/installation.rs
|
|
381
|
+
src/ptsip/engines/planning/src/main.rs
|
|
382
|
+
src/ptsip/engines/planning/src/preparation.rs
|
|
383
|
+
src/ptsip/engines/planning/src/source.rs
|
|
384
|
+
src/ptsip/engines/projection/Cargo.lock
|
|
385
|
+
src/ptsip/engines/projection/Cargo.toml
|
|
352
386
|
src/ptsip/engines/projection/contract.json
|
|
353
387
|
src/ptsip/engines/projection/execution-bindings.json
|
|
354
388
|
src/ptsip/engines/projection/manifest.json
|
|
355
389
|
src/ptsip/engines/projection/runtime-contracts.json
|
|
356
390
|
src/ptsip/engines/projection/transport.json
|
|
391
|
+
src/ptsip/engines/projection/version.yaml
|
|
357
392
|
src/ptsip/engines/projection/contracts/1.0.0.json
|
|
393
|
+
src/ptsip/engines/projection/src/main.rs
|
|
394
|
+
src/ptsip/engines/projection/src/rendering.rs
|
|
395
|
+
src/ptsip/engines/projection/src/source.rs
|
|
358
396
|
src/ptsip/engines/registries/derived-snapshot.json
|
|
359
397
|
src/ptsip/engines/registries/official-execution.json
|
|
360
398
|
src/ptsip/engines/registries/official-static.json
|
|
399
|
+
src/ptsip/engines/storage/Cargo.lock
|
|
400
|
+
src/ptsip/engines/storage/Cargo.toml
|
|
361
401
|
src/ptsip/engines/storage/contract.json
|
|
362
402
|
src/ptsip/engines/storage/execution-bindings.json
|
|
363
403
|
src/ptsip/engines/storage/manifest.json
|
|
364
404
|
src/ptsip/engines/storage/provider-registry.json
|
|
365
405
|
src/ptsip/engines/storage/runtime-contracts.json
|
|
366
406
|
src/ptsip/engines/storage/transport.json
|
|
407
|
+
src/ptsip/engines/storage/version.yaml
|
|
367
408
|
src/ptsip/engines/storage/contracts/1.0.0.json
|
|
368
409
|
src/ptsip/engines/storage/contracts/2.0.0.json
|
|
410
|
+
src/ptsip/engines/storage/src/main.rs
|
|
411
|
+
src/ptsip/engines/storage/src/native.rs
|
|
412
|
+
src/ptsip/engines/storage/src/provider.rs
|
|
413
|
+
src/ptsip/engines/storage/src/source.rs
|
|
414
|
+
src/ptsip/engines/validation/Cargo.lock
|
|
415
|
+
src/ptsip/engines/validation/Cargo.toml
|
|
369
416
|
src/ptsip/engines/validation/contract.json
|
|
370
417
|
src/ptsip/engines/validation/execution-bindings.json
|
|
371
418
|
src/ptsip/engines/validation/manifest.json
|
|
372
419
|
src/ptsip/engines/validation/runtime-contracts.json
|
|
373
420
|
src/ptsip/engines/validation/transport.json
|
|
421
|
+
src/ptsip/engines/validation/version.yaml
|
|
374
422
|
src/ptsip/engines/validation/contracts/1.0.0.json
|
|
375
423
|
src/ptsip/engines/validation/contracts/2.0.0.json
|
|
424
|
+
src/ptsip/engines/validation/src/cases.rs
|
|
425
|
+
src/ptsip/engines/validation/src/composition.rs
|
|
426
|
+
src/ptsip/engines/validation/src/handoff.rs
|
|
427
|
+
src/ptsip/engines/validation/src/main.rs
|
|
428
|
+
src/ptsip/engines/validation/src/source.rs
|
|
376
429
|
src/ptsip/evidence/__init__.py
|
|
377
430
|
src/ptsip/evidence/adapters.py
|
|
378
431
|
src/ptsip/evidence/contract.py
|
|
@@ -491,8 +544,6 @@ src/ptsip/remediation/escalation/contract.py
|
|
|
491
544
|
src/ptsip/remediation/escalation/engine.py
|
|
492
545
|
src/ptsip/remediation/rules/__init__.py
|
|
493
546
|
src/ptsip/remediation/rules/contract.py
|
|
494
|
-
src/ptsip/remediation/solution/candidate.py
|
|
495
|
-
src/ptsip/remediation/solution/elimination.py
|
|
496
547
|
src/ptsip/repository/__init__.py
|
|
497
548
|
src/ptsip/repository/discover.py
|
|
498
549
|
src/ptsip/repository/namespace.py
|
|
@@ -54,7 +54,8 @@
|
|
|
54
54
|
],
|
|
55
55
|
"contract_permission_declaration_is_grant": false,
|
|
56
56
|
"engine_version_independence": "PER_ENGINE_FROM_PTSIP_TOOL_AND_SCHEMA_VERSION",
|
|
57
|
-
"official_distribution": "
|
|
57
|
+
"official_distribution": "PTSIP_PLATFORM_WHEEL_WITH_INDEPENDENT_VERSIONED_ENGINE_ARTIFACTS",
|
|
58
|
+
"official_distribution_contract_ref": "src/ptsip/package-distribution.json",
|
|
58
59
|
"mandatory_official_engine_availability": "ALL_SEVEN_BY_DEFAULT",
|
|
59
60
|
"registry_topology": "FEDERATED_OFFICIAL_CONSUMER_EXTERNAL_OWNERSHIP_PRESERVED",
|
|
60
61
|
"resolver_selection": "HONOR_EXPLICIT_CHOICE_OR_MACHINE_RESOLVE_WITH_APPROVED_CONTRACTS",
|
|
@@ -9,6 +9,7 @@ import hashlib
|
|
|
9
9
|
import json
|
|
10
10
|
import os
|
|
11
11
|
import platform
|
|
12
|
+
import re
|
|
12
13
|
import sys
|
|
13
14
|
import sysconfig
|
|
14
15
|
from importlib import metadata, resources
|
|
@@ -37,6 +38,41 @@ def _sha256(path: Path) -> str:
|
|
|
37
38
|
return digest.hexdigest()
|
|
38
39
|
|
|
39
40
|
|
|
41
|
+
def _bundle(items: list[dict[str, Any]]) -> tuple[Any, dict[str, Any]] | None:
|
|
42
|
+
"""A broken installed bundle must not fall back to another distribution."""
|
|
43
|
+
try:
|
|
44
|
+
distribution = metadata.distribution("PTSIP")
|
|
45
|
+
except metadata.PackageNotFoundError:
|
|
46
|
+
return None
|
|
47
|
+
text = distribution.read_text("ptsip-engines.json")
|
|
48
|
+
if text is None:
|
|
49
|
+
return None
|
|
50
|
+
try:
|
|
51
|
+
bundle = json.loads(text)
|
|
52
|
+
origins = bundle["engines"]
|
|
53
|
+
if (
|
|
54
|
+
bundle["schema_version"] != "ptsip-bundled-engine-origins/v1"
|
|
55
|
+
or bundle["package_version"] != distribution.version
|
|
56
|
+
or bundle["execution_authorized"] is not False
|
|
57
|
+
or set(origins) != {entry["kind"].lower() for entry in items}
|
|
58
|
+
or len(origins) != len(items)
|
|
59
|
+
):
|
|
60
|
+
raise ValueError("incomplete or incompatible PTSIP engine bundle")
|
|
61
|
+
for entry in items:
|
|
62
|
+
origin = origins[entry["kind"].lower()]
|
|
63
|
+
if (
|
|
64
|
+
origin["schema_version"] != "ptsip-independent-wheel-origin/v1"
|
|
65
|
+
or origin["engine_id"] != entry["engine_id"]
|
|
66
|
+
or origin["engine_version"] != entry["version"]
|
|
67
|
+
or origin["execution_authorized"] is not False
|
|
68
|
+
or re.fullmatch(r"[0-9a-f]{40}", origin["source_sha"]) is None
|
|
69
|
+
):
|
|
70
|
+
raise ValueError("PTSIP bundled engine identity differs")
|
|
71
|
+
return distribution, bundle
|
|
72
|
+
except (KeyError, TypeError, json.JSONDecodeError) as exc:
|
|
73
|
+
raise ValueError("PTSIP bundled engine metadata is invalid") from exc
|
|
74
|
+
|
|
75
|
+
|
|
40
76
|
def inspect(
|
|
41
77
|
*,
|
|
42
78
|
index: dict[str, Any] | None = None,
|
|
@@ -60,6 +96,7 @@ def inspect(
|
|
|
60
96
|
(sys.platform, platform.machine().lower())
|
|
61
97
|
)
|
|
62
98
|
scripts = scripts or Path(sysconfig.get_path("scripts"))
|
|
99
|
+
bundled = _bundle(items)
|
|
63
100
|
entries: list[dict[str, Any]] = []
|
|
64
101
|
for entry in items:
|
|
65
102
|
kind, engine_id, version = entry["kind"], entry["engine_id"], entry["version"]
|
|
@@ -91,13 +128,20 @@ def inspect(
|
|
|
91
128
|
row["status"] = "UNSUPPORTED_HOST"
|
|
92
129
|
entries.append(row)
|
|
93
130
|
continue
|
|
94
|
-
|
|
95
|
-
distribution =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
131
|
+
if bundled is not None:
|
|
132
|
+
distribution, bundle = bundled
|
|
133
|
+
origin = bundle["engines"][kind.lower()]
|
|
134
|
+
row["package"] = "PTSIP"
|
|
135
|
+
row["package_version"] = distribution.version
|
|
136
|
+
row["installed_version"] = origin["engine_version"]
|
|
137
|
+
else:
|
|
138
|
+
try:
|
|
139
|
+
distribution = metadata.distribution(package_name)
|
|
140
|
+
except metadata.PackageNotFoundError:
|
|
141
|
+
entries.append(row)
|
|
142
|
+
continue
|
|
143
|
+
row["installed_version"] = distribution.version
|
|
144
|
+
if row["installed_version"] != version:
|
|
101
145
|
row["status"] = "VERSION_MISMATCH"
|
|
102
146
|
entries.append(row)
|
|
103
147
|
continue
|
|
@@ -108,8 +152,9 @@ def inspect(
|
|
|
108
152
|
entries.append(row)
|
|
109
153
|
continue
|
|
110
154
|
try:
|
|
111
|
-
|
|
112
|
-
|
|
155
|
+
if bundled is None:
|
|
156
|
+
origin_text = distribution.read_text("ptsip-origin.json")
|
|
157
|
+
origin = json.loads(origin_text or "")
|
|
113
158
|
if (
|
|
114
159
|
origin["engine_id"] != engine_id
|
|
115
160
|
or origin["engine_version"] != version
|
|
@@ -123,13 +168,14 @@ def inspect(
|
|
|
123
168
|
else:
|
|
124
169
|
row["status"] = "INSTALLED_UNATTESTED_RELEASE"
|
|
125
170
|
row["binary_sha256"] = origin["binary_sha256"]
|
|
171
|
+
row["source_sha"] = origin["source_sha"]
|
|
126
172
|
except (OSError, json.JSONDecodeError, KeyError, TypeError, ValueError):
|
|
127
173
|
row["status"] = "ORIGIN_PROOF_MISSING_OR_INVALID"
|
|
128
174
|
entries.append(row)
|
|
129
175
|
return {
|
|
130
176
|
"schema_version": "ptsip-official-engine-consumer-status/v1",
|
|
131
177
|
"host_target": host_target,
|
|
132
|
-
"distribution": "AUTO_INSTALLED_INDEPENDENT_PACKAGES_ONLY",
|
|
178
|
+
"distribution": "SINGLE_PROJECT_PLATFORM_BUNDLES" if bundled else "AUTO_INSTALLED_INDEPENDENT_PACKAGES_ONLY",
|
|
133
179
|
"entries": entries,
|
|
134
180
|
"all_installed": all(e["status"] == "INSTALLED_UNATTESTED_RELEASE" for e in entries),
|
|
135
181
|
"release_attested": False,
|