PTSIP 0.3.8b3__py3-none-win_amd64.whl

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.
Files changed (600) hide show
  1. agent_contracts/__init__.py +5 -0
  2. agent_contracts/actions/analyze-source-profile.yaml +13 -0
  3. agent_contracts/actions/apply-adoption.yaml +12 -0
  4. agent_contracts/actions/apply-profile-transition.yaml +11 -0
  5. agent_contracts/actions/build-adoption-plan.yaml +10 -0
  6. agent_contracts/actions/build-transition-plan.yaml +10 -0
  7. agent_contracts/actions/capture-repository-snapshot.yaml +13 -0
  8. agent_contracts/actions/collect-conformance-evidence.yaml +13 -0
  9. agent_contracts/actions/compare-profile-authority.yaml +10 -0
  10. agent_contracts/actions/emit-conformance-result.yaml +10 -0
  11. agent_contracts/actions/evaluate-conformance-rules.yaml +10 -0
  12. agent_contracts/actions/map-profile-target.yaml +10 -0
  13. agent_contracts/actions/project-authority-winner.yaml +13 -0
  14. agent_contracts/actions/read-relevant-authority.yaml +13 -0
  15. agent_contracts/actions/resolve-adoption-facts.yaml +11 -0
  16. agent_contracts/actions/resolve-profile-schema.yaml +14 -0
  17. agent_contracts/actions/resolve-reconciliation-state.yaml +10 -0
  18. agent_contracts/actions/validate-profile-structure.yaml +10 -0
  19. agent_contracts/actions/validate-responsibility-map-semantics.yaml +10 -0
  20. agent_contracts/bindings/current.yaml +125 -0
  21. agent_contracts/candidate.py +383 -0
  22. agent_contracts/canonicalization/ptsip-canonical-json-v1.json +81 -0
  23. agent_contracts/conditions/adopt-apply-requested.yaml +10 -0
  24. agent_contracts/conditions/adopt-authority-fresh.yaml +10 -0
  25. agent_contracts/conditions/adopt-facts-resolved.yaml +10 -0
  26. agent_contracts/conditions/adopt-profile-fresh.yaml +10 -0
  27. agent_contracts/conditions/adopt-repository-fresh.yaml +10 -0
  28. agent_contracts/conditions/adopt-snapshot-identified.yaml +10 -0
  29. agent_contracts/conditions/adopt-write-authorized.yaml +10 -0
  30. agent_contracts/conditions/authority-authority-fresh.yaml +10 -0
  31. agent_contracts/conditions/authority-coordination-available.yaml +10 -0
  32. agent_contracts/conditions/authority-profile-fresh.yaml +10 -0
  33. agent_contracts/conditions/authority-projection-required.yaml +10 -0
  34. agent_contracts/conditions/authority-semantic-conflict-absent.yaml +10 -0
  35. agent_contracts/conditions/authority-write-authorized.yaml +10 -0
  36. agent_contracts/conditions/conform-profile-ready.yaml +10 -0
  37. agent_contracts/conditions/conform-snapshot-identified.yaml +10 -0
  38. agent_contracts/conditions/migrate-apply-requested.yaml +10 -0
  39. agent_contracts/conditions/migrate-source-fresh.yaml +10 -0
  40. agent_contracts/conditions/migrate-source-profile-identified.yaml +10 -0
  41. agent_contracts/conditions/migrate-target-contract-resolved.yaml +10 -0
  42. agent_contracts/conditions/migrate-target-fresh.yaml +10 -0
  43. agent_contracts/conditions/migrate-write-authorized.yaml +10 -0
  44. agent_contracts/conditions/validate-contract-resolved.yaml +10 -0
  45. agent_contracts/conditions/validate-profile-selected.yaml +10 -0
  46. agent_contracts/conformance/current.json +987 -0
  47. agent_contracts/contracts/current.json +3978 -0
  48. agent_contracts/digests/policy-v1.json +7746 -0
  49. agent_contracts/digests/projection-v1.json +7698 -0
  50. agent_contracts/gates/adoption-write.yaml +18 -0
  51. agent_contracts/gates/authority-projection-write.yaml +18 -0
  52. agent_contracts/gates/profile-transition-write.yaml +15 -0
  53. agent_contracts/index.json +427 -0
  54. agent_contracts/index.yaml +113 -0
  55. agent_contracts/machine_resolver.py +81 -0
  56. agent_contracts/operations/adopt.yaml +99 -0
  57. agent_contracts/operations/conform.yaml +57 -0
  58. agent_contracts/operations/migrate-profile.yaml +85 -0
  59. agent_contracts/operations/reconcile-authority.yaml +87 -0
  60. agent_contracts/operations/validate.yaml +53 -0
  61. agent_contracts/promotion/current.json +50 -0
  62. agent_contracts/promotion/index.json +13 -0
  63. agent_contracts/promotion/specification-contract.json +49 -0
  64. agent_contracts/resolver.py +253 -0
  65. agent_contracts/schemas/candidate-group.schema.json +107 -0
  66. agent_contracts/schemas/candidate-index.schema.json +246 -0
  67. agent_contracts/schemas/candidate-vectors.schema.json +49 -0
  68. agent_contracts/schemas/contracts/action.schema.json +21 -0
  69. agent_contracts/schemas/contracts/binding.schema.json +32 -0
  70. agent_contracts/schemas/contracts/condition.schema.json +25 -0
  71. agent_contracts/schemas/contracts/index.schema.json +27 -0
  72. agent_contracts/schemas/contracts/io.schema.json +12 -0
  73. agent_contracts/schemas/contracts/mutation-gate.schema.json +17 -0
  74. agent_contracts/schemas/contracts/operation.schema.json +259 -0
  75. agent_contracts/schemas/contracts/promotion.schema.json +81 -0
  76. agent_contracts/schemas/contracts/spec.schema.json +13 -0
  77. agent_contracts/schemas/contracts/vocabulary.schema.json +11 -0
  78. agent_contracts/schemas/io/adopt-request.schema.json +8 -0
  79. agent_contracts/schemas/io/adopt-result.schema.json +6 -0
  80. agent_contracts/schemas/io/adopt-state.schema.json +12 -0
  81. agent_contracts/schemas/io/authority-request.schema.json +8 -0
  82. agent_contracts/schemas/io/authority-result.schema.json +6 -0
  83. agent_contracts/schemas/io/authority-state.schema.json +13 -0
  84. agent_contracts/schemas/io/conform-request.schema.json +6 -0
  85. agent_contracts/schemas/io/conform-result.schema.json +6 -0
  86. agent_contracts/schemas/io/conform-state.schema.json +6 -0
  87. agent_contracts/schemas/io/migrate-request.schema.json +11 -0
  88. agent_contracts/schemas/io/migrate-result.schema.json +6 -0
  89. agent_contracts/schemas/io/migrate-state.schema.json +11 -0
  90. agent_contracts/schemas/io/validate-request.schema.json +6 -0
  91. agent_contracts/schemas/io/validate-result.schema.json +6 -0
  92. agent_contracts/schemas/io/validate-state.schema.json +6 -0
  93. agent_contracts/spec/adoption-procedure.yaml +148 -0
  94. agent_contracts/spec/adoption.yaml +33 -0
  95. agent_contracts/spec/agent-behavior.yaml +148 -0
  96. agent_contracts/spec/authority.yaml +40 -0
  97. agent_contracts/spec/classification.yaml +64 -0
  98. agent_contracts/spec/conformance-detail.yaml +120 -0
  99. agent_contracts/spec/conformance.yaml +43 -0
  100. agent_contracts/spec/core.yaml +29 -0
  101. agent_contracts/spec/governance.yaml +30 -0
  102. agent_contracts/spec/profile-transition-detail.yaml +78 -0
  103. agent_contracts/spec/profile-transition.yaml +30 -0
  104. agent_contracts/spec/repository-boundaries.yaml +148 -0
  105. agent_contracts/spec/responsibility-map-detail.yaml +92 -0
  106. agent_contracts/spec/responsibility-map.yaml +36 -0
  107. agent_contracts/spec/specification-governance.yaml +91 -0
  108. agent_contracts/validator.py +723 -0
  109. agent_contracts/vocabulary/authority.yaml +20 -0
  110. agent_contracts/vocabulary/diagnostics.yaml +23 -0
  111. agent_contracts/vocabulary/lifecycle.yaml +20 -0
  112. agent_contracts/vocabulary/outcomes.yaml +26 -0
  113. agent_contracts/vocabulary/terminology.yaml +428 -0
  114. ptsip/__init__.py +5 -0
  115. ptsip/__main__.py +4 -0
  116. ptsip/adoption.py +225 -0
  117. ptsip/agent_contracts/__init__.py +12 -0
  118. ptsip/agent_contracts/bindings/current.yaml +38 -0
  119. ptsip/agent_contracts/index.yaml +53 -0
  120. ptsip/agent_contracts/operations/adopt.yaml +49 -0
  121. ptsip/agent_contracts/operations/conform.yaml +42 -0
  122. ptsip/agent_contracts/operations/migrate-profile.yaml +45 -0
  123. ptsip/agent_contracts/operations/reconcile-authority.yaml +40 -0
  124. ptsip/agent_contracts/operations/validate.yaml +36 -0
  125. ptsip/agent_contracts/runtime.py +102 -0
  126. ptsip/agent_contracts/schemas/binding.schema.json +151 -0
  127. ptsip/agent_contracts/schemas/index.schema.json +51 -0
  128. ptsip/agent_contracts/schemas/operation.schema.json +122 -0
  129. ptsip/agent_contracts/schemas/spec.schema.json +96 -0
  130. ptsip/agent_contracts/schemas/vocabulary.schema.json +50 -0
  131. ptsip/agent_contracts/spec/adoption.yaml +23 -0
  132. ptsip/agent_contracts/spec/authority.yaml +32 -0
  133. ptsip/agent_contracts/spec/classification.yaml +31 -0
  134. ptsip/agent_contracts/spec/conformance.yaml +27 -0
  135. ptsip/agent_contracts/spec/core.yaml +21 -0
  136. ptsip/agent_contracts/spec/governance.yaml +17 -0
  137. ptsip/agent_contracts/spec/profile-transition.yaml +27 -0
  138. ptsip/agent_contracts/spec/responsibility-map.yaml +26 -0
  139. ptsip/agent_contracts/validator.py +195 -0
  140. ptsip/agent_contracts/vocabulary/authority.yaml +8 -0
  141. ptsip/agent_contracts/vocabulary/diagnostics.yaml +7 -0
  142. ptsip/agent_contracts/vocabulary/lifecycle.yaml +9 -0
  143. ptsip/agent_contracts/vocabulary/outcomes.yaml +8 -0
  144. ptsip/app/__init__.py +5 -0
  145. ptsip/app/client.py +53 -0
  146. ptsip/app/github_authority.py +659 -0
  147. ptsip/app/github_client.py +200 -0
  148. ptsip/app/github_reconciliation.py +405 -0
  149. ptsip/app/local_client.py +129 -0
  150. ptsip/app/server.py +130 -0
  151. ptsip/app/service.py +345 -0
  152. ptsip/app/store.py +283 -0
  153. ptsip/artifact_evidence.py +150 -0
  154. ptsip/build_resolution.py +315 -0
  155. ptsip/clarification/__init__.py +6 -0
  156. ptsip/clarification/generator.py +345 -0
  157. ptsip/clarification/generator_core.py +87 -0
  158. ptsip/clarification/i18n.py +110 -0
  159. ptsip/clarification/model.py +32 -0
  160. ptsip/clarification/render.py +79 -0
  161. ptsip/clarification/resolution/__init__.py +34 -0
  162. ptsip/clarification/resolution/model.py +90 -0
  163. ptsip/clarification/resolution/parser.py +97 -0
  164. ptsip/clarification/resolution/profile_projection.py +467 -0
  165. ptsip/clarification/resolution/resolver.py +72 -0
  166. ptsip/clarification/transports/__init__.py +1 -0
  167. ptsip/clarification/transports/github_issue.py +162 -0
  168. ptsip/cli.py +1181 -0
  169. ptsip/conformance.py +627 -0
  170. ptsip/conformance_audit.py +143 -0
  171. ptsip/conformance_engine.py +409 -0
  172. ptsip/constants.py +9 -0
  173. ptsip/context_plane.py +687 -0
  174. ptsip/dependency_analysis.py +232 -0
  175. ptsip/dependency_cache.py +110 -0
  176. ptsip/dependency_reconciliation.py +248 -0
  177. ptsip/dependency_review.py +174 -0
  178. ptsip/dependency_validation.py +106 -0
  179. ptsip/doctor.py +33 -0
  180. ptsip/engine_installation.py +191 -0
  181. ptsip/engines/context/Cargo.lock +792 -0
  182. ptsip/engines/context/Cargo.toml +16 -0
  183. ptsip/engines/context/contract.json +218 -0
  184. ptsip/engines/context/contracts/1.0.0.json +86 -0
  185. ptsip/engines/context/execution-bindings.json +19 -0
  186. ptsip/engines/context/manifest.json +22 -0
  187. ptsip/engines/context/runtime-contracts.json +34 -0
  188. ptsip/engines/context/src/loading.rs +15 -0
  189. ptsip/engines/context/src/main.rs +126 -0
  190. ptsip/engines/context/src/source.rs +185 -0
  191. ptsip/engines/context/transport.json +113 -0
  192. ptsip/engines/context/version.yaml +3 -0
  193. ptsip/engines/contracts/capability-owner-map.json +94 -0
  194. ptsip/engines/contracts/context-projection-handoff.json +12 -0
  195. ptsip/engines/contracts/dependency-graph.json +47 -0
  196. ptsip/engines/contracts/installation-plan.json +126 -0
  197. ptsip/engines/contracts/native-runtime.json +21 -0
  198. ptsip/engines/contracts/schemas/attempt-result.schema.json +87 -0
  199. ptsip/engines/contracts/schemas/capability-contract.schema.json +100 -0
  200. ptsip/engines/contracts/schemas/consumer-handoff.schema.json +135 -0
  201. ptsip/engines/contracts/schemas/contract-relation.schema.json +123 -0
  202. ptsip/engines/contracts/schemas/core-manifest.schema.json +148 -0
  203. ptsip/engines/contracts/schemas/dependency-graph.schema.json +130 -0
  204. ptsip/engines/contracts/schemas/derived-state.schema.json +64 -0
  205. ptsip/engines/contracts/schemas/effect-evidence.schema.json +58 -0
  206. ptsip/engines/contracts/schemas/execution-binding.schema.json +73 -0
  207. ptsip/engines/contracts/schemas/federated-source.schema.json +97 -0
  208. ptsip/engines/contracts/schemas/impact-result.schema.json +60 -0
  209. ptsip/engines/contracts/schemas/native-invocation-registry.schema.json +206 -0
  210. ptsip/engines/contracts/schemas/registry-snapshot.schema.json +163 -0
  211. ptsip/engines/contracts/schemas/registry-verification-input.schema.json +32 -0
  212. ptsip/engines/contracts/schemas/runtime-authority-consumption.schema.json +120 -0
  213. ptsip/engines/contracts/schemas/stop-ack.schema.json +28 -0
  214. ptsip/engines/contracts/schemas/stop-request.schema.json +25 -0
  215. ptsip/engines/contracts/schemas/stop-result.schema.json +61 -0
  216. ptsip/engines/contracts/schemas/storage-mediation.schema.json +73 -0
  217. ptsip/engines/contracts/schemas/transport-binding.schema.json +49 -0
  218. ptsip/engines/contracts/stdio-transport.json +113 -0
  219. ptsip/engines/contracts/vpms-caller-transition-plan.json +224 -0
  220. ptsip/engines/contracts/vpms-handoff.json +84 -0
  221. ptsip/engines/contracts/vpms-scope-mapping.json +116 -0
  222. ptsip/engines/contracts/work-item-bindings.json +292 -0
  223. ptsip/engines/discovery/Cargo.lock +792 -0
  224. ptsip/engines/discovery/Cargo.toml +16 -0
  225. ptsip/engines/discovery/contract.json +611 -0
  226. ptsip/engines/discovery/contracts/1.0.0.json +172 -0
  227. ptsip/engines/discovery/contracts/2.0.0.json +481 -0
  228. ptsip/engines/discovery/execution-bindings.json +19 -0
  229. ptsip/engines/discovery/manifest.json +22 -0
  230. ptsip/engines/discovery/runtime-contracts.json +232 -0
  231. ptsip/engines/discovery/src/invocation.rs +17 -0
  232. ptsip/engines/discovery/src/main.rs +129 -0
  233. ptsip/engines/discovery/src/registry.rs +358 -0
  234. ptsip/engines/discovery/src/source.rs +305 -0
  235. ptsip/engines/discovery/transport.json +113 -0
  236. ptsip/engines/discovery/version.yaml +3 -0
  237. ptsip/engines/execution/Cargo.lock +792 -0
  238. ptsip/engines/execution/Cargo.toml +16 -0
  239. ptsip/engines/execution/contract.json +607 -0
  240. ptsip/engines/execution/contracts/1.0.0.json +356 -0
  241. ptsip/engines/execution/contracts/2.0.0.json +361 -0
  242. ptsip/engines/execution/execution-bindings.json +19 -0
  243. ptsip/engines/execution/manifest.json +22 -0
  244. ptsip/engines/execution/runtime-contracts.json +428 -0
  245. ptsip/engines/execution/src/authority.rs +99 -0
  246. ptsip/engines/execution/src/effect.rs +66 -0
  247. ptsip/engines/execution/src/invocation.rs +163 -0
  248. ptsip/engines/execution/src/main.rs +185 -0
  249. ptsip/engines/execution/src/source.rs +305 -0
  250. ptsip/engines/execution/transport.json +113 -0
  251. ptsip/engines/execution/version.yaml +3 -0
  252. ptsip/engines/index.json +178 -0
  253. ptsip/engines/planning/Cargo.lock +792 -0
  254. ptsip/engines/planning/Cargo.toml +16 -0
  255. ptsip/engines/planning/contract.json +535 -0
  256. ptsip/engines/planning/contracts/1.0.0.json +95 -0
  257. ptsip/engines/planning/contracts/2.0.0.json +346 -0
  258. ptsip/engines/planning/execution-bindings.json +19 -0
  259. ptsip/engines/planning/manifest.json +22 -0
  260. ptsip/engines/planning/runtime-contracts.json +282 -0
  261. ptsip/engines/planning/src/impact.rs +217 -0
  262. ptsip/engines/planning/src/installation.rs +195 -0
  263. ptsip/engines/planning/src/main.rs +179 -0
  264. ptsip/engines/planning/src/preparation.rs +58 -0
  265. ptsip/engines/planning/src/source.rs +302 -0
  266. ptsip/engines/planning/transport.json +113 -0
  267. ptsip/engines/planning/version.yaml +3 -0
  268. ptsip/engines/projection/Cargo.lock +792 -0
  269. ptsip/engines/projection/Cargo.toml +16 -0
  270. ptsip/engines/projection/contract.json +226 -0
  271. ptsip/engines/projection/contracts/1.0.0.json +92 -0
  272. ptsip/engines/projection/execution-bindings.json +19 -0
  273. ptsip/engines/projection/manifest.json +22 -0
  274. ptsip/engines/projection/runtime-contracts.json +62 -0
  275. ptsip/engines/projection/src/main.rs +149 -0
  276. ptsip/engines/projection/src/rendering.rs +70 -0
  277. ptsip/engines/projection/src/source.rs +185 -0
  278. ptsip/engines/projection/transport.json +113 -0
  279. ptsip/engines/projection/version.yaml +3 -0
  280. ptsip/engines/registries/derived-snapshot.json +135 -0
  281. ptsip/engines/registries/official-execution.json +34 -0
  282. ptsip/engines/registries/official-static.json +35 -0
  283. ptsip/engines/storage/Cargo.lock +792 -0
  284. ptsip/engines/storage/Cargo.toml +16 -0
  285. ptsip/engines/storage/contract.json +382 -0
  286. ptsip/engines/storage/contracts/1.0.0.json +138 -0
  287. ptsip/engines/storage/contracts/2.0.0.json +116 -0
  288. ptsip/engines/storage/execution-bindings.json +19 -0
  289. ptsip/engines/storage/manifest.json +22 -0
  290. ptsip/engines/storage/provider-registry.json +8 -0
  291. ptsip/engines/storage/runtime-contracts.json +282 -0
  292. ptsip/engines/storage/src/main.rs +123 -0
  293. ptsip/engines/storage/src/native.rs +233 -0
  294. ptsip/engines/storage/src/provider.rs +145 -0
  295. ptsip/engines/storage/src/source.rs +198 -0
  296. ptsip/engines/storage/transport.json +113 -0
  297. ptsip/engines/storage/version.yaml +3 -0
  298. ptsip/engines/validation/Cargo.lock +792 -0
  299. ptsip/engines/validation/Cargo.toml +16 -0
  300. ptsip/engines/validation/contract.json +1241 -0
  301. ptsip/engines/validation/contracts/1.0.0.json +356 -0
  302. ptsip/engines/validation/contracts/2.0.0.json +683 -0
  303. ptsip/engines/validation/execution-bindings.json +19 -0
  304. ptsip/engines/validation/manifest.json +22 -0
  305. ptsip/engines/validation/runtime-contracts.json +216 -0
  306. ptsip/engines/validation/src/cases.rs +102 -0
  307. ptsip/engines/validation/src/composition.rs +104 -0
  308. ptsip/engines/validation/src/handoff.rs +215 -0
  309. ptsip/engines/validation/src/main.rs +201 -0
  310. ptsip/engines/validation/src/source.rs +185 -0
  311. ptsip/engines/validation/transport.json +113 -0
  312. ptsip/engines/validation/version.yaml +3 -0
  313. ptsip/evidence/__init__.py +33 -0
  314. ptsip/evidence/adapters.py +486 -0
  315. ptsip/evidence/contract.py +230 -0
  316. ptsip/evidence/normalization.py +173 -0
  317. ptsip/governance/__init__.py +45 -0
  318. ptsip/governance/authority.py +714 -0
  319. ptsip/governance/authorization.py +55 -0
  320. ptsip/governance/model.py +232 -0
  321. ptsip/governance/subject_matching.py +78 -0
  322. ptsip/governance/support_assets.py +91 -0
  323. ptsip/inspection/__init__.py +1 -0
  324. ptsip/inspection/candidate_evidence.py +537 -0
  325. ptsip/inspection/components.py +74 -0
  326. ptsip/inspection/dependencies.py +502 -0
  327. ptsip/inspection/dependencies_030.py +69 -0
  328. ptsip/inspection/dotnet.py +188 -0
  329. ptsip/inspection/go.py +157 -0
  330. ptsip/inspection/inventory.py +161 -0
  331. ptsip/inspection/javascript.py +376 -0
  332. ptsip/inspection/lexing.py +121 -0
  333. ptsip/inspection/python_resolution.py +164 -0
  334. ptsip/inspection/source_adapters.py +60 -0
  335. ptsip/lifecycle_evidence.py +310 -0
  336. ptsip/migration/__init__.py +156 -0
  337. ptsip/migration/analysis/__init__.py +20 -0
  338. ptsip/migration/analysis/analyzer.py +160 -0
  339. ptsip/migration/analysis/direct/__init__.py +5 -0
  340. ptsip/migration/analysis/direct/convergence.py +133 -0
  341. ptsip/migration/analysis/direct/result.py +91 -0
  342. ptsip/migration/analysis/direct/source_projection.py +42 -0
  343. ptsip/migration/analysis/direct/target_projection.py +71 -0
  344. ptsip/migration/analysis/findings/__init__.py +0 -0
  345. ptsip/migration/analysis/findings/architecture.py +29 -0
  346. ptsip/migration/analysis/findings/lifecycle.py +28 -0
  347. ptsip/migration/analysis/findings/work_requirements.py +103 -0
  348. ptsip/migration/analysis/issue.py +12 -0
  349. ptsip/migration/analysis/result.py +69 -0
  350. ptsip/migration/analysis/source/__init__.py +0 -0
  351. ptsip/migration/analysis/source/binding_validation.py +43 -0
  352. ptsip/migration/analysis/source/evidence_correlation.py +40 -0
  353. ptsip/migration/analysis/source/projection.py +252 -0
  354. ptsip/migration/analysis/source/repository_resolution.py +96 -0
  355. ptsip/migration/analysis/target/__init__.py +0 -0
  356. ptsip/migration/analysis/target/compatibility.py +142 -0
  357. ptsip/migration/analysis/target/relationship_findings.py +20 -0
  358. ptsip/migration/analysis/target/semantics.py +159 -0
  359. ptsip/migration/execution/__init__.py +5 -0
  360. ptsip/migration/execution/authorization/__init__.py +4 -0
  361. ptsip/migration/execution/authorization/binding.py +160 -0
  362. ptsip/migration/execution/authorization/preconditions.py +71 -0
  363. ptsip/migration/execution/authorization/proof.py +80 -0
  364. ptsip/migration/execution/direct/__init__.py +9 -0
  365. ptsip/migration/execution/direct/identity_plan.py +133 -0
  366. ptsip/migration/execution/direct/identity_rewrite.py +322 -0
  367. ptsip/migration/execution/direct/promotion.py +180 -0
  368. ptsip/migration/execution/direct/verification.py +118 -0
  369. ptsip/migration/execution/error.py +2 -0
  370. ptsip/migration/execution/guard/__init__.py +3 -0
  371. ptsip/migration/execution/guard/mutation.py +104 -0
  372. ptsip/migration/execution/guard/repository_snapshot.py +47 -0
  373. ptsip/migration/execution/ledger/__init__.py +3 -0
  374. ptsip/migration/execution/ledger/record.py +149 -0
  375. ptsip/migration/execution/ledger/store.py +113 -0
  376. ptsip/migration/execution/mutation/__init__.py +5 -0
  377. ptsip/migration/execution/mutation/asynchronous.py +41 -0
  378. ptsip/migration/execution/mutation/delta.py +243 -0
  379. ptsip/migration/execution/mutation/finalization.py +90 -0
  380. ptsip/migration/execution/mutation/source.py +57 -0
  381. ptsip/migration/execution/promotion/__init__.py +4 -0
  382. ptsip/migration/execution/promotion/mutation.py +55 -0
  383. ptsip/migration/execution/promotion/preparation.py +79 -0
  384. ptsip/migration/execution/promotion/verification.py +87 -0
  385. ptsip/migration/execution/recovery.py +93 -0
  386. ptsip/migration/execution/state/__init__.py +3 -0
  387. ptsip/migration/execution/state/phase.py +17 -0
  388. ptsip/migration/execution/state/promotion.py +25 -0
  389. ptsip/migration/execution/state/recovery.py +31 -0
  390. ptsip/migration/execution/state/source_steps.py +78 -0
  391. ptsip/migration/planning/__init__.py +12 -0
  392. ptsip/migration/planning/convergence/__init__.py +0 -0
  393. ptsip/migration/planning/convergence/builder.py +324 -0
  394. ptsip/migration/planning/convergence/final_state.py +132 -0
  395. ptsip/migration/planning/convergence/reconciliation.py +175 -0
  396. ptsip/migration/planning/direct/__init__.py +3 -0
  397. ptsip/migration/planning/direct/builder.py +346 -0
  398. ptsip/migration/planning/direct/reference.py +26 -0
  399. ptsip/migration/planning/proposal_derivation.py +137 -0
  400. ptsip/migration/planning/result.py +106 -0
  401. ptsip/migration/proposal/__init__.py +9 -0
  402. ptsip/migration/proposal/bundle.py +207 -0
  403. ptsip/migration/proposal/semantic_identity.py +40 -0
  404. ptsip/migration/proposal/source_set.py +50 -0
  405. ptsip/migration/proposal/target_delta.py +88 -0
  406. ptsip/model.py +165 -0
  407. ptsip/package-composition.json +266 -0
  408. ptsip/package-distribution.json +16 -0
  409. ptsip/pilot/__init__.py +1 -0
  410. ptsip/pilot/runner.py +170 -0
  411. ptsip/profiles/__init__.py +1 -0
  412. ptsip/profiles/catalog.py +157 -0
  413. ptsip/profiles/compatibility.py +184 -0
  414. ptsip/profiles/contracts.py +100 -0
  415. ptsip/profiles/example.ptsip.yaml +149 -0
  416. ptsip/profiles/hybrid-python-package.ptsip.yaml +40 -0
  417. ptsip/profiles/identity.py +314 -0
  418. ptsip/profiles/index.yaml +22 -0
  419. ptsip/profiles/metadata.py +61 -0
  420. ptsip/profiles/template-python-package.ptsip.yaml +18 -0
  421. ptsip/proposed_component.py +128 -0
  422. ptsip/remediation/__init__.py +77 -0
  423. ptsip/remediation/domain/__init__.py +39 -0
  424. ptsip/remediation/domain/model.py +417 -0
  425. ptsip/remediation/escalation/__init__.py +37 -0
  426. ptsip/remediation/escalation/contract.py +388 -0
  427. ptsip/remediation/escalation/engine.py +212 -0
  428. ptsip/remediation/rules/__init__.py +23 -0
  429. ptsip/remediation/rules/contract.py +276 -0
  430. ptsip/repository/__init__.py +1 -0
  431. ptsip/repository/discover.py +68 -0
  432. ptsip/repository/namespace.py +86 -0
  433. ptsip/repository/profile_convergence.py +409 -0
  434. ptsip/repository/profile_path.py +97 -0
  435. ptsip/repository/profile_transition.py +377 -0
  436. ptsip/repository/remote.py +54 -0
  437. ptsip/repository/schemas/engine-state.schema.json +1 -0
  438. ptsip/repository/schemas/repository-index.schema.json +104 -0
  439. ptsip/repository/snapshot.py +173 -0
  440. ptsip/review_evidence.py +406 -0
  441. ptsip/source_compat/__init__.py +56 -0
  442. ptsip/source_compat/integrity.py +131 -0
  443. ptsip/source_compat/model.py +260 -0
  444. ptsip/source_compat/reader.py +336 -0
  445. ptsip/spec_identity.py +24 -0
  446. ptsip/specdata/project-profile-contracts.yaml +36 -0
  447. ptsip/specdata/ptsip-agent-classification.schema.json +57 -0
  448. ptsip/specdata/ptsip-artifact-evidence.schema.json +68 -0
  449. ptsip/specdata/ptsip-diagnostic.schema.json +58 -0
  450. ptsip/specdata/ptsip-normalized-evidence.schema.json +126 -0
  451. ptsip/specdata/ptsip-profile-pp-1.01.schema.json +309 -0
  452. ptsip/specdata/ptsip-profile-pp-1.02.schema.json +604 -0
  453. ptsip/specdata/ptsip-profile.schema.json +296 -0
  454. ptsip/specdata/ptsip-registry.yaml +333 -0
  455. ptsip/specdata/ptsip-source-profile-0.3.4.schema.json +55 -0
  456. ptsip/specdata/ptsip-source-profile-0.3.6.schema.json +35 -0
  457. ptsip/specification_binding.py +246 -0
  458. ptsip/storage/__init__.py +1 -0
  459. ptsip/storage/local_state.py +40 -0
  460. ptsip/support/policy/ARCH/SFP-ARCH-0001.yaml +131 -0
  461. ptsip/support/policy/ARCH/SFP-ARCH-0002.yaml +46 -0
  462. ptsip/support/policy/ARCH/SFP-ARCH-0003.yaml +39 -0
  463. ptsip/support/policy/ARCH/SFP-ARCH-0004.yaml +1215 -0
  464. ptsip/support/policy/ARCH/SFP-ARCH-0005.yaml +76 -0
  465. ptsip/support/policy/ASSURE/SFP-ASSURE-0001.yaml +45 -0
  466. ptsip/support/policy/ASSURE/SFP-ASSURE-0002.yaml +45 -0
  467. ptsip/support/policy/ASSURE/SFP-ASSURE-0003.yaml +46 -0
  468. ptsip/support/policy/ASSURE/SFP-ASSURE-0004.yaml +148 -0
  469. ptsip/support/policy/ASSURE/SFP-ASSURE-0005.yaml +115 -0
  470. ptsip/support/policy/CHANGE/SFP-CHANGE-0001.yaml +256 -0
  471. ptsip/support/policy/CNTR/SFP-CNTR-0001.yaml +242 -0
  472. ptsip/support/policy/CNTR/SFP-CNTR-0002.yaml +44 -0
  473. ptsip/support/policy/CNTR/SFP-CNTR-0003.yaml +54 -0
  474. ptsip/support/policy/CNTR/SFP-CNTR-0004.yaml +47 -0
  475. ptsip/support/policy/CNTR/SFP-CNTR-0005.yaml +1772 -0
  476. ptsip/support/policy/CNTR/SFP-CNTR-0006.yaml +131 -0
  477. ptsip/support/policy/CNTR/SFP-CNTR-0007.yaml +146 -0
  478. ptsip/support/policy/CNTR/SFP-CNTR-0008.yaml +57 -0
  479. ptsip/support/policy/CTRL/SFP-CTRL-0001.yaml +95 -0
  480. ptsip/support/policy/CTRL/SFP-CTRL-0002.yaml +415 -0
  481. ptsip/support/policy/CTRL/SFP-CTRL-0003.yaml +715 -0
  482. ptsip/support/policy/GOV/SFP-GOV-0001.yaml +55 -0
  483. ptsip/support/policy/GOV/SFP-GOV-0002.yaml +93 -0
  484. ptsip/support/policy/INFO/SFP-INFO-0001.yaml +271 -0
  485. ptsip/support/policy/INFO/SFP-INFO-0002.yaml +42 -0
  486. ptsip/support/policy/INFO/SFP-INFO-0003.yaml +41 -0
  487. ptsip/support/policy/INFO/SFP-INFO-0004.yaml +133 -0
  488. ptsip/support/policy/INFO/SFP-INFO-0005.yaml +135 -0
  489. ptsip/support/policy/INFO/SFP-INFO-0006.yaml +67 -0
  490. ptsip/support/policy/INFO/SFP-INFO-0007.yaml +256 -0
  491. ptsip/support/policy/INFO/SFP-INFO-0008.yaml +99 -0
  492. ptsip/support/policy/INFO/SFP-INFO-0009.yaml +56 -0
  493. ptsip/support/policy/INTENT/SFP-INTENT-0001.yaml +39 -0
  494. ptsip/support/policy/NORM/SFP-NORM-0001.yaml +45 -0
  495. ptsip/support/policy/NORM/SFP-NORM-0002.yaml +38 -0
  496. ptsip/support/policy/OPS/SFP-OPS-0001.yaml +40 -0
  497. ptsip/support/policy/OPS/SFP-OPS-0002.yaml +270 -0
  498. ptsip/support/policy/REAL/SFP-REAL-0001.yaml +47 -0
  499. ptsip/support/policy/RECORD/SFP-RECORD-0001.yaml +39 -0
  500. ptsip/support/policy/RECORD/SFP-RECORD-0002.yaml +40 -0
  501. ptsip/support/policy/RECORD/SFP-RECORD-0003.yaml +403 -0
  502. ptsip/support/policy/RECORD/SFP-RECORD-0004.yaml +186 -0
  503. ptsip/support/policy/RISK/SFP-RISK-0001.yaml +34 -0
  504. ptsip/support/policy/SUPPLY/SFP-SUPPLY-0001.yaml +43 -0
  505. ptsip/support/policy/index.yaml +183 -0
  506. ptsip/support/policy/legacy/SFP-0001.yaml +28 -0
  507. ptsip/support/policy/legacy/SFP-0002.yaml +28 -0
  508. ptsip/support/policy/legacy/SFP-0003.yaml +27 -0
  509. ptsip/support/policy/legacy/SFP-0004.yaml +53 -0
  510. ptsip/support/policy/legacy/SFP-0005.yaml +32 -0
  511. ptsip/support/policy/legacy/SFP-0006.yaml +43 -0
  512. ptsip/support/policy/legacy/SFP-0007.yaml +52 -0
  513. ptsip/support/policy/legacy/SFP-0008.yaml +66 -0
  514. ptsip/support/policy/legacy/SFP-0009.yaml +54 -0
  515. ptsip/support/policy/legacy/SFP-0010.yaml +40 -0
  516. ptsip/support/policy/legacy/SFP-0011.yaml +42 -0
  517. ptsip/support/policy/legacy/SFP-0012.yaml +38 -0
  518. ptsip/support/policy/legacy/SFP-0013.yaml +38 -0
  519. ptsip/support/policy/legacy/SFP-0014.yaml +46 -0
  520. ptsip/support/policy/legacy/SFP-0015.yaml +52 -0
  521. ptsip/support/policy/legacy/SFP-0016.yaml +52 -0
  522. ptsip/support/policy/legacy/SFP-0017.yaml +23 -0
  523. ptsip/support/policy/legacy/SFP-0018.yaml +41 -0
  524. ptsip/support/policy/legacy/SFP-0019.yaml +40 -0
  525. ptsip/support/policy/legacy/SFP-0020.yaml +34 -0
  526. ptsip/support/policy/legacy/SFP-0021.yaml +44 -0
  527. ptsip/support/policy/legacy/SFP-0022.yaml +53 -0
  528. ptsip/support/policy/legacy/SFP-0023.yaml +20 -0
  529. ptsip/support/policy/legacy/SFP-0024.yaml +118 -0
  530. ptsip/support/registries/ptsip-support-authority-role-registry.yaml +319 -0
  531. ptsip/support/registries/ptsip-support-authority-schema-registry.yaml +239 -0
  532. ptsip/support/registries/ptsip-support-authority-subject-registry.yaml +68 -0
  533. ptsip/support/registries/ptsip-support-authorization-registry.yaml +14 -0
  534. ptsip/support/registries/root-family-migration.json +3097 -0
  535. ptsip/support/registries/root-family-projection-module-admission.json +23 -0
  536. ptsip/support/registries/root-family-projection.module.json +201 -0
  537. ptsip/support/schemas/ptsip-support-authority-eligibility-result.schema.json +114 -0
  538. ptsip/support/schemas/ptsip-support-authority-role.schema.json +126 -0
  539. ptsip/support/schemas/ptsip-support-authority-semantics.schema.json +378 -0
  540. ptsip/support/schemas/ptsip-support-feature-policy-index.schema.json +57 -0
  541. ptsip/support/schemas/ptsip-support-feature-policy.schema.json +186 -0
  542. ptsip/support/schemas/ptsip-support-governance-registry.schema.json +28 -0
  543. ptsip/support/schemas/ptsip-support-project-authority-record.schema.json +136 -0
  544. ptsip/support/schemas/ptsip-support-root-family-policy.schema.json +206 -0
  545. ptsip/support/schemas/ptsip-support-subject-binding.schema.json +60 -0
  546. ptsip/support/schemas/root-family-migration.schema.json +240 -0
  547. ptsip/support/schemas/root-family-projection-module.schema.json +276 -0
  548. ptsip/topology.py +747 -0
  549. ptsip/validation/__init__.py +1 -0
  550. ptsip/validation/components.py +357 -0
  551. ptsip/validation/handoff.py +75 -0
  552. ptsip/validation/profile.py +514 -0
  553. ptsip/validation/rules.py +186 -0
  554. ptsip/validation/specification.py +60 -0
  555. ptsip/validation/templates.py +767 -0
  556. ptsip/validation_capture.py +168 -0
  557. ptsip-0.3.8b3.data/scripts/ptsip-engine-context.exe +0 -0
  558. ptsip-0.3.8b3.data/scripts/ptsip-engine-discovery.exe +0 -0
  559. ptsip-0.3.8b3.data/scripts/ptsip-engine-execution.exe +0 -0
  560. ptsip-0.3.8b3.data/scripts/ptsip-engine-planning.exe +0 -0
  561. ptsip-0.3.8b3.data/scripts/ptsip-engine-projection.exe +0 -0
  562. ptsip-0.3.8b3.data/scripts/ptsip-engine-storage.exe +0 -0
  563. ptsip-0.3.8b3.data/scripts/ptsip-engine-validation.exe +0 -0
  564. ptsip-0.3.8b3.dist-info/METADATA +361 -0
  565. ptsip-0.3.8b3.dist-info/RECORD +600 -0
  566. ptsip-0.3.8b3.dist-info/WHEEL +4 -0
  567. ptsip-0.3.8b3.dist-info/entry_points.txt +3 -0
  568. ptsip-0.3.8b3.dist-info/licenses/License-Authority/COMMERCIAL-USE.md +301 -0
  569. ptsip-0.3.8b3.dist-info/licenses/License-Authority/LICENSE-GUIDE.md +159 -0
  570. ptsip-0.3.8b3.dist-info/licenses/License-Authority/LICENSE-HISTORY.md +15 -0
  571. ptsip-0.3.8b3.dist-info/licenses/License-Authority/LICENSE.md +414 -0
  572. ptsip-0.3.8b3.dist-info/licenses/License-Authority/NOTICE.md +22 -0
  573. ptsip-0.3.8b3.dist-info/licenses/License-Authority/license-authority.yaml +133 -0
  574. ptsip-0.3.8b3.dist-info/ptsip-engines.json +78 -0
  575. vpms/__init__.py +70 -0
  576. vpms/contract_runtime.py +124 -0
  577. vpms/contracts/execution-composition.json +1 -0
  578. vpms/contracts/identity-registry.json +69 -0
  579. vpms/contracts/index.json +1 -0
  580. vpms/contracts/invariants.json +27 -0
  581. vpms/contracts/protocol.json +1 -0
  582. vpms/contracts/schemas/catalog.schema.json +80 -0
  583. vpms/contracts/schemas/product-contract.schema.json +572 -0
  584. vpms/contracts/schemas/selection-request.schema.json +47 -0
  585. vpms/contracts/schemas/selection-result.schema.json +79 -0
  586. vpms/contracts/schemas/selection-rule.schema.json +31 -0
  587. vpms/contracts/selection.json +1 -0
  588. vpms/domain/__init__.py +1 -0
  589. vpms/domain/model.py +88 -0
  590. vpms/domain/registry.py +350 -0
  591. vpms/domain/snapshot.py +118 -0
  592. vpms/execution/__init__.py +1 -0
  593. vpms/execution/adapters/__init__.py +1 -0
  594. vpms/execution/adapters/command.py +67 -0
  595. vpms/execution/composition.py +58 -0
  596. vpms/execution/runner.py +69 -0
  597. vpms/integration/__init__.py +1 -0
  598. vpms/integration/ptsip_bridge.py +156 -0
  599. vpms/selection/__init__.py +4 -0
  600. vpms/selection/resolver.py +130 -0
@@ -0,0 +1,224 @@
1
+ {
2
+ "schema_version": "ptsip-vpms-caller-transition-plan/v1",
3
+ "plan_owner": "developer/planning/0.3.8/WU-02/WU-02.yaml",
4
+ "scope_confirmation": "PRESERVE_EXISTING_PUBLIC_APIS_IMPLEMENT_NEW_CONTRACT_VERIFICATION_AND_TRANSITION_PLAN",
5
+ "current_source_catalog_ref": "src/vpms/contracts/index.json",
6
+ "scope_mapping_ref": "src/ptsip/engines/contracts/vpms-scope-mapping.json",
7
+ "profile_ref": ".ptsip/profiles/main.ptsip.yaml",
8
+ "mode_registry_ref": ".github/test_modes.yaml",
9
+ "caller_contract_relations": [
10
+ {
11
+ "source_contract_id": "urn:uuid:2450027a-191a-4378-82de-6cdbd3a5f79b",
12
+ "source_contract_version": "2.0",
13
+ "api": "load_registry_snapshot",
14
+ "implementation_ref": "src/vpms/domain/snapshot.py",
15
+ "current_availability": "IMPLEMENTED_ACTIVE",
16
+ "transition": "PRESERVE_CURRENT_PUBLIC_API",
17
+ "new_validation_relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE",
18
+ "consumer_cutover_authorized": false,
19
+ "implementation_component_ref": "vpms-product-protocol-handoff",
20
+ "source_contract_component_ref": "vpms-product-protocol-contract",
21
+ "candidate_validation_contract": {
22
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
23
+ "version": "3.0.0",
24
+ "path": "src/ptsip/engines/validation/contract.json",
25
+ "relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE"
26
+ },
27
+ "verification_routes": [
28
+ {
29
+ "test_mode_id": "vpms",
30
+ "component_ref": "vpms-verification",
31
+ "verifies_component_ref": "vpms-product-protocol-handoff"
32
+ },
33
+ {
34
+ "test_mode_id": "vpms-contract-plane",
35
+ "component_ref": "vpms-contract-plane-verification",
36
+ "verifies_component_ref": "vpms-product-protocol-contract"
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "source_contract_id": "urn:uuid:2450027a-191a-4378-82de-6cdbd3a5f79b",
42
+ "source_contract_version": "2.0",
43
+ "api": "VerificationCase",
44
+ "implementation_ref": "src/vpms/domain/model.py",
45
+ "current_availability": "CURRENT_EVIDENCE",
46
+ "transition": "PRESERVE_CURRENT_PUBLIC_API",
47
+ "new_validation_relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE",
48
+ "consumer_cutover_authorized": false,
49
+ "implementation_component_ref": "vpms",
50
+ "source_contract_component_ref": "vpms-product-protocol-contract",
51
+ "candidate_validation_contract": {
52
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
53
+ "version": "3.0.0",
54
+ "path": "src/ptsip/engines/validation/contract.json",
55
+ "relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE"
56
+ },
57
+ "verification_routes": [
58
+ {
59
+ "test_mode_id": "vpms",
60
+ "component_ref": "vpms-verification",
61
+ "verifies_component_ref": "vpms"
62
+ },
63
+ {
64
+ "test_mode_id": "vpms-contract-plane",
65
+ "component_ref": "vpms-contract-plane-verification",
66
+ "verifies_component_ref": "vpms-product-protocol-contract"
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ "source_contract_id": "urn:uuid:2450027a-191a-4378-82de-6cdbd3a5f79b",
72
+ "source_contract_version": "2.0",
73
+ "api": "load_registry",
74
+ "implementation_ref": "src/vpms/domain/registry.py",
75
+ "current_availability": "CURRENT_EVIDENCE",
76
+ "transition": "PRESERVE_CURRENT_PUBLIC_API",
77
+ "new_validation_relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE",
78
+ "consumer_cutover_authorized": false,
79
+ "implementation_component_ref": "vpms",
80
+ "source_contract_component_ref": "vpms-product-protocol-contract",
81
+ "candidate_validation_contract": {
82
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
83
+ "version": "3.0.0",
84
+ "path": "src/ptsip/engines/validation/contract.json",
85
+ "relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE"
86
+ },
87
+ "verification_routes": [
88
+ {
89
+ "test_mode_id": "vpms",
90
+ "component_ref": "vpms-verification",
91
+ "verifies_component_ref": "vpms"
92
+ },
93
+ {
94
+ "test_mode_id": "vpms-contract-plane",
95
+ "component_ref": "vpms-contract-plane-verification",
96
+ "verifies_component_ref": "vpms-product-protocol-contract"
97
+ }
98
+ ]
99
+ },
100
+ {
101
+ "source_contract_id": "urn:uuid:2450027a-191a-4378-82de-6cdbd3a5f79b",
102
+ "source_contract_version": "2.0",
103
+ "api": "run_case",
104
+ "implementation_ref": "src/vpms/execution/runner.py",
105
+ "current_availability": "CURRENT_EVIDENCE",
106
+ "transition": "PRESERVE_CURRENT_PUBLIC_API",
107
+ "new_validation_relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE",
108
+ "consumer_cutover_authorized": false,
109
+ "implementation_component_ref": "vpms",
110
+ "source_contract_component_ref": "vpms-product-protocol-contract",
111
+ "candidate_validation_contract": {
112
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
113
+ "version": "3.0.0",
114
+ "path": "src/ptsip/engines/validation/contract.json",
115
+ "relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE"
116
+ },
117
+ "verification_routes": [
118
+ {
119
+ "test_mode_id": "vpms",
120
+ "component_ref": "vpms-verification",
121
+ "verifies_component_ref": "vpms"
122
+ },
123
+ {
124
+ "test_mode_id": "vpms-contract-plane",
125
+ "component_ref": "vpms-contract-plane-verification",
126
+ "verifies_component_ref": "vpms-product-protocol-contract"
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "source_contract_id": "urn:uuid:32058048-9342-4514-9754-2a4b25a79b06",
132
+ "source_contract_version": "2.0",
133
+ "api": "run_cases",
134
+ "implementation_ref": "src/vpms/execution/composition.py",
135
+ "current_availability": "IMPLEMENTED_ACTIVE",
136
+ "transition": "PRESERVE_CURRENT_PUBLIC_API",
137
+ "new_validation_relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE",
138
+ "consumer_cutover_authorized": false,
139
+ "implementation_component_ref": "vpms-execution-composition",
140
+ "source_contract_component_ref": "vpms-execution-composition-contract",
141
+ "candidate_validation_contract": {
142
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
143
+ "version": "3.0.0",
144
+ "path": "src/ptsip/engines/validation/contract.json",
145
+ "relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE"
146
+ },
147
+ "verification_routes": [
148
+ {
149
+ "test_mode_id": "vpms",
150
+ "component_ref": "vpms-verification",
151
+ "verifies_component_ref": "vpms-execution-composition"
152
+ },
153
+ {
154
+ "test_mode_id": "vpms-contract-plane",
155
+ "component_ref": "vpms-contract-plane-verification",
156
+ "verifies_component_ref": "vpms-execution-composition-contract"
157
+ }
158
+ ]
159
+ },
160
+ {
161
+ "source_contract_id": "urn:uuid:32058048-9342-4514-9754-2a4b25a79b06",
162
+ "source_contract_version": "2.0",
163
+ "api": "run_selected_cases",
164
+ "implementation_ref": "src/vpms/execution/runner.py",
165
+ "current_availability": "RETIRED",
166
+ "transition": "PRESERVE_RETIRED_STATE",
167
+ "new_validation_relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE",
168
+ "consumer_cutover_authorized": false,
169
+ "implementation_component_ref": "vpms",
170
+ "source_contract_component_ref": "vpms-execution-composition-contract",
171
+ "candidate_validation_contract": {
172
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
173
+ "version": "3.0.0",
174
+ "path": "src/ptsip/engines/validation/contract.json",
175
+ "relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE"
176
+ },
177
+ "verification_routes": [
178
+ {
179
+ "test_mode_id": "vpms",
180
+ "component_ref": "vpms-verification",
181
+ "verifies_component_ref": "vpms"
182
+ },
183
+ {
184
+ "test_mode_id": "vpms-contract-plane",
185
+ "component_ref": "vpms-contract-plane-verification",
186
+ "verifies_component_ref": "vpms-execution-composition-contract"
187
+ }
188
+ ]
189
+ },
190
+ {
191
+ "source_contract_id": "urn:uuid:e6707543-f052-4035-bb86-166701e06362",
192
+ "source_contract_version": "2.0",
193
+ "api": "resolve_selection",
194
+ "implementation_ref": "src/vpms/selection/resolver.py",
195
+ "current_availability": "IMPLEMENTED_ACTIVE",
196
+ "transition": "PRESERVE_CURRENT_PUBLIC_API",
197
+ "new_validation_relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE",
198
+ "consumer_cutover_authorized": false,
199
+ "implementation_component_ref": "vpms-case-selection",
200
+ "source_contract_component_ref": "vpms-selection-contract",
201
+ "candidate_validation_contract": {
202
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
203
+ "version": "3.0.0",
204
+ "path": "src/ptsip/engines/validation/contract.json",
205
+ "relation": "VALIDATION_COVERAGE_ONLY_NOT_RUNTIME_EQUIVALENCE"
206
+ },
207
+ "verification_routes": [
208
+ {
209
+ "test_mode_id": "vpms",
210
+ "component_ref": "vpms-verification",
211
+ "verifies_component_ref": "vpms-case-selection"
212
+ },
213
+ {
214
+ "test_mode_id": "vpms-contract-plane",
215
+ "component_ref": "vpms-contract-plane-verification",
216
+ "verifies_component_ref": "vpms-selection-contract"
217
+ }
218
+ ]
219
+ }
220
+ ],
221
+ "unmapped_or_ambiguous": "BLOCK_CUTOVER",
222
+ "public_api_retirement": false,
223
+ "cutover_performed": false
224
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "schema_version": "ptsip-vpms-validation-contract-handoff/v1",
3
+ "source_catalog_ref": "src/vpms/contracts/index.json",
4
+ "relations": [
5
+ {
6
+ "source_contract": {
7
+ "id": "urn:uuid:2450027a-191a-4378-82de-6cdbd3a5f79b",
8
+ "version": "2.0",
9
+ "path": "src/vpms/contracts/protocol.json",
10
+ "status": "ACTIVE"
11
+ },
12
+ "target_contract": {
13
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
14
+ "version": "3.0.0",
15
+ "path": "src/ptsip/engines/validation/contract.json"
16
+ },
17
+ "relation": "REQUIRES_EXPLICIT_SEMANTIC_COMPATIBILITY_MAPPING",
18
+ "compatibility": "UNVERIFIED_NOT_EQUIVALENT",
19
+ "eligible_for_cutover": false,
20
+ "runtime_bridge": false,
21
+ "current_source_contract_remains_active": true,
22
+ "retirement_approval": "REQUIRED_NOT_GRANTED"
23
+ },
24
+ {
25
+ "source_contract": {
26
+ "id": "urn:uuid:32058048-9342-4514-9754-2a4b25a79b06",
27
+ "version": "2.0",
28
+ "path": "src/vpms/contracts/execution-composition.json",
29
+ "status": "ACTIVE"
30
+ },
31
+ "target_contract": {
32
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
33
+ "version": "3.0.0",
34
+ "path": "src/ptsip/engines/validation/contract.json"
35
+ },
36
+ "relation": "REQUIRES_EXPLICIT_SEMANTIC_COMPATIBILITY_MAPPING",
37
+ "compatibility": "UNVERIFIED_NOT_EQUIVALENT",
38
+ "eligible_for_cutover": false,
39
+ "runtime_bridge": false,
40
+ "current_source_contract_remains_active": true,
41
+ "retirement_approval": "REQUIRED_NOT_GRANTED"
42
+ },
43
+ {
44
+ "source_contract": {
45
+ "id": "urn:uuid:e6707543-f052-4035-bb86-166701e06362",
46
+ "version": "2.0",
47
+ "path": "src/vpms/contracts/selection.json",
48
+ "status": "ACTIVE"
49
+ },
50
+ "target_contract": {
51
+ "id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
52
+ "version": "3.0.0",
53
+ "path": "src/ptsip/engines/validation/contract.json"
54
+ },
55
+ "relation": "REQUIRES_EXPLICIT_SEMANTIC_COMPATIBILITY_MAPPING",
56
+ "compatibility": "UNVERIFIED_NOT_EQUIVALENT",
57
+ "eligible_for_cutover": false,
58
+ "runtime_bridge": false,
59
+ "current_source_contract_remains_active": true,
60
+ "retirement_approval": "REQUIRED_NOT_GRANTED"
61
+ }
62
+ ],
63
+ "new_independent_capabilities": [
64
+ "validation.contract",
65
+ "validation.schema",
66
+ "validation.typed-io",
67
+ "validation.precondition",
68
+ "validation.case",
69
+ "validation.compose",
70
+ "validation.verify-handoff",
71
+ "validation.verify-context-handoff"
72
+ ],
73
+ "generic_validation_implies_vpms_protocol_equivalence": false,
74
+ "automatic_resolver_registry_ref": ".github/test_modes.yaml",
75
+ "transition_mode_ids": [
76
+ "vpms",
77
+ "vpms-contract-plane",
78
+ "repository-architecture"
79
+ ],
80
+ "caller_cutover": "BLOCKED_UNTIL_BEHAVIOR_AND_VERSIONED_MAPPING_VERIFIED",
81
+ "legacy_retirement": false,
82
+ "assure_owner": "SFP-ASSURE-0001_UNCHANGED",
83
+ "verified_scope_mapping_ref": "src/ptsip/engines/contracts/vpms-scope-mapping.json"
84
+ }
@@ -0,0 +1,116 @@
1
+ {
2
+ "schema_version": "ptsip-engine-preserved-api-mapping/v1",
3
+ "id": "urn:ptsip:vpms-validation-scope-mapping:v1",
4
+ "version": "1.0.0",
5
+ "source_catalog_ref": "src/vpms/contracts/index.json",
6
+ "relations": [
7
+ {
8
+ "source_refs": [
9
+ {
10
+ "id": "urn:uuid:2450027a-191a-4378-82de-6cdbd3a5f79b",
11
+ "version": "2.0",
12
+ "path": "src/vpms/contracts/protocol.json",
13
+ "sha256": "67df51fc929f51b965386ffc7b4df13e3cae1ae9ee1189c616e21c02a4ec46af"
14
+ }
15
+ ],
16
+ "target_operations": [
17
+ "validation.case",
18
+ "validation.typed-io"
19
+ ],
20
+ "relation_kind": "VALIDATION_COVERAGE_ONLY",
21
+ "cardinality": "ONE_TO_MANY",
22
+ "target_contract_id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
23
+ "target_contract_version": "3.0.0",
24
+ "source_responsibility_classification": {
25
+ "urn:uuid:2450027a-191a-4378-82de-6cdbd3a5f79b": {
26
+ "CASE_DEFINITION": "VALIDATION_ONLY_PARTIAL",
27
+ "EXPLICIT_REFERENCE_BINDING": "VALIDATION_ONLY_PARTIAL",
28
+ "FORMULA_REUSE": "PRESERVED_LEGACY_RUNTIME",
29
+ "SINGLE_CASE_EXECUTION": "PRESERVED_LEGACY_RUNTIME",
30
+ "RESULT_NORMALIZATION": "PRESERVED_LEGACY_RUNTIME"
31
+ }
32
+ },
33
+ "public_api_equivalence": false
34
+ },
35
+ {
36
+ "source_refs": [
37
+ {
38
+ "id": "urn:uuid:32058048-9342-4514-9754-2a4b25a79b06",
39
+ "version": "2.0",
40
+ "path": "src/vpms/contracts/execution-composition.json",
41
+ "sha256": "c6436ac503f608b8baa3299d48c2f09d87dd5ca2b09182a77ea78a1b874b64fe"
42
+ }
43
+ ],
44
+ "target_operations": [
45
+ "validation.precondition"
46
+ ],
47
+ "relation_kind": "VALIDATION_COVERAGE_ONLY",
48
+ "cardinality": "ONE_TO_ONE",
49
+ "target_contract_id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
50
+ "target_contract_version": "3.0.0",
51
+ "source_responsibility_classification": {
52
+ "urn:uuid:32058048-9342-4514-9754-2a4b25a79b06": {
53
+ "VALIDATED_SELECTION_TO_EXECUTION_HANDOFF": "PRESERVED_LEGACY_RUNTIME",
54
+ "ALL_SELECTED_ADAPTER_PREFLIGHT": "VALIDATION_ONLY_PARTIAL",
55
+ "CASE_EXECUTION_COMPOSITION": "PRESERVED_LEGACY_RUNTIME",
56
+ "EXECUTION_COMPATIBILITY": "PRESERVED_LEGACY_RUNTIME"
57
+ }
58
+ },
59
+ "public_api_equivalence": false
60
+ },
61
+ {
62
+ "source_refs": [
63
+ {
64
+ "id": "urn:uuid:2450027a-191a-4378-82de-6cdbd3a5f79b",
65
+ "version": "2.0",
66
+ "path": "src/vpms/contracts/protocol.json",
67
+ "sha256": "67df51fc929f51b965386ffc7b4df13e3cae1ae9ee1189c616e21c02a4ec46af"
68
+ },
69
+ {
70
+ "id": "urn:uuid:32058048-9342-4514-9754-2a4b25a79b06",
71
+ "version": "2.0",
72
+ "path": "src/vpms/contracts/execution-composition.json",
73
+ "sha256": "c6436ac503f608b8baa3299d48c2f09d87dd5ca2b09182a77ea78a1b874b64fe"
74
+ },
75
+ {
76
+ "id": "urn:uuid:e6707543-f052-4035-bb86-166701e06362",
77
+ "version": "2.0",
78
+ "path": "src/vpms/contracts/selection.json",
79
+ "sha256": "37e73c7bed4e514617113f1cf49541c2a5013c5fd1d78cb7d8c17c491ef7f3cc"
80
+ }
81
+ ],
82
+ "target_operations": [
83
+ "validation.contract"
84
+ ],
85
+ "relation_kind": "VALIDATION_COVERAGE_ONLY",
86
+ "cardinality": "MANY_TO_ONE",
87
+ "target_contract_id": "urn:uuid:450659b1-1e89-4138-91d3-8dcbf6d6dc1a",
88
+ "target_contract_version": "3.0.0",
89
+ "source_responsibility_classification": {
90
+ "urn:uuid:2450027a-191a-4378-82de-6cdbd3a5f79b": {
91
+ "CASE_DEFINITION": "VALIDATION_ONLY_PARTIAL",
92
+ "EXPLICIT_REFERENCE_BINDING": "VALIDATION_ONLY_PARTIAL",
93
+ "FORMULA_REUSE": "PRESERVED_LEGACY_RUNTIME",
94
+ "SINGLE_CASE_EXECUTION": "PRESERVED_LEGACY_RUNTIME",
95
+ "RESULT_NORMALIZATION": "PRESERVED_LEGACY_RUNTIME"
96
+ },
97
+ "urn:uuid:32058048-9342-4514-9754-2a4b25a79b06": {
98
+ "VALIDATED_SELECTION_TO_EXECUTION_HANDOFF": "PRESERVED_LEGACY_RUNTIME",
99
+ "ALL_SELECTED_ADAPTER_PREFLIGHT": "VALIDATION_ONLY_PARTIAL",
100
+ "CASE_EXECUTION_COMPOSITION": "PRESERVED_LEGACY_RUNTIME",
101
+ "EXECUTION_COMPATIBILITY": "PRESERVED_LEGACY_RUNTIME"
102
+ },
103
+ "urn:uuid:e6707543-f052-4035-bb86-166701e06362": {
104
+ "EXPLICIT_SELECTION_REQUEST": "PRESERVED_LEGACY_RUNTIME",
105
+ "REGISTERED_SELECTION_RULE_RESOLUTION": "VALIDATION_ONLY_PARTIAL",
106
+ "DETERMINISTIC_SELECTED_CASE_SET": "PRESERVED_LEGACY_RUNTIME",
107
+ "SELECTION_DIAGNOSTICS": "PRESERVED_LEGACY_RUNTIME"
108
+ }
109
+ },
110
+ "public_api_equivalence": false
111
+ }
112
+ ],
113
+ "public_api_cutover": false,
114
+ "legacy_retirement": false,
115
+ "consumer_bindings": []
116
+ }