PTSIP 0.3.7__tar.gz → 0.3.8a2__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.
Files changed (337) hide show
  1. ptsip-0.3.8a2/License-Authority/COMMERCIAL-USE.md +301 -0
  2. ptsip-0.3.8a2/License-Authority/LICENSE-GUIDE.md +159 -0
  3. ptsip-0.3.8a2/License-Authority/LICENSE-HISTORY.md +15 -0
  4. ptsip-0.3.8a2/License-Authority/LICENSE.md +414 -0
  5. ptsip-0.3.8a2/License-Authority/NOTICE.md +22 -0
  6. ptsip-0.3.8a2/License-Authority/license-authority.yaml +133 -0
  7. ptsip-0.3.8a2/MANIFEST.in +5 -0
  8. ptsip-0.3.8a2/PKG-INFO +489 -0
  9. ptsip-0.3.8a2/README.md +451 -0
  10. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0001.yaml +28 -0
  11. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0002.yaml +28 -0
  12. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0003.yaml +27 -0
  13. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0004.yaml +53 -0
  14. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0005.yaml +32 -0
  15. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0006.yaml +43 -0
  16. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0007.yaml +52 -0
  17. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0008.yaml +66 -0
  18. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0009.yaml +54 -0
  19. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0010.yaml +40 -0
  20. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0011.yaml +42 -0
  21. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0012.yaml +38 -0
  22. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0013.yaml +38 -0
  23. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0014.yaml +46 -0
  24. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0015.yaml +52 -0
  25. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0016.yaml +52 -0
  26. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0017.yaml +23 -0
  27. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0018.yaml +41 -0
  28. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0019.yaml +40 -0
  29. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0020.yaml +34 -0
  30. ptsip-0.3.8a2/docs/Support_policy/policy/SFP-0021.yaml +44 -0
  31. ptsip-0.3.8a2/docs/Support_policy/policy/index.yaml +66 -0
  32. ptsip-0.3.8a2/docs/Support_policy/policy/registries/ptsip-support-authority-role-registry.yaml +374 -0
  33. ptsip-0.3.8a2/docs/Support_policy/policy/registries/ptsip-support-authority-schema-registry.yaml +119 -0
  34. ptsip-0.3.8a2/docs/Support_policy/policy/registries/ptsip-support-authority-subject-registry.yaml +47 -0
  35. ptsip-0.3.8a2/docs/Support_policy/policy/registries/ptsip-support-authorization-registry.yaml +14 -0
  36. ptsip-0.3.8a2/docs/Support_policy/policy/schemas/ptsip-support-authority-eligibility-result.schema.json +114 -0
  37. ptsip-0.3.8a2/docs/Support_policy/policy/schemas/ptsip-support-authority-role.schema.json +123 -0
  38. ptsip-0.3.8a2/docs/Support_policy/policy/schemas/ptsip-support-authority-semantics.schema.json +586 -0
  39. ptsip-0.3.8a2/docs/Support_policy/policy/schemas/ptsip-support-feature-policy-index.schema.json +53 -0
  40. ptsip-0.3.8a2/docs/Support_policy/policy/schemas/ptsip-support-feature-policy.schema.json +186 -0
  41. ptsip-0.3.8a2/docs/Support_policy/policy/schemas/ptsip-support-governance-registry.schema.json +28 -0
  42. ptsip-0.3.8a2/docs/Support_policy/policy/schemas/ptsip-support-project-authority-record.schema.json +85 -0
  43. ptsip-0.3.8a2/docs/Support_policy/policy/schemas/ptsip-support-subject-binding.schema.json +60 -0
  44. ptsip-0.3.8a2/profiles/example.ptsip.yaml +149 -0
  45. ptsip-0.3.8a2/profiles/history/pp.1.01/example.ptsip.yaml +148 -0
  46. ptsip-0.3.8a2/profiles/history/pp.1.01/hybrid-python-package.ptsip.yaml +39 -0
  47. ptsip-0.3.8a2/profiles/history/pp.1.01/template-python-package.ptsip.yaml +17 -0
  48. ptsip-0.3.8a2/profiles/history/pp.1.02/example.ptsip.yaml +149 -0
  49. ptsip-0.3.8a2/profiles/history/pp.1.02/hybrid-python-package.ptsip.yaml +40 -0
  50. ptsip-0.3.8a2/profiles/history/pp.1.02/template-python-package.ptsip.yaml +18 -0
  51. ptsip-0.3.8a2/profiles/hybrid-python-package.ptsip.yaml +40 -0
  52. ptsip-0.3.8a2/profiles/index.yaml +22 -0
  53. ptsip-0.3.8a2/profiles/template-python-package.ptsip.yaml +18 -0
  54. {ptsip-0.3.7 → ptsip-0.3.8a2}/pyproject.toml +82 -60
  55. ptsip-0.3.8a2/registry/project-profile-contracts.yaml +31 -0
  56. {ptsip-0.3.7 → ptsip-0.3.8a2}/setup.cfg +4 -4
  57. ptsip-0.3.8a2/setup.py +176 -0
  58. ptsip-0.3.8a2/src/PTSIP.egg-info/PKG-INFO +489 -0
  59. ptsip-0.3.8a2/src/PTSIP.egg-info/SOURCES.txt +328 -0
  60. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/PTSIP.egg-info/requires.txt +1 -1
  61. ptsip-0.3.8a2/src/PTSIP.egg-info/top_level.txt +3 -0
  62. ptsip-0.3.8a2/src/agent_contracts/__init__.py +5 -0
  63. ptsip-0.3.8a2/src/agent_contracts/actions/analyze-source-profile.yaml +13 -0
  64. ptsip-0.3.8a2/src/agent_contracts/actions/apply-adoption.yaml +12 -0
  65. ptsip-0.3.8a2/src/agent_contracts/actions/apply-profile-transition.yaml +11 -0
  66. ptsip-0.3.8a2/src/agent_contracts/actions/build-adoption-plan.yaml +10 -0
  67. ptsip-0.3.8a2/src/agent_contracts/actions/build-transition-plan.yaml +10 -0
  68. ptsip-0.3.8a2/src/agent_contracts/actions/capture-repository-snapshot.yaml +13 -0
  69. ptsip-0.3.8a2/src/agent_contracts/actions/collect-conformance-evidence.yaml +13 -0
  70. ptsip-0.3.8a2/src/agent_contracts/actions/compare-profile-authority.yaml +10 -0
  71. ptsip-0.3.8a2/src/agent_contracts/actions/emit-conformance-result.yaml +10 -0
  72. ptsip-0.3.8a2/src/agent_contracts/actions/evaluate-conformance-rules.yaml +10 -0
  73. ptsip-0.3.8a2/src/agent_contracts/actions/map-profile-target.yaml +10 -0
  74. ptsip-0.3.8a2/src/agent_contracts/actions/project-authority-winner.yaml +13 -0
  75. ptsip-0.3.8a2/src/agent_contracts/actions/read-relevant-authority.yaml +13 -0
  76. ptsip-0.3.8a2/src/agent_contracts/actions/resolve-adoption-facts.yaml +11 -0
  77. ptsip-0.3.8a2/src/agent_contracts/actions/resolve-profile-schema.yaml +14 -0
  78. ptsip-0.3.8a2/src/agent_contracts/actions/resolve-reconciliation-state.yaml +10 -0
  79. ptsip-0.3.8a2/src/agent_contracts/actions/validate-profile-structure.yaml +10 -0
  80. ptsip-0.3.8a2/src/agent_contracts/actions/validate-responsibility-map-semantics.yaml +10 -0
  81. ptsip-0.3.8a2/src/agent_contracts/bindings/current.yaml +125 -0
  82. ptsip-0.3.8a2/src/agent_contracts/conditions/adopt-apply-requested.yaml +10 -0
  83. ptsip-0.3.8a2/src/agent_contracts/conditions/adopt-authority-fresh.yaml +10 -0
  84. ptsip-0.3.8a2/src/agent_contracts/conditions/adopt-facts-resolved.yaml +10 -0
  85. ptsip-0.3.8a2/src/agent_contracts/conditions/adopt-profile-fresh.yaml +10 -0
  86. ptsip-0.3.8a2/src/agent_contracts/conditions/adopt-repository-fresh.yaml +10 -0
  87. ptsip-0.3.8a2/src/agent_contracts/conditions/adopt-snapshot-identified.yaml +10 -0
  88. ptsip-0.3.8a2/src/agent_contracts/conditions/adopt-write-authorized.yaml +10 -0
  89. ptsip-0.3.8a2/src/agent_contracts/conditions/authority-authority-fresh.yaml +10 -0
  90. ptsip-0.3.8a2/src/agent_contracts/conditions/authority-coordination-available.yaml +10 -0
  91. ptsip-0.3.8a2/src/agent_contracts/conditions/authority-profile-fresh.yaml +10 -0
  92. ptsip-0.3.8a2/src/agent_contracts/conditions/authority-projection-required.yaml +10 -0
  93. ptsip-0.3.8a2/src/agent_contracts/conditions/authority-semantic-conflict-absent.yaml +10 -0
  94. ptsip-0.3.8a2/src/agent_contracts/conditions/authority-write-authorized.yaml +10 -0
  95. ptsip-0.3.8a2/src/agent_contracts/conditions/conform-profile-ready.yaml +10 -0
  96. ptsip-0.3.8a2/src/agent_contracts/conditions/conform-snapshot-identified.yaml +10 -0
  97. ptsip-0.3.8a2/src/agent_contracts/conditions/migrate-apply-requested.yaml +10 -0
  98. ptsip-0.3.8a2/src/agent_contracts/conditions/migrate-source-fresh.yaml +10 -0
  99. ptsip-0.3.8a2/src/agent_contracts/conditions/migrate-source-profile-identified.yaml +10 -0
  100. ptsip-0.3.8a2/src/agent_contracts/conditions/migrate-target-contract-resolved.yaml +10 -0
  101. ptsip-0.3.8a2/src/agent_contracts/conditions/migrate-target-fresh.yaml +10 -0
  102. ptsip-0.3.8a2/src/agent_contracts/conditions/migrate-write-authorized.yaml +10 -0
  103. ptsip-0.3.8a2/src/agent_contracts/conditions/validate-contract-resolved.yaml +10 -0
  104. ptsip-0.3.8a2/src/agent_contracts/conditions/validate-profile-selected.yaml +10 -0
  105. ptsip-0.3.8a2/src/agent_contracts/gates/adoption-write.yaml +18 -0
  106. ptsip-0.3.8a2/src/agent_contracts/gates/authority-projection-write.yaml +18 -0
  107. ptsip-0.3.8a2/src/agent_contracts/gates/profile-transition-write.yaml +15 -0
  108. ptsip-0.3.8a2/src/agent_contracts/index.yaml +113 -0
  109. ptsip-0.3.8a2/src/agent_contracts/operations/adopt.yaml +99 -0
  110. ptsip-0.3.8a2/src/agent_contracts/operations/conform.yaml +57 -0
  111. ptsip-0.3.8a2/src/agent_contracts/operations/migrate-profile.yaml +85 -0
  112. ptsip-0.3.8a2/src/agent_contracts/operations/reconcile-authority.yaml +87 -0
  113. ptsip-0.3.8a2/src/agent_contracts/operations/validate.yaml +53 -0
  114. ptsip-0.3.8a2/src/agent_contracts/resolver.py +253 -0
  115. ptsip-0.3.8a2/src/agent_contracts/schemas/contracts/action.schema.json +21 -0
  116. ptsip-0.3.8a2/src/agent_contracts/schemas/contracts/binding.schema.json +32 -0
  117. ptsip-0.3.8a2/src/agent_contracts/schemas/contracts/condition.schema.json +25 -0
  118. ptsip-0.3.8a2/src/agent_contracts/schemas/contracts/index.schema.json +27 -0
  119. ptsip-0.3.8a2/src/agent_contracts/schemas/contracts/io.schema.json +12 -0
  120. ptsip-0.3.8a2/src/agent_contracts/schemas/contracts/mutation-gate.schema.json +17 -0
  121. ptsip-0.3.8a2/src/agent_contracts/schemas/contracts/operation.schema.json +259 -0
  122. ptsip-0.3.8a2/src/agent_contracts/schemas/contracts/spec.schema.json +13 -0
  123. ptsip-0.3.8a2/src/agent_contracts/schemas/contracts/vocabulary.schema.json +11 -0
  124. ptsip-0.3.8a2/src/agent_contracts/schemas/io/adopt-request.schema.json +8 -0
  125. ptsip-0.3.8a2/src/agent_contracts/schemas/io/adopt-result.schema.json +6 -0
  126. ptsip-0.3.8a2/src/agent_contracts/schemas/io/adopt-state.schema.json +12 -0
  127. ptsip-0.3.8a2/src/agent_contracts/schemas/io/authority-request.schema.json +8 -0
  128. ptsip-0.3.8a2/src/agent_contracts/schemas/io/authority-result.schema.json +6 -0
  129. ptsip-0.3.8a2/src/agent_contracts/schemas/io/authority-state.schema.json +13 -0
  130. ptsip-0.3.8a2/src/agent_contracts/schemas/io/conform-request.schema.json +6 -0
  131. ptsip-0.3.8a2/src/agent_contracts/schemas/io/conform-result.schema.json +6 -0
  132. ptsip-0.3.8a2/src/agent_contracts/schemas/io/conform-state.schema.json +6 -0
  133. ptsip-0.3.8a2/src/agent_contracts/schemas/io/migrate-request.schema.json +11 -0
  134. ptsip-0.3.8a2/src/agent_contracts/schemas/io/migrate-result.schema.json +6 -0
  135. ptsip-0.3.8a2/src/agent_contracts/schemas/io/migrate-state.schema.json +11 -0
  136. ptsip-0.3.8a2/src/agent_contracts/schemas/io/validate-request.schema.json +6 -0
  137. ptsip-0.3.8a2/src/agent_contracts/schemas/io/validate-result.schema.json +6 -0
  138. ptsip-0.3.8a2/src/agent_contracts/schemas/io/validate-state.schema.json +6 -0
  139. ptsip-0.3.8a2/src/agent_contracts/spec/adoption-procedure.yaml +148 -0
  140. ptsip-0.3.8a2/src/agent_contracts/spec/adoption.yaml +33 -0
  141. ptsip-0.3.8a2/src/agent_contracts/spec/agent-behavior.yaml +148 -0
  142. ptsip-0.3.8a2/src/agent_contracts/spec/authority.yaml +40 -0
  143. ptsip-0.3.8a2/src/agent_contracts/spec/classification.yaml +64 -0
  144. ptsip-0.3.8a2/src/agent_contracts/spec/conformance-detail.yaml +120 -0
  145. ptsip-0.3.8a2/src/agent_contracts/spec/conformance.yaml +43 -0
  146. ptsip-0.3.8a2/src/agent_contracts/spec/core.yaml +29 -0
  147. ptsip-0.3.8a2/src/agent_contracts/spec/governance.yaml +30 -0
  148. ptsip-0.3.8a2/src/agent_contracts/spec/profile-transition-detail.yaml +78 -0
  149. ptsip-0.3.8a2/src/agent_contracts/spec/profile-transition.yaml +30 -0
  150. ptsip-0.3.8a2/src/agent_contracts/spec/repository-boundaries.yaml +148 -0
  151. ptsip-0.3.8a2/src/agent_contracts/spec/responsibility-map-detail.yaml +92 -0
  152. ptsip-0.3.8a2/src/agent_contracts/spec/responsibility-map.yaml +36 -0
  153. ptsip-0.3.8a2/src/agent_contracts/spec/specification-governance.yaml +91 -0
  154. ptsip-0.3.8a2/src/agent_contracts/validator.py +723 -0
  155. ptsip-0.3.8a2/src/agent_contracts/vocabulary/authority.yaml +20 -0
  156. ptsip-0.3.8a2/src/agent_contracts/vocabulary/diagnostics.yaml +23 -0
  157. ptsip-0.3.8a2/src/agent_contracts/vocabulary/lifecycle.yaml +20 -0
  158. ptsip-0.3.8a2/src/agent_contracts/vocabulary/outcomes.yaml +26 -0
  159. ptsip-0.3.8a2/src/agent_contracts/vocabulary/terminology.yaml +428 -0
  160. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/__init__.py +5 -5
  161. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/__main__.py +4 -4
  162. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/adoption.py +225 -225
  163. ptsip-0.3.8a2/src/ptsip/agent_contracts/__init__.py +12 -0
  164. ptsip-0.3.8a2/src/ptsip/agent_contracts/bindings/current.yaml +38 -0
  165. ptsip-0.3.8a2/src/ptsip/agent_contracts/index.yaml +53 -0
  166. ptsip-0.3.8a2/src/ptsip/agent_contracts/operations/adopt.yaml +49 -0
  167. ptsip-0.3.8a2/src/ptsip/agent_contracts/operations/conform.yaml +42 -0
  168. ptsip-0.3.8a2/src/ptsip/agent_contracts/operations/migrate-profile.yaml +42 -0
  169. ptsip-0.3.8a2/src/ptsip/agent_contracts/operations/reconcile-authority.yaml +40 -0
  170. ptsip-0.3.8a2/src/ptsip/agent_contracts/operations/validate.yaml +36 -0
  171. ptsip-0.3.8a2/src/ptsip/agent_contracts/runtime.py +102 -0
  172. ptsip-0.3.8a2/src/ptsip/agent_contracts/schemas/binding.schema.json +151 -0
  173. ptsip-0.3.8a2/src/ptsip/agent_contracts/schemas/index.schema.json +51 -0
  174. ptsip-0.3.8a2/src/ptsip/agent_contracts/schemas/operation.schema.json +122 -0
  175. ptsip-0.3.8a2/src/ptsip/agent_contracts/schemas/spec.schema.json +96 -0
  176. ptsip-0.3.8a2/src/ptsip/agent_contracts/schemas/vocabulary.schema.json +50 -0
  177. ptsip-0.3.8a2/src/ptsip/agent_contracts/spec/adoption.yaml +23 -0
  178. ptsip-0.3.8a2/src/ptsip/agent_contracts/spec/authority.yaml +32 -0
  179. ptsip-0.3.8a2/src/ptsip/agent_contracts/spec/classification.yaml +31 -0
  180. ptsip-0.3.8a2/src/ptsip/agent_contracts/spec/conformance.yaml +27 -0
  181. ptsip-0.3.8a2/src/ptsip/agent_contracts/spec/core.yaml +21 -0
  182. ptsip-0.3.8a2/src/ptsip/agent_contracts/spec/governance.yaml +17 -0
  183. ptsip-0.3.8a2/src/ptsip/agent_contracts/spec/profile-transition.yaml +27 -0
  184. ptsip-0.3.8a2/src/ptsip/agent_contracts/spec/responsibility-map.yaml +26 -0
  185. ptsip-0.3.8a2/src/ptsip/agent_contracts/validator.py +195 -0
  186. ptsip-0.3.8a2/src/ptsip/agent_contracts/vocabulary/authority.yaml +8 -0
  187. ptsip-0.3.8a2/src/ptsip/agent_contracts/vocabulary/diagnostics.yaml +7 -0
  188. ptsip-0.3.8a2/src/ptsip/agent_contracts/vocabulary/lifecycle.yaml +9 -0
  189. ptsip-0.3.8a2/src/ptsip/agent_contracts/vocabulary/outcomes.yaml +8 -0
  190. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/app/__init__.py +5 -5
  191. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/app/client.py +53 -53
  192. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/app/github_authority.py +659 -656
  193. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/app/github_client.py +200 -200
  194. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/app/github_reconciliation.py +405 -405
  195. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/app/local_client.py +129 -129
  196. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/app/server.py +130 -130
  197. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/app/service.py +345 -337
  198. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/app/store.py +283 -283
  199. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/artifact_evidence.py +150 -150
  200. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/build_resolution.py +315 -315
  201. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/__init__.py +6 -6
  202. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/generator.py +345 -282
  203. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/generator_core.py +87 -87
  204. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/i18n.py +110 -110
  205. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/model.py +32 -32
  206. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/render.py +79 -79
  207. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/resolution/__init__.py +34 -34
  208. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/resolution/model.py +90 -90
  209. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/resolution/parser.py +97 -97
  210. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/resolution/profile_projection.py +467 -345
  211. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/resolution/resolver.py +72 -72
  212. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/transports/__init__.py +1 -1
  213. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/clarification/transports/github_issue.py +162 -162
  214. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/cli.py +1106 -915
  215. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/conformance.py +627 -597
  216. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/conformance_audit.py +143 -143
  217. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/conformance_engine.py +409 -393
  218. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/constants.py +9 -9
  219. ptsip-0.3.8a2/src/ptsip/dependency_analysis.py +232 -0
  220. ptsip-0.3.8a2/src/ptsip/dependency_cache.py +110 -0
  221. ptsip-0.3.8a2/src/ptsip/dependency_reconciliation.py +248 -0
  222. ptsip-0.3.8a2/src/ptsip/dependency_review.py +174 -0
  223. ptsip-0.3.8a2/src/ptsip/dependency_validation.py +106 -0
  224. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/doctor.py +33 -33
  225. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/evidence/__init__.py +33 -33
  226. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/evidence/adapters.py +486 -486
  227. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/evidence/contract.py +230 -230
  228. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/evidence/normalization.py +173 -173
  229. ptsip-0.3.8a2/src/ptsip/governance/__init__.py +45 -0
  230. ptsip-0.3.8a2/src/ptsip/governance/authority.py +371 -0
  231. ptsip-0.3.8a2/src/ptsip/governance/authorization.py +55 -0
  232. ptsip-0.3.8a2/src/ptsip/governance/model.py +232 -0
  233. ptsip-0.3.8a2/src/ptsip/governance/subject_matching.py +78 -0
  234. ptsip-0.3.8a2/src/ptsip/governance/support_assets.py +91 -0
  235. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/__init__.py +1 -1
  236. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/candidate_evidence.py +537 -537
  237. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/components.py +74 -74
  238. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/dependencies.py +502 -496
  239. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/dependencies_030.py +69 -69
  240. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/dotnet.py +188 -188
  241. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/go.py +157 -157
  242. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/inventory.py +161 -161
  243. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/javascript.py +376 -376
  244. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/lexing.py +121 -121
  245. ptsip-0.3.8a2/src/ptsip/inspection/python_resolution.py +164 -0
  246. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/inspection/source_adapters.py +60 -60
  247. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/lifecycle_evidence.py +310 -310
  248. ptsip-0.3.8a2/src/ptsip/local_profile_catalog.py +157 -0
  249. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/__init__.py +240 -240
  250. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/analyzer.py +702 -702
  251. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/direct_convergence.py +324 -324
  252. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/direct_execution.py +291 -291
  253. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/direct_planner.py +374 -374
  254. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/execution_apply.py +408 -408
  255. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/execution_binding.py +417 -417
  256. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/execution_ledger.py +256 -256
  257. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/execution_model.py +280 -280
  258. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/execution_promotion.py +195 -195
  259. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/identity_rewrite.py +454 -454
  260. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/model.py +420 -420
  261. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/planner.py +857 -857
  262. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/migration/proposal.py +375 -375
  263. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/model.py +165 -165
  264. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/pilot/__init__.py +1 -1
  265. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/pilot/runner.py +170 -170
  266. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/profile_compatibility.py +184 -179
  267. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/profile_identity.py +314 -229
  268. ptsip-0.3.8a2/src/ptsip/profile_metadata.py +61 -0
  269. ptsip-0.3.8a2/src/ptsip/project_profile_contracts.py +100 -0
  270. ptsip-0.3.8a2/src/ptsip/proposed_component.py +128 -0
  271. ptsip-0.3.8a2/src/ptsip/remediation/__init__.py +77 -0
  272. ptsip-0.3.8a2/src/ptsip/remediation/domain/__init__.py +39 -0
  273. ptsip-0.3.8a2/src/ptsip/remediation/domain/model.py +417 -0
  274. ptsip-0.3.8a2/src/ptsip/remediation/escalation/__init__.py +37 -0
  275. ptsip-0.3.8a2/src/ptsip/remediation/escalation/contract.py +388 -0
  276. ptsip-0.3.8a2/src/ptsip/remediation/escalation/engine.py +212 -0
  277. ptsip-0.3.8a2/src/ptsip/remediation/rules/__init__.py +23 -0
  278. ptsip-0.3.8a2/src/ptsip/remediation/rules/contract.py +276 -0
  279. ptsip-0.3.8a2/src/ptsip/remediation/solution/candidate.py +317 -0
  280. ptsip-0.3.8a2/src/ptsip/remediation/solution/elimination.py +469 -0
  281. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/repository/__init__.py +1 -1
  282. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/repository/discover.py +68 -68
  283. ptsip-0.3.8a2/src/ptsip/repository/namespace.py +86 -0
  284. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/repository/profile_convergence.py +409 -409
  285. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/repository/profile_path.py +97 -76
  286. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/repository/profile_transition.py +377 -377
  287. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/repository/remote.py +54 -54
  288. ptsip-0.3.8a2/src/ptsip/repository/schemas/repository-index.schema.json +104 -0
  289. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/repository/snapshot.py +173 -173
  290. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/review_evidence.py +406 -406
  291. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/source_compat/__init__.py +56 -56
  292. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/source_compat/integrity.py +131 -131
  293. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/source_compat/model.py +260 -260
  294. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/source_compat/reader.py +336 -336
  295. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/spec_identity.py +24 -24
  296. ptsip-0.3.8a2/src/ptsip/specdata/project-profile-contracts.yaml +31 -0
  297. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specdata/ptsip-agent-classification.schema.json +57 -57
  298. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specdata/ptsip-artifact-evidence.schema.json +68 -68
  299. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specdata/ptsip-diagnostic.schema.json +58 -58
  300. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specdata/ptsip-normalized-evidence.schema.json +126 -126
  301. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specdata/ptsip-profile-pp-1.01.schema.json +309 -309
  302. ptsip-0.3.8a2/src/ptsip/specdata/ptsip-profile-pp-1.02.schema.json +604 -0
  303. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specdata/ptsip-profile.schema.json +296 -296
  304. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specdata/ptsip-registry.yaml +333 -333
  305. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specdata/ptsip-source-profile-0.3.4.schema.json +55 -55
  306. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specdata/ptsip-source-profile-0.3.6.schema.json +35 -35
  307. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/specification_binding.py +246 -212
  308. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/storage/__init__.py +1 -1
  309. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/storage/local_state.py +40 -40
  310. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/topology.py +747 -747
  311. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/validation/__init__.py +1 -1
  312. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/validation/components.py +357 -357
  313. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/validation/profile.py +513 -479
  314. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/validation/rules.py +186 -186
  315. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/validation/specification.py +60 -52
  316. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/validation/templates.py +767 -767
  317. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/ptsip/validation_capture.py +168 -168
  318. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/__init__.py +64 -64
  319. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/domain/__init__.py +1 -1
  320. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/domain/model.py +88 -88
  321. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/domain/registry.py +350 -350
  322. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/domain/selector.py +41 -41
  323. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/execution/__init__.py +1 -1
  324. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/execution/adapters/__init__.py +1 -1
  325. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/execution/adapters/command.py +67 -67
  326. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/execution/runner.py +102 -102
  327. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/integration/__init__.py +1 -1
  328. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/vpms/integration/ptsip_bridge.py +153 -153
  329. ptsip-0.3.7/LICENSE +0 -201
  330. ptsip-0.3.7/MANIFEST.in +0 -1
  331. ptsip-0.3.7/PKG-INFO +0 -421
  332. ptsip-0.3.7/README.md +0 -388
  333. ptsip-0.3.7/src/PTSIP.egg-info/PKG-INFO +0 -421
  334. ptsip-0.3.7/src/PTSIP.egg-info/SOURCES.txt +0 -122
  335. ptsip-0.3.7/src/PTSIP.egg-info/top_level.txt +0 -2
  336. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/PTSIP.egg-info/dependency_links.txt +0 -0
  337. {ptsip-0.3.7 → ptsip-0.3.8a2}/src/PTSIP.egg-info/entry_points.txt +0 -0
@@ -0,0 +1,301 @@
1
+ # PTSIP Commercial Use and Cooperation Procedure
2
+
3
+ This document defines the current Official Cooperation Channels and submission mechanics for PTSIP Community Reciprocity License 1.0.
4
+
5
+ **Effective Time:** `2026-09-15T00:00:00Z` (UTC).
6
+
7
+ It does not add substantive duties beyond LICENSE. If this document conflicts with LICENSE.md, LICENSE.md controls.
8
+
9
+ ## Standing Commercial Authorization
10
+
11
+ No individual approval response is required.
12
+
13
+ Standing Commercial Authorization becomes available when a Commercial User:
14
+
15
+ 1. accepts PTSIP Community Reciprocity License 1.0;
16
+ 2. expressly accepts both the applicable PTSIP License and the Commercial Cooperation Duty;
17
+ 3. identifies the PTSIP Version or Revision actually used; and
18
+ 4. submits a valid Commercial Use Registration within 90 calendar days of first Commercial Use; and
19
+ 5. continues to comply with the applicable attribution and cooperation duties.
20
+
21
+ PTSIP does not require a default monetary license fee.
22
+
23
+ ## Official Cooperation Channels
24
+
25
+ ### Public registration, reports, and non-confidential findings
26
+
27
+ Use the PTSIP GitHub Issues page:
28
+
29
+ https://github.com/Kinirin/PTSIP/issues
30
+
31
+ Use one of these title prefixes:
32
+
33
+ - [License][Commercial Registration]
34
+ - [License][Commercial Report]
35
+ - [License][Final Commercial Report]
36
+ - [License][Research Report]
37
+ - [License][Research Summary]
38
+ - [License][Material Finding]
39
+
40
+ The GitHub issue timestamp is sufficient evidence of submission.
41
+
42
+ ### PTSIP source changes
43
+
44
+ Submit source changes through a pull request to:
45
+
46
+ https://github.com/Kinirin/PTSIP
47
+
48
+ A pull request, patch link, or equivalent source-form submission may satisfy the PTSIP-modification return requirement when it contains enough information to review and reproduce the PTSIP-specific change.
49
+
50
+ ### Security-sensitive or confidential findings
51
+
52
+ Do not place credentials, personal data, customer secrets, or other protected information in a public issue.
53
+
54
+ If the repository exposes a private vulnerability-reporting or other private project channel, use that channel.
55
+
56
+ If no private channel is available, submit a redacted public Material Finding containing only enough non-confidential information to identify that a finding exists and to request a private follow-up channel. The License never requires public disclosure of protected information.
57
+
58
+ ## Commercial Use Registration template
59
+
60
+ Title:
61
+
62
+ [License][Commercial Registration] <organization or project name>
63
+
64
+ Body:
65
+
66
+ ### User
67
+ Individual or legal entity:
68
+
69
+ ### Commercial activity
70
+ Product, service, system, business activity, or internal commercial function:
71
+
72
+ ### First Commercial Use date
73
+ YYYY-MM-DD:
74
+
75
+ ### PTSIP License version — REQUIRED
76
+ PTSIP Community Reciprocity License version:
77
+
78
+ ### PTSIP version / immutable revision — REQUIRED
79
+ Provide at least one precise identifier. Include both when reasonably available.
80
+ Tool/release version:
81
+ Specification family:
82
+ Immutable Specification revision:
83
+ Git commit or other immutable revision:
84
+
85
+ ### Primary environment
86
+ Relevant coding agents, CI, operating environment, platforms, or integrations:
87
+
88
+ ### Responsible contact
89
+ GitHub account or other accountable project contact:
90
+
91
+ ### Attribution location
92
+ Where PTSIP attribution is or will be provided:
93
+
94
+ ### License and Cooperation Duty acceptance — REQUIRED
95
+ By submitting this Commercial Use Registration, the registering individual or Legal Entity expressly accepts:
96
+
97
+ 1. the PTSIP Community Reciprocity License version identified in this registration; and
98
+ 2. the Commercial Cooperation Duty, including the applicable attribution, reporting, Material Finding, PTSIP-modification return, cure, suspension, and reinstatement obligations.
99
+
100
+ We acknowledge that the Commercial Cooperation Duty is a material and essential condition of Standing Commercial Authorization and is not merely a voluntary recommendation.
101
+
102
+ Submission of this registration constitutes affirmative acceptance of these terms for the Commercial Use identified above.
103
+
104
+ ## Annual Commercial Cooperation Report template
105
+
106
+ Title:
107
+
108
+ [License][Commercial Report] <organization or project name> <reporting period>
109
+
110
+ Body:
111
+
112
+ ### Reporting period
113
+ Start:
114
+ End:
115
+
116
+ ### PTSIP License version — REQUIRED
117
+
118
+ ### PTSIP versions / immutable revisions used — REQUIRED
119
+ Provide at least one precise identifier for each materially used PTSIP line; include both version and immutable revision when reasonably available.
120
+
121
+ ### Usage scope
122
+ Where and how PTSIP was used.
123
+
124
+ ### Relevant environments and integrations
125
+ Coding agents, CI, platforms, tools, or workflows.
126
+
127
+ ### Compatibility findings
128
+ Successful compatibility, incompatibilities, and required workarounds.
129
+
130
+ ### Policy and architecture findings
131
+ Ambiguous, incomplete, unexpectedly strict, unexpectedly permissive, or difficult-to-apply PTSIP policy behavior.
132
+
133
+ ### Verification and failure findings
134
+ Known false positives, false negatives, incorrect decisions, failure patterns, or bypasses.
135
+
136
+ ### Improvements
137
+ Concrete suggestions, missing capabilities, usability problems, or interoperability improvements.
138
+
139
+ ### PTSIP modifications
140
+ Describe PTSIP-specific modifications and link the corresponding PR, patch, or technical contribution. State "none" only if none were made.
141
+
142
+ ### Operational observations
143
+ Shareable aggregated findings that may help improve PTSIP. This may include agent behavior, compatibility matrices, evaluation results, or measured context, reasoning, token, credit, or development-cost observations.
144
+
145
+ ### Protected information
146
+ Identify any categories omitted because they could not lawfully or reasonably be disclosed. Do not include the protected information itself.
147
+
148
+ ### Attestation
149
+ To the best of our knowledge, this report is a truthful account of material PTSIP-related knowledge reasonably obtained during the reporting period.
150
+
151
+ ## Final Commercial Cooperation Report
152
+
153
+ Use the annual report template and add:
154
+
155
+ ### Commercial Use end date
156
+
157
+ ### Reason use ended
158
+
159
+ ### Remaining deployed or maintained PTSIP-related material
160
+ Explain whether any PTSIP or PTSIP-Derived Material continues to materially enable the commercial activity.
161
+
162
+ ### Outstanding obligations
163
+ List any Material Finding or PTSIP modification submission that is still being completed.
164
+
165
+ ## Research Cooperation Report template
166
+
167
+ Title:
168
+
169
+ [License][Research Report] <organization or project> <reporting period>
170
+
171
+ Body:
172
+
173
+ ### Research purpose
174
+
175
+ ### Research period
176
+
177
+ ### PTSIP License version — REQUIRED
178
+
179
+ ### PTSIP versions / immutable revisions — REQUIRED
180
+ Provide at least one precise identifier; include both when reasonably available.
181
+
182
+ ### Research environment and integrations
183
+
184
+ ### Compatibility observations
185
+
186
+ ### Policy or architecture observations
187
+
188
+ ### Failures or unexpected behavior
189
+
190
+ ### PTSIP modifications
191
+
192
+ ### Improvement suggestions
193
+
194
+ ### Publications or presentations
195
+ Links if public and available.
196
+
197
+ ### Protected information
198
+ Identify only the category of information omitted; do not disclose protected content.
199
+
200
+ ## Research Cooperation Summary template
201
+
202
+ Title:
203
+
204
+ [License][Research Summary] <organization or project>
205
+
206
+ Body:
207
+
208
+ ### Research purpose and outcome
209
+
210
+ ### PTSIP License version — REQUIRED
211
+
212
+ ### PTSIP versions / immutable revisions — REQUIRED
213
+ Provide at least one precise identifier; include both when reasonably available.
214
+
215
+ ### Duration of material PTSIP use
216
+
217
+ ### Most useful PTSIP behavior
218
+
219
+ ### Most limiting or unclear PTSIP behavior
220
+
221
+ ### Compatibility findings
222
+
223
+ ### Material findings already reported
224
+ Links:
225
+
226
+ ### PTSIP modifications or improvements returned
227
+ Links:
228
+
229
+ ### Publication, presentation, or report
230
+ Link if public and available.
231
+
232
+ ## Material Finding template
233
+
234
+ Title:
235
+
236
+ [License][Material Finding] <short description>
237
+
238
+ Body:
239
+
240
+ ### PTSIP License version — REQUIRED
241
+
242
+ ### PTSIP version / immutable revision — REQUIRED
243
+ Provide at least one precise identifier; include both when reasonably available.
244
+
245
+ ### Finding category
246
+ Policy ambiguity / false positive / false negative / compatibility / agent behavior / conformance / security / other
247
+
248
+ ### Summary
249
+
250
+ ### Expected behavior
251
+
252
+ ### Observed behavior
253
+
254
+ ### Reproduction information
255
+ Provide only non-confidential information.
256
+
257
+ ### Impact
258
+
259
+ ### Workaround, if known
260
+
261
+ ### Related PTSIP modification, if any
262
+
263
+ ## Compliance timing principle
264
+
265
+ The compliance periods in the PTSIP License are intended to encourage voluntary cooperation and reasonable correction, not to create traps for users acting in good faith.
266
+
267
+ A missed ordinary deadline begins the cure process defined in LICENSE rather than being treated as a reason for immediate punitive action.
268
+
269
+ ## Reporting anniversary
270
+
271
+ The normal commercial reporting anniversary is based on the first Commercial Use date stated in the registration.
272
+
273
+ Example:
274
+
275
+ First Commercial Use: 2026-10-15
276
+ First annual reporting period ends: 2027-10-14
277
+ First report due: 2028-01-12
278
+
279
+ A correction, late report, suspension, or automatic reinstatement does not reset that anniversary unless the applicable License or a later written agreement expressly says otherwise.
280
+
281
+ ## Updating a registration
282
+
283
+ A new registration is not required for every internal change.
284
+
285
+ Update or add a registration when Commercial Use changes materially, such as:
286
+
287
+ - a materially different product or service;
288
+ - a materially different legal entity;
289
+ - a move from research-only use into Commercial Use;
290
+ - resumed Commercial Use after a real end of use;
291
+ - a materially different commercial use category not reasonably covered by the existing record.
292
+
293
+ Minor product renames, team changes, routine version upgrades, or ordinary technical refactoring do not by themselves require a new registration.
294
+
295
+ ## No profit statement required
296
+
297
+ PTSIP does not ask Commercial Users to prove profit, revenue, or PTSIP-attributable financial return.
298
+
299
+ The duty follows Commercial Use, not profitability.
300
+
301
+ A report may state that a metric was not measured. That does not remove the obligation to provide other reasonably available PTSIP-related knowledge.
@@ -0,0 +1,159 @@
1
+ # PTSIP License Guide
2
+
3
+ This guide explains PTSIP Community Reciprocity License 1.0 in plain language.
4
+
5
+ **Effective Time:** `2026-09-15T00:00:00Z` (UTC). It is not a substitute for LICENSE.md. If this guide conflicts with LICENSE.md, LICENSE.md controls.
6
+
7
+ ## Core philosophy
8
+
9
+ > PTSIP does not require contribution as a price for access. PTSIP requires reciprocity so that knowledge gained through PTSIP does not become a one-way private benefit.
10
+
11
+ PTSIP is publicly available because the project is intended to be inspected, used, tested, improved, and shared. The license is not designed primarily to collect money. It is designed to preserve original authorship and to make organized or commercial users return useful PTSIP-related knowledge and improvements when they obtain them.
12
+
13
+ This is a source-available community reciprocity license. It is not an OSI-approved Open Source license.
14
+
15
+ ## Quick guide
16
+
17
+ | Use | Allowed? | Main duties |
18
+ | --- | --- | --- |
19
+ | Personal private, noncommercial use | Yes | Keep notices in copies; no registration or periodic report |
20
+ | Public noncommercial redistribution | Yes | Attribution; keep PTSIP-derived portions under this license |
21
+ | Modified PTSIP distribution | Yes | Attribution; make the PTSIP-derived source available under this license |
22
+ | Educational use | Yes | Attribution; institutional long-term use follows research reciprocity |
23
+ | Institutional or company research | Yes | Attribution; annual lightweight report after 12 months; Material Findings shared |
24
+ | Commercial development before revenue | Yes | Commercial registration and cooperation duties apply |
25
+ | Commercial use with zero revenue or operating loss | Yes | Same commercial duties; profit is not the trigger |
26
+ | Internal company use that saves time, AI credits, or development cost | Yes | Commercial duties when used for a business purpose |
27
+ | Competing product | Yes | Attribution if PTSIP material is used; commercial reciprocity if used commercially |
28
+ | AI training or agent development | Yes | Attribution plus research or commercial reciprocity as applicable |
29
+ | Independent implementation of a similar idea without copying PTSIP expression | Not restricted by this license solely because of similarity | Do not falsely claim PTSIP authorship or official status |
30
+
31
+ ## What counts as Commercial Use?
32
+
33
+ Commercial Use is based on purpose, not accounting results.
34
+
35
+ It includes use intended to develop, operate, support, improve, market, sell, or materially enable a business activity. Revenue does not need to exist.
36
+
37
+ Examples that remain Commercial Use:
38
+
39
+ - a paid product that has not launched yet;
40
+ - a startup product with zero revenue;
41
+ - a product or company operating at a loss;
42
+ - a free beta intended to become a business;
43
+ - an advertising-supported or customer-acquisition service;
44
+ - internal use that reduces development cost, context use, reasoning cost, token use, or coding-agent credits;
45
+ - consulting or client work;
46
+ - an investment-funded commercial development project.
47
+
48
+ A company does not avoid cooperation duties by saying that it cannot measure how much profit came from PTSIP.
49
+
50
+ ## Research can be long or short
51
+
52
+ PTSIP does not require a project to predict when research will end.
53
+
54
+ Institutional Research Use:
55
+
56
+ - requires attribution;
57
+ - requires an annual Research Cooperation Report only after use continues for more than 12 months;
58
+ - requires a Research Cooperation Summary when material research ends or is first materially published if the same period has not already been substantially reported;
59
+ - requires Material Findings to be shared within the period defined in LICENSE.
60
+
61
+ If a research project later becomes a commercial development effort, commercial duties begin when the Commercial Purpose begins. Earlier research duties do not disappear.
62
+
63
+ ## What must be shared?
64
+
65
+ PTSIP asks for PTSIP-related knowledge, not unrelated company secrets.
66
+
67
+ Useful reciprocity may include:
68
+
69
+ - compatibility results;
70
+ - coding-agent behavior findings;
71
+ - policy ambiguities;
72
+ - false positives and false negatives;
73
+ - failure patterns;
74
+ - test or evaluation results;
75
+ - reproducible examples;
76
+ - anonymized or aggregated usage observations;
77
+ - documentation corrections;
78
+ - architecture or policy proposals;
79
+ - PTSIP patches and modifications.
80
+
81
+ The license does not require disclosure of unrelated proprietary product code, customer-confidential information, credentials, personal information, or unrelated trade secrets.
82
+
83
+ ## What if nothing went wrong?
84
+
85
+ You are not required to invent defects or send meaningless patches.
86
+
87
+ A valid report may truthfully say that no material defect was found. It must still identify the real use context, PTSIP version, relevant environment, integrations, and other required information that is reasonably available.
88
+
89
+ The purpose is to return actual knowledge gained through use.
90
+
91
+ ## Code reuse and PTSIP architecture
92
+
93
+ The license protects copyrightable PTSIP expression rather than claiming ownership of every similar software idea.
94
+
95
+ Protected material includes PTSIP-specific code, Specification text, schemas, policy definitions, rule identifiers, conformance vectors, documentation, and copyrightable selection or arrangement.
96
+
97
+ Examples likely to remain PTSIP-derived when PTSIP material was used as the source include:
98
+
99
+ - porting PTSIP code from Python to another language;
100
+ - translating PTSIP normative text into a machine contract;
101
+ - copying PTSIP schemas and renaming fields;
102
+ - using PTSIP source or Specification as input to an AI system and distributing the transformed implementation;
103
+ - reproducing a substantial distinctive arrangement of PTSIP-specific protected material.
104
+
105
+ A separately created implementation is not automatically PTSIP-derived merely because it independently reaches a similar general architecture or method.
106
+
107
+ There is therefore no fragile list of specific module paths that must be updated whenever PTSIP is refactored.
108
+
109
+ ## Standing Commercial Authorization
110
+
111
+ Commercial users do not need to wait for individual approval.
112
+
113
+ A commercial user receives Standing Commercial Authorization by:
114
+
115
+ 1. expressly accepting the applicable PTSIP License and Commercial Cooperation Duty;
116
+ 2. identifying the PTSIP version or immutable revision actually used;
117
+ 3. registering within 90 days of first Commercial Use; and
118
+ 4. continuing to satisfy attribution and cooperation duties.
119
+
120
+ There is no default monetary license fee.
121
+
122
+ See COMMERCIAL-USE.md for the current registration and reporting procedure.
123
+
124
+ ## Missed reports and correction
125
+
126
+ The license is designed to prefer correction over punishment.
127
+
128
+ Ordinary missed obligations have a 90-day cure period. The compliance periods are intended to encourage voluntary cooperation and reasonable correction, not to create traps for users acting in good faith. If the user cures the omission, ordinary suspended authorization can be automatically reinstated.
129
+
130
+ Intentional attribution falsification, deliberately false reporting, concealment, or repeated attempts to evade reciprocity are treated more seriously.
131
+
132
+ ## Project decisions and shared improvement
133
+
134
+ PTSIP supports project decisions; it does not replace the user's authority over the user's own project. Users decide how PTSIP guidance, classifications, validation results, and conformance results are applied in their own environments.
135
+
136
+ A PTSIP conformance result means conformance to the applicable PTSIP rules. It is not intended as a general certification of every quality or property of the surrounding project.
137
+
138
+ The cooperation model exists so that useful findings and improvements can return to the community. Reporting a finding does not make the reporter responsible for another user's independent application of PTSIP, and receiving a finding does not create a promise that the project will implement a particular correction within a particular period.
139
+
140
+ ## AI use
141
+
142
+ PTSIP may be used for training, fine-tuning, evaluation, dataset construction, agent development, or compatibility testing.
143
+
144
+ PTSIP attribution should appear in a reasonably discoverable model card, dataset record, training record, system documentation, technical documentation, research record, or equivalent place. The license does not require every model output to repeat the notice.
145
+
146
+ Commercial AI use follows commercial reciprocity. Institutional noncommercial AI research follows research reciprocity.
147
+
148
+ ## Historical license versions
149
+
150
+ The license attached to a particular PTSIP revision governs the permissions granted with that copy, subject to applicable law.
151
+
152
+ Later PTSIP license versions do not silently rewrite earlier copies. A later PTSIP release may use a later license and may require acceptance of that later license for that later release.
153
+
154
+ ## Project files
155
+
156
+ - [LICENSE.md](LICENSE.md) — controlling license text
157
+ - [NOTICE.md](NOTICE.md) — standard attribution text
158
+ - [LICENSE-GUIDE.md](LICENSE-GUIDE.md) — this plain-language guide
159
+ - [COMMERCIAL-USE.md](COMMERCIAL-USE.md) — Standing Commercial Authorization, registration, and cooperation submission procedure
@@ -0,0 +1,15 @@
1
+ # PTSIP License History
2
+
3
+ This file records licensing-policy provenance for the PTSIP project. It is informational unless LICENSE.md expressly incorporates a statement from this file.
4
+
5
+ ## PTSIP Community Reciprocity License 1.0
6
+
7
+ - License identifier: `LicenseRef-PTSIP-Community-Reciprocity-1.0`
8
+ - Effective Time: `2026-09-15T00:00:00Z`
9
+ - Time basis: Coordinated Universal Time (UTC)
10
+ - Status before Effective Time: published in advance for notice and preparation
11
+ - Effect: prospective from the Effective Time; not retroactive
12
+
13
+ The exact PTSIP material used by a registrant or reporting party must be identified by a PTSIP version or immutable revision. Where both a version and immutable revision are reasonably available, both should be recorded.
14
+
15
+ Earlier PTSIP revisions may have been distributed under different license terms. This history does not revoke, rewrite, or invalidate rights that validly attached to an earlier copy under the license applicable to that copy.