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,403 @@
1
+ {
2
+ "schema_version": "ptsip-support-root-family-policy/v1",
3
+ "policy_class": "PTSIP_SUPPORT_FEATURE",
4
+ "responsibility_family": "RECORD",
5
+ "policy": {
6
+ "id": "SFP-RECORD-0003",
7
+ "title": "Engine simulation and operational evidence provenance (DRAFT)",
8
+ "status": "DRAFT"
9
+ },
10
+ "authority_subject": {
11
+ "id": "SUP_OBSERVATION_AND_OPERATION_PROVENANCE",
12
+ "statement": "PTSIP Engine approved-direction draft; does not activate runtime semantics or supersede existing ACTIVE authority."
13
+ },
14
+ "exclusive_kernel": [
15
+ "SUP_OBSERVATION_RECEIPT_SOURCE_BINDING",
16
+ "SUP_TRACEABILITY_RETENTION_AND_RETRIEVAL"
17
+ ],
18
+ "authority_contract": {
19
+ "authority_type": "ROOT_FAMILY_RECORD",
20
+ "schema_id": "ptsip.governance/root-family/record",
21
+ "schema_version": 1
22
+ },
23
+ "authority_semantics": {
24
+ "family_definition": {
25
+ "kernel_definitions": [
26
+ {
27
+ "id": "SUP_OBSERVATION_RECEIPT_SOURCE_BINDING",
28
+ "statement": "report와 receipt를 실제 관측 repository/profile/authority revision 및 Artifact snapshot에 결합하고 다른 시점의 결과를 섞지 않는다.",
29
+ "non_substitutability": "ASSURE의 conformance 판정이나 CTRL의 실행 허용은 그 결과의 재확인 가능한 source provenance를 자동 보존하지 않는다."
30
+ },
31
+ {
32
+ "id": "SUP_TRACEABILITY_RETENTION_AND_RETRIEVAL",
33
+ "statement": "operation identity, observed evidence와 판단 출처의 보존 및 조회를 정한다. 기록은 새로운 global authority나 live canonical source가 되지 않는다.",
34
+ "non_substitutability": "GOV의 현재 winner나 INFO의 semantic source는 이전 사건의 history와 원본 receipt를 대체하지 못한다."
35
+ }
36
+ ],
37
+ "source_scope": []
38
+ },
39
+ "unit_ptsip_engine_draft": {
40
+ "domain": "PTSIP_ENGINE",
41
+ "draft_activation": "BLOCKED_PENDING_USER_REVIEW_AND_RESOLUTION",
42
+ "approved_decisions": {
43
+ "evidence_tracks": [
44
+ "ISOLATED_SIMULATION",
45
+ "OPERATIONAL_OBSERVATION"
46
+ ],
47
+ "reuse_requires_current_conditions_applicability": true,
48
+ "outcome_provenance": "ENGINE_VERSION_CONTRACT_SOURCE_ENVIRONMENT_WORKLOAD_EVALUATION_OBJECTIVE",
49
+ "cached_record_is_not_new_authority": true,
50
+ "recording_a_success_is_not_conformance": true,
51
+ "startup_reporting_option": "A_USER_EXPLICIT",
52
+ "startup_reporting_decision_recorded_at": "2026-10-11",
53
+ "startup_reporting_scope": "FAILED_OR_INELIGIBLE_ENGINE_ONLY",
54
+ "startup_reporting_includes_unverified_as_ineligible": true,
55
+ "startup_reporting_requires_full_successful_engine_inventory": false,
56
+ "startup_reporting_requires_per_successful_engine_status": false,
57
+ "startup_reporting_requires_success_only_summary": false,
58
+ "startup_reporting_is_not_complete_engine_runtime_state": false,
59
+ "startup_reporting_result_semantics_owner": "SFP-CTRL-0002",
60
+ "mandatory_operation_provenance_unchanged": true,
61
+ "error_report_payload_contract": "PLAN_AND_MACHINE_CONTRACT",
62
+ "startup_failure_report_information_choice": "B_USER_EXPLICIT",
63
+ "startup_failure_report_information_decision_recorded_at": "2026-10-11",
64
+ "startup_reporting_required_information": [
65
+ "REGISTERED_ENGINE_IDENTITY",
66
+ "ACTIVATION_OR_ELIGIBILITY_FAILURE_TYPE",
67
+ "UNMET_REGISTERED_CONTRACT_OR_VERIFICATION_CONDITION_REFERENCE"
68
+ ],
69
+ "failure_reference_semantic_scope": "CURRENT_APPLICABLE_REGISTERED_CONTRACT_OR_MACHINE_VERIFICATION_CONDITION",
70
+ "failure_reference_provenance": "MACHINE_VERIFIED_SOURCE_AND_OBSERVED_ACTIVATION_CONTEXT",
71
+ "unverified_reference_cannot_be_claimed_as_verified": true,
72
+ "failure_report_payload_format_authority": "PLAN_AND_MACHINE_CONTRACT",
73
+ "startup_reporting_success_inventory_requirement": "NOT_REQUIRED_UNCHANGED",
74
+ "startup_unverifiable_failure_reference_handling": "A_EMIT_SEPARATE_INCOMPLETE_DIAGNOSTIC",
75
+ "startup_unverifiable_failure_reference_approval": "USER_EXPLICIT_OPTION_A",
76
+ "startup_unverifiable_failure_reference_decided_at": "2026-10-11",
77
+ "startup_incomplete_diagnostic_disposition": "REPORT_ONLY_VERIFIED_FACTS_AND_EXPLICITLY_MARK_REFERENCE_UNVERIFIED",
78
+ "startup_complete_failure_report_requires_validated_condition_reference": true,
79
+ "startup_incomplete_diagnostic_status_authority": "RECORD_REPORT_COMPLETENESS_ONLY_NOT_ASSURE_CONFORMANCE",
80
+ "startup_diagnostic_report_payload_shape": "PLAN_AND_MACHINE_CONTRACT",
81
+ "startup_failure_diagnostic_history_retention": "EXISTING_MANDATORY_RECORD_ONLY_NO_ADDITIONAL_STARTUP_DIAGNOSTIC_HISTORY",
82
+ "startup_failure_diagnostic_history_retention_choice": "A_USER_EXPLICIT",
83
+ "startup_failure_diagnostic_history_retention_decided_at": "2026-10-11",
84
+ "startup_failure_diagnostic_separate_history_required_for_current_release": false,
85
+ "startup_incomplete_diagnostic_separate_history_required_for_current_release": false,
86
+ "existing_mandatory_record_retention_policy_ref": "SFP-RECORD-0001",
87
+ "current_release_diagnostic_reporting_not_conditional_on_separate_history_persistence": true,
88
+ "separate_diagnostic_history_future_requirement": "NOT_APPROVED_REQUIRES_SEPARATE_POLICY_DECISION",
89
+ "evidence_cache_invalidation_judgment_choice": "B_USER_EXPLICIT",
90
+ "evidence_cache_invalidation_judgment_recorded_at": "2026-10-11",
91
+ "evidence_cache_invalidation_judgment_timing": "AT_EACH_REUSE_REQUEST",
92
+ "evidence_cache_reuse_required_validation": [
93
+ "CURRENT_APPLICABLE_NORMATIVE_CONTRACT",
94
+ "CURRENT_VERIFIED_SOURCE_AND_RELEVANT_DEPENDENCIES",
95
+ "CURRENT_APPLICABILITY_CONDITIONS"
96
+ ],
97
+ "evidence_cache_reuse_eligibility": "ONLY_IF_ALL_CURRENT_REUSE_OBLIGATIONS_MACHINE_VERIFIED",
98
+ "cache_verification_missing_unknown_invalid_or_mismatch": "NOT_REUSABLE",
99
+ "invalid_evidence_cache_outcome": "REUSE_ELIGIBILITY_REJECTED_NOT_SOURCE_RECORD_DELETION",
100
+ "eager_change_triggered_cache_invalidation": "DEFERRED_NOT_CURRENT_RELEASE_REQUIRED",
101
+ "eager_change_triggered_cache_invalidation_future_authorization": "SEPARATE_USER_POLICY_APPROVAL_REQUIRED",
102
+ "cache_reuse_verdict_authority": "SFP-ASSURE-0004",
103
+ "mandatory_evidence_provenance_retention": "UNCHANGED_SFP_RECORD_0001",
104
+ "evidence_cache_cleanup_policy_choice": "B_USER_EXPLICIT",
105
+ "evidence_cache_cleanup_policy_decision_date": "2026-10-11",
106
+ "evidence_cache_cleanup_direction": "AUTOMATIC_CLEANUP_ALLOWED_AFTER_MACHINE_VERIFIED_RETENTION_RELEASE_AND_SEPARATE_EXECUTION_AUTHORIZATION",
107
+ "evidence_cache_cleanup_candidate_scope": "PROVEN_DISPOSABLE_NON_AUTHORITATIVE_DERIVED_EVIDENCE_CACHE_ONLY",
108
+ "evidence_cache_cleanup_prerequisites": [
109
+ "ASSURE_VERIFIED_REUSE_INELIGIBILITY",
110
+ "MACHINE_VERIFIED_NO_APPLICABLE_RETENTION_OR_REFERENCE_OBLIGATION",
111
+ "VERIFIED_DISJOINT_FROM_ORIGINAL_EVIDENCE_AND_MANDATORY_RECORDS",
112
+ "FRESH_EFFECTIVE_CTRL_OPERATION_SPECIFIC_CLEANUP_AUTHORIZATION",
113
+ "REAL_COMPLIANT_MUTATION_INTEGRITY_AND_READ_ONLY_BOUNDARY"
114
+ ],
115
+ "cache_reuse_ineligibility_alone_grants_cleanup_authorization": false,
116
+ "cleanup_without_machine_verified_retention_release": "FORBIDDEN",
117
+ "cleanup_without_fresh_effective_mutation_authority": "FORBIDDEN",
118
+ "cleanup_target_is_original_evidence_or_mandatory_record": "FORBIDDEN",
119
+ "cleanup_trigger_or_schedule": "REUSE_INELIGIBILITY_EVENT_AS_CLEANUP_CANDIDATE_ONLY",
120
+ "cleanup_execution_and_failure_contract": "PLAN_AND_MACHINE_CONTRACT_WITH_EXISTING_CTRL_REAL_OPS",
121
+ "no_new_record_retention_override": true,
122
+ "evidence_cache_cleanup_trigger_choice": "A_USER_EXPLICIT",
123
+ "evidence_cache_cleanup_trigger_decision_date": "2026-10-11",
124
+ "cleanup_attempt_boundary": "SEPARATE_FRESHLY_AUTHORIZED_MUTATING_OPERATION",
125
+ "cleanup_trigger_grants_execution_authority": false,
126
+ "cleanup_trigger_grants_retention_release": false,
127
+ "cleanup_trigger_alone_requires_inline_deletion": false,
128
+ "cleanup_independent_periodic_scan_required_for_current_release": false,
129
+ "cleanup_read_only_reuse_validation_side_effect": "NONE",
130
+ "cleanup_retry_or_secondary_scheduling": "PLAN_WITHOUT_NEW_AUTHORITY"
131
+ },
132
+ "invariants": {
133
+ "every_record_keeps_origin_and_observation_context": true,
134
+ "unlike_conditions_must_not_be_silently_merged": true,
135
+ "provenance_identity_must_remain_queryable": true,
136
+ "selection_winner_not_defined_by_most_recent_receipt": true,
137
+ "startup_external_report_may_omit_eligible_successful_engine_entries": true,
138
+ "startup_external_report_must_include_failed_or_ineligible_engine_entries": true,
139
+ "no_failed_entry_must_not_be_inferred_as_all_engines_verified_or_active": true,
140
+ "incomplete_external_startup_report_must_not_be_treated_as_complete_activation_state": true,
141
+ "startup_report_filtering_cannot_suppress_mandatory_operation_receipts": true,
142
+ "per_engine_outcome_and_identity_preservation_unaffected": true,
143
+ "source_bound_record_provenance_and_retention_unchanged": true,
144
+ "failure_report_cannot_create_execution_write_or_retry_authority": true,
145
+ "report_visibility_choice_does_not_activate_draft_runtime": true,
146
+ "each_reported_startup_failure_requires_registered_engine_identity": true,
147
+ "each_reported_startup_failure_requires_failure_type": true,
148
+ "each_reported_startup_failure_requires_unmet_contract_or_verification_condition_reference": true,
149
+ "reference_must_resolve_to_applicable_registered_contract_or_verification_gate": true,
150
+ "failed_condition_reference_must_correspond_to_observed_failure_context": true,
151
+ "ai_inferred_or_fabricated_failure_condition_reference": "FORBIDDEN",
152
+ "invalid_or_unverifiable_reference_must_not_be_reported_as_verified": true,
153
+ "engine_identity_and_reference_scope_must_not_be_silently_cross_bound": true,
154
+ "new_required_report_information_does_not_require_success_engine_inventory": true,
155
+ "required_failure_report_information_does_not_grant_execution_retry_or_write_authority": true,
156
+ "reporting_contract_decision_does_not_activate_engine_runtime": true,
157
+ "missing_or_unverifiable_condition_reference_requires_incomplete_diagnostic": true,
158
+ "incomplete_diagnostic_only_contains_verified_facts": true,
159
+ "incomplete_diagnostic_must_explicitly_identify_reference_as_unverified": true,
160
+ "incomplete_diagnostic_must_not_be_marked_complete_failure_report": true,
161
+ "missing_reference_must_not_be_fabricated_or_synthetically_resolved": true,
162
+ "incomplete_report_status_does_not_override_assure_conformance_judgment": true,
163
+ "incompleteness_does_not_grant_execution_or_reuse_eligibility": true,
164
+ "failed_or_ineligible_engine_remains_inactive_unless_fresh_eligibility_passes": true,
165
+ "independent_eligible_engines_can_remain_active": true,
166
+ "existing_mandatory_record_provenance_preserved": true,
167
+ "incomplete_diagnostic_policy_does_not_activate_engine_runtime": true,
168
+ "no_extra_startup_diagnostic_history_retention_obligation_current_release": true,
169
+ "failure_or_incomplete_diagnostic_report_does_not_imply_separate_history_persistence": true,
170
+ "preexisting_mandatory_receipts_and_provenance_requirements_remain_binding": true,
171
+ "diagnostic_reporting_scope_and_required_failure_information_unchanged": true,
172
+ "incompleteness_diagnostic_resolution_unchanged": true,
173
+ "absence_of_separate_diagnostic_history_must_not_erase_mandatory_record": true,
174
+ "retention_scope_choice_does_not_authorize_record_deletion": true,
175
+ "retention_scope_choice_does_not_authorize_new_writes": true,
176
+ "future_separate_history_requirement_needs_separate_user_policy_authorization": true,
177
+ "retention_scope_decision_does_not_activate_engine_runtime": true,
178
+ "evidence_cache_reuse_must_revalidate_at_each_reuse_request": true,
179
+ "past_cache_validity_or_success_cannot_substitute_current_verification": true,
180
+ "reuse_requires_current_registered_contract_source_and_applicability_checks": true,
181
+ "missing_unknown_or_mismatched_required_validation_blocks_reuse": true,
182
+ "cache_record_presence_does_not_grant_reuse_conformance_or_execution_authority": true,
183
+ "evidence_source_and_mandatory_receipts_must_survive_cache_reuse_rejection": true,
184
+ "cache_ineligibility_is_not_automatic_source_record_deletion": true,
185
+ "validation_authority_remains_assure_and_is_not_created_by_record": true,
186
+ "eager_invalidating_change_watch_is_not_current_release_obligation": true,
187
+ "deferred_eager_watch_not_automatically_authorized": true,
188
+ "prior_approved_engine_state_exact_match_policy_scope_unchanged": true,
189
+ "missing_evidence_reuse_does_not_authorize_unverified_automatic_recomputation": true,
190
+ "cached_evidence_plan_contract_methods_not_resolved_by_policy_choice": true,
191
+ "cache_reuse_timing_direction_does_not_activate_engine_runtime": true,
192
+ "cache_cleanup_may_be_automated_only_after_separate_cleanup_eligibility_and_execution_authorization": true,
193
+ "cache_reuse_denial_is_not_proof_of_retention_release": true,
194
+ "cache_record_absence_of_reference_is_not_proof_of_release": true,
195
+ "unknown_ambiguous_or_unverified_retention_obligation": "FAIL_CLOSED_KEEP",
196
+ "unknown_ambiguous_or_unverified_cleanup_permission": "FAIL_CLOSED_NO_MUTATION",
197
+ "derived_cache_classification_must_be_machine_verified": true,
198
+ "original_evidence_cannot_be_targeted_by_cache_cleanup": true,
199
+ "mandatory_record_receipts_provenance_and_history_cannot_be_targeted_by_cache_cleanup": true,
200
+ "retention_protection_precedes_cleanup_optimization": true,
201
+ "cleanup_does_not_create_new_retention_deletion_or_authorization_authority": true,
202
+ "cleanup_eligibility_judgment_is_not_execution_or_write_permission": true,
203
+ "cleanup_must_not_modify_read_only_operation_side_effects": true,
204
+ "separately_approved_activation_draft_not_automatically_activated": true,
205
+ "cleanup_trigger_not_silently_decided_by_permission_direction": true,
206
+ "evidence_cache_reuse_denial_may_identify_cleanup_candidate": true,
207
+ "cleanup_candidate_recognition_is_not_cleanable_proof": true,
208
+ "no_inline_mutation_from_read_only_reuse_check": true,
209
+ "candidate_trigger_does_not_bypass_retention_reference_or_source_separation_proof": true,
210
+ "candidate_trigger_does_not_bypass_fresh_ctrl_delegation_and_real_write_integrity": true,
211
+ "no_cleanup_of_uncertain_or_incomplete_evidence_without_verified_release": true,
212
+ "standalone_cleanup_sweep_not_required_for_current_release": true,
213
+ "automatic_cleanup_attempt_rechecks_all_gates_at_actual_execution": true,
214
+ "cleanup_trigger_selection_does_not_activate_draft_runtime": true,
215
+ "cleanup_failure_must_preserve_mandatory_record_and_original_evidence": true,
216
+ "cleanup_failure_cannot_be_reclassified_as_success_due_to_other_successful_operations": true,
217
+ "cleanup_failure_record_information_does_not_grant_recovery_or_write_permission": true,
218
+ "cleanup_failure_unknown_effect_requires_ops_safety_classification": true,
219
+ "cleanup_retry_must_preserve_original_evidence_and_mandatory_records": true,
220
+ "cleanup_retry_may_not_infer_rollback_from_failed_attempt": true,
221
+ "cleanup_retry_policy_does_not_grant_deletion_authority": true
222
+ },
223
+ "unresolved_decisions": [
224
+ {
225
+ "id": "EVIDENCE_RECORD_AND_CACHE_DATA_MODEL",
226
+ "kind": "CONTRACT_DESIGN",
227
+ "status": "UNRESOLVED"
228
+ },
229
+ {
230
+ "id": "EVIDENCE_RETENTION_AND_INVALIDATION_HANDOFF",
231
+ "kind": "CONTRACT_DESIGN",
232
+ "status": "UNRESOLVED"
233
+ }
234
+ ],
235
+ "activation_requirements": {
236
+ "owner_decisions_all_resolved": true,
237
+ "responsibility_mapping_verified": true,
238
+ "conflicts_with_existing_active_policies_resolved": true,
239
+ "machine_contract_and_registry_validation_passed": true,
240
+ "explicit_separate_user_active_approval_required": true
241
+ },
242
+ "out_of_scope": [
243
+ "IMMEDIATE_RUNTIME_ACTIVATION",
244
+ "EXISTING_ACTIVE_POLICY_MUTATION",
245
+ "UNAPPROVED_DIRECTORY_NAMES",
246
+ "IMPLICIT_POLICY_AUTHORITY_TRANSFER"
247
+ ],
248
+ "startup_failure_only_report_direction": {
249
+ "policy_subject": "ENGINE_STARTUP_EXTERNAL_REPORT_SCOPE",
250
+ "current_release": "FAILURE_AND_INELIGIBILITY_ONLY",
251
+ "report_population": [
252
+ "ACTIVATION_FAILED",
253
+ "ELIGIBILITY_NOT_MET",
254
+ "ELIGIBILITY_UNVERIFIED"
255
+ ],
256
+ "full_successful_engine_inventory": "NOT_REQUIRED",
257
+ "successful_engine_status_listing": "NOT_REQUIRED",
258
+ "separate_complete_operational_state_view": "NOT_AUTHORIZED_BY_THIS_DECISION",
259
+ "failure_identity_and_reason_contract": "PLAN_AND_MACHINE_CONTRACT",
260
+ "applies_to": "STARTUP_REPORTING_ONLY",
261
+ "invariant_reference": "SFP-CTRL-0002.startup_partial_failure_direction",
262
+ "retained_engine_identity_and_activation_outcome": "PRESERVE_EXISTING_INTERNAL_RESPONSIBILITY",
263
+ "existing_operation_provenance_reporting_and_receipt_obligations": "UNCHANGED",
264
+ "unrelated_mandatory_validation_report_requirements": "UNCHANGED",
265
+ "no_runtime_activation": "DRAFT_ONLY",
266
+ "required_information": [
267
+ "REGISTERED_ENGINE_IDENTITY",
268
+ "FAILURE_TYPE",
269
+ "UNMET_REGISTERED_CONTRACT_OR_MACHINE_VERIFICATION_CONDITION_REF"
270
+ ],
271
+ "reference_requirement": "EXISTING_REGISTERED_AND_MACHINE_RESOLVABLE",
272
+ "reference_validation": "CURRENT_APPLICABLE_GATE_AND_OBSERVED_FAILURE_BOUND",
273
+ "no_inferred_references": true,
274
+ "missing_or_unresolvable_reference_handling": "SEPARATE_INCOMPLETE_DIAGNOSTIC_VERIFIED_FACTS_ONLY",
275
+ "payload_serialization_and_field_names": "PLAN_AND_MACHINE_CONTRACT",
276
+ "complete_report_requires_verifiable_condition_reference": true,
277
+ "incomplete_diagnostic_ref": "startup_incomplete_diagnostic_handling"
278
+ },
279
+ "startup_incomplete_diagnostic_handling": {
280
+ "decision": "A_SEPARATE_INCOMPLETE_DIAGNOSTIC",
281
+ "trigger": "REQUIRED_FAILED_CONDITION_REFERENCE_MISSING_OR_UNVERIFIABLE",
282
+ "report_class": "ENGINE_STARTUP_FAILURE_DIAGNOSTIC",
283
+ "report_completeness": "INCOMPLETE",
284
+ "confirmed_information_policy": "VERIFIED_FACTS_ONLY",
285
+ "reference_status": "EXPLICITLY_UNVERIFIED",
286
+ "completed_failure_report_status": "NOT_GRANTED",
287
+ "required_full_report_reference_policy": "UNCHANGED_VERIFIED_REGISTERED_CONTRACT_OR_CONDITION_REF",
288
+ "incomplete_reference_must_not_be_fabricated": true,
289
+ "assure_conformance_result": "NOT_INFERRED_FROM_REPORT_COMPLETENESS",
290
+ "target_engine_activation_eligibility": "UNCHANGED_FAIL_CLOSED",
291
+ "independent_engine_activation": "UNCHANGED",
292
+ "failure_report_reference_restoration_and_resolution": "PLAN_OR_SEPARATE_POLICY",
293
+ "concrete_schema": "PLAN_AND_MACHINE_CONTRACT",
294
+ "current_effect": "DRAFT_ONLY_NO_RUNTIME_ACTIVATION"
295
+ },
296
+ "startup_failure_diagnostic_retention_boundary": {
297
+ "policy_subject": "ENGINE_STARTUP_FAILURE_DIAGNOSTIC_SEPARATE_HISTORY_RETENTION",
298
+ "current_release": "NO_EXTRA_DIAGNOSTIC_HISTORY_RETENTION_OBLIGATION",
299
+ "existing_authority": "SFP-RECORD-0001",
300
+ "mandatory_record_and_source_provenance": "PRESERVED",
301
+ "covers_diagnostic_completeness": [
302
+ "COMPLETE_FAILURE_REPORT",
303
+ "INCOMPLETE_DIAGNOSTIC"
304
+ ],
305
+ "report_emission_obligation": "UNCHANGED",
306
+ "report_completeness_semantics": "UNCHANGED",
307
+ "separate_diagnostic_persistence_required": false,
308
+ "absence_of_extra_history_not_sufficient_to_discard_existing_mandatory_receipt": true,
309
+ "optional_future_history_policy": "SEPARATE_USER_APPROVAL_REQUIRED",
310
+ "retention_execution_and_serialization": "PLAN_SUBJECT_TO_ACTIVE_RECORD_AND_REAL_AUTHORITY",
311
+ "implementation_status": "DRAFT_ONLY_NO_RUNTIME_ACTIVATION"
312
+ },
313
+ "evidence_cache_reuse_eligibility_direction": {
314
+ "policy_subject": "EVIDENCE_CACHE_REUSE_ELIGIBILITY_DECISION_TIME",
315
+ "selected_option": "B_VALIDATE_ON_REUSE",
316
+ "current_release_reuse_decision_trigger": "EACH_CACHE_REUSE_REQUEST",
317
+ "mandatory_current_verification": [
318
+ "CURRENT_APPLICABLE_NORMATIVE_CONTRACT",
319
+ "VERIFIED_CURRENT_SOURCE_AND_DEPENDENCIES",
320
+ "REGISTERED_APPLICABILITY_CONDITIONS"
321
+ ],
322
+ "verification_verdict_owner": "ASSURE",
323
+ "record_provenance_and_history_owner": "RECORD",
324
+ "unverified_missing_ambiguous_incompatible": "DENY_REUSE_FAIL_CLOSED",
325
+ "valid_on_request": "ELIGIBLE_ONLY_SUBJECT_TO_OTHER_EXISTING_ASSURE_AND_CTRL_GATES",
326
+ "original_evidence_and_mandatory_record_preservation": "REQUIRED",
327
+ "cache_not_reusable_means_source_deletion": false,
328
+ "eager_change_detection": {
329
+ "status": "DEFERRED",
330
+ "current_release_requirement": false,
331
+ "automatically_authorized": false,
332
+ "separate_user_policy_decision_required": true
333
+ },
334
+ "implementation_and_binding_contract": "PLAN_AND_MACHINE_CONTRACT",
335
+ "current_effect": "DRAFT_ONLY_NO_RUNTIME_ACTIVATION"
336
+ },
337
+ "evidence_cache_remaining_contract_design": [
338
+ "REUSE_CHECK_IDENTITY_AND_DEPENDENCY_SNAPSHOT_BINDING",
339
+ "REUSE_VALIDATION_EVIDENCE_AND_ASSURE_HANDOFF",
340
+ "RECORD_RETENTION_AND_CACHE_INVALIDATION_STATUS_HANDOFF"
341
+ ],
342
+ "evidence_cache_cleanup_direction": {
343
+ "policy_subject": "EVIDENCE_CACHE_AUTOMATED_CLEANUP_ELIGIBILITY",
344
+ "approved_option": "B_CONDITIONAL_AUTOMATIC_CLEANUP",
345
+ "scope": "DISPOSABLE_DERIVED_NON_AUTHORITATIVE_EVIDENCE_CACHE_COPIES",
346
+ "not_in_scope": [
347
+ "ORIGINAL_EVIDENCE",
348
+ "MANDATORY_RECORD_RECEIPTS",
349
+ "REQUIRED_PROVENANCE_AND_HISTORY",
350
+ "OTHER_PROTECTED_ARTIFACTS"
351
+ ],
352
+ "eligibility": [
353
+ "CURRENT_ASSURE_REUSE_INELIGIBILITY",
354
+ "MACHINE_VERIFIED_RETENTION_RELEASE_AND_REFERENCE_CLOSURE",
355
+ "MACHINE_VERIFIED_TARGET_SEPARATION_FROM_PRESERVED_ORIGINALS"
356
+ ],
357
+ "execution_gates": [
358
+ "FRESH_EFFECTIVE_CTRL_OPERATION_SPECIFIC_AUTHORIZATION",
359
+ "REAL_PREPARED_MUTATION_INTEGRITY",
360
+ "APPLICABLE_OPS_FAILURE_PRESERVATION"
361
+ ],
362
+ "if_any_proof_missing": "KEEP_TARGET_FAIL_CLOSED",
363
+ "automatic_cleanup": "PERMITTED_ONLY_WITH_ALL_GATES_VERIFIED",
364
+ "cleanup_authorization_created_by_this_draft": false,
365
+ "cache_invalidity_alone_authorizes_deletion": false,
366
+ "source_and_mandatory_records": "MUST_PRESERVE",
367
+ "cleanup_trigger": "ON_EVIDENCE_CACHE_REUSE_INELIGIBILITY_VERDICT",
368
+ "proof_interface_cleanup_operation_and_failure_details": "PLAN_AND_MACHINE_CONTRACT",
369
+ "record_responsibility": "PROVENANCE_AND_RETENTION_ELIGIBILITY_BOUNDARY",
370
+ "ctrl_responsibility": "FRESH_EXECUTION_AUTHORIZATION",
371
+ "real_responsibility": "MUTATION_INTEGRITY",
372
+ "assure_responsibility": "VERIFIED_REUSE_INELIGIBILITY",
373
+ "current_effect": "DRAFT_ONLY_NO_CLEANUP_EXECUTION_OR_ACTIVE_TRANSITION",
374
+ "trigger_effect": "CANDIDATE_IDENTIFICATION_ONLY",
375
+ "attempt_execution_boundary": "SEPARATE_EFFECTIVE_CTRL_AUTHORIZED_REAL_MUTATION",
376
+ "if_verification_is_read_only": "NO_MUTATION_OR_STATE_MATERIALIZATION",
377
+ "check_all_existing_gates_again_at_cleanup_execution": true,
378
+ "background_independent_sweep_current_release_requirement": false,
379
+ "event_buffering_scheduling_and_idempotency": "PLAN_AND_MACHINE_CONTRACT",
380
+ "no_new_execution_rights_from_event": true,
381
+ "failure_scope_policy": "SFP-OPS-0002",
382
+ "failure_scope": "FAILED_CLEANUP_ATTEMPT_AND_PROVEN_AFFECTED_DEPENDENCY_BOUNDARY",
383
+ "unknown_impact_disposition": "FAIL_CLOSED_BLOCK_POTENTIALLY_AFFECTED_WORK",
384
+ "proven_independent_work": "MAY_CONTINUE_WITH_EXISTING_GATES",
385
+ "record_and_original_evidence_preservation_on_failure": "REQUIRED",
386
+ "failed_cleanup_retry_policy_owner": "SFP-OPS-0002",
387
+ "retry_eligibility_requires_rechecked_record_retention_and_source_preservation": true,
388
+ "retry_status_only_after_verified_mutation_effect": true
389
+ }
390
+ }
391
+ },
392
+ "relations": {
393
+ "supersedes": [],
394
+ "amends": [],
395
+ "extends": [],
396
+ "depends_on": [
397
+ {
398
+ "policy": "SFP-RECORD-0001",
399
+ "scope": "ENGINE_DRAFT_COMPATIBILITY"
400
+ }
401
+ ]
402
+ }
403
+ }
@@ -0,0 +1,186 @@
1
+ {
2
+ "schema_version": "ptsip-support-root-family-policy/v1",
3
+ "policy_class": "PTSIP_SUPPORT_FEATURE",
4
+ "responsibility_family": "RECORD",
5
+ "policy": {
6
+ "id": "SFP-RECORD-0004",
7
+ "title": "Consumer Analysis Working Retention and Provenance (DRAFT)",
8
+ "status": "DRAFT"
9
+ },
10
+ "authority_subject": {
11
+ "id": "SUP_OBSERVATION_AND_OPERATION_PROVENANCE",
12
+ "statement": "PTSIP Engine approved-direction draft; does not activate runtime semantics or supersede existing ACTIVE authority."
13
+ },
14
+ "exclusive_kernel": [
15
+ "SUP_OBSERVATION_RECEIPT_SOURCE_BINDING",
16
+ "SUP_TRACEABILITY_RETENTION_AND_RETRIEVAL"
17
+ ],
18
+ "authority_contract": {
19
+ "authority_type": "ROOT_FAMILY_RECORD",
20
+ "schema_id": "ptsip.governance/root-family/record",
21
+ "schema_version": 1
22
+ },
23
+ "authority_semantics": {
24
+ "family_definition": {
25
+ "kernel_definitions": [
26
+ {
27
+ "id": "SUP_OBSERVATION_RECEIPT_SOURCE_BINDING",
28
+ "statement": "report와 receipt를 실제 관측 repository/profile/authority revision 및 Artifact snapshot에 결합하고 다른 시점의 결과를 섞지 않는다.",
29
+ "non_substitutability": "ASSURE의 conformance 판정이나 CTRL의 실행 허용은 그 결과의 재확인 가능한 source provenance를 자동 보존하지 않는다."
30
+ },
31
+ {
32
+ "id": "SUP_TRACEABILITY_RETENTION_AND_RETRIEVAL",
33
+ "statement": "operation identity, observed evidence와 판단 출처의 보존 및 조회를 정한다. 기록은 새로운 global authority나 live canonical source가 되지 않는다.",
34
+ "non_substitutability": "GOV의 현재 winner나 INFO의 semantic source는 이전 사건의 history와 원본 receipt를 대체하지 못한다."
35
+ }
36
+ ],
37
+ "source_scope": []
38
+ },
39
+ "unit_consumer_analysis_approved_decisions": {
40
+ "analysis_tiers": "WORKING_AND_REUSABLE",
41
+ "working_retention_scope": "MACHINE_DERIVED_SELECTIVE_RETENTION",
42
+ "working_retention_release": "CONTRACT_PROVEN_RETENTION_RELEASE",
43
+ "mandatory_record_retention": "PRESERVED_WITH_PRECEDENCE",
44
+ "original_records_for_equivalence": "PRESERVE_ID_PROVENANCE_AND_VERIFICATION_HISTORY",
45
+ "retention_inputs": "EXISTING_TASK_REFERENCE_VERIFICATION_AND_RECORD_CONTRACTS",
46
+ "per_record_manual_retention_list": "NOT_REQUIRED",
47
+ "reusable_long_term_retention_scope": "CONSUMER_DELEGATED_PER_REGISTERED_ANALYSIS_TYPE_LONG_TERM_RETENTION",
48
+ "reusable_required_original_identity_and_provenance": "PRESERVED",
49
+ "reusable_long_term_retention_scope_choice": "B_USER_EXPLICIT",
50
+ "reusable_long_term_retention_scope_decided_at": "2026-10-11",
51
+ "reusable_long_term_retention_delegation_granularity": "INDEPENDENT_EXPLICIT_CONSUMER_DELEGATION_FOR_EACH_REGISTERED_ANALYSIS_TYPE",
52
+ "reusable_long_term_retention_missing_valid_type_delegation": "NO_AUTOMATIC_LONG_TERM_RETENTION_ELIGIBILITY",
53
+ "reusable_long_term_retention_type_binding_owner": "SFP-INFO-0005",
54
+ "reusable_long_term_retention_contract_shape": "PLAN_AND_MACHINE_CONTRACT_UNRESOLVED",
55
+ "reusable_long_term_retention_policy_is_cleanup_or_write_permission": false,
56
+ "working_retention_historical_record_handoff_policy_choice": "A_USER_EXPLICIT",
57
+ "working_retention_historical_record_handoff_decided_at": "2026-10-11",
58
+ "working_retention_release_historical_record_boundary": "VERIFY_INDEPENDENT_RECORD_PRESERVATION_NO_SEPARATE_HANDOFF_TRANSITION_REQUIRED",
59
+ "working_retention_release_proof": "MACHINE_VERIFIED_CURRENT_RETENTION_RELEASE_AND_PRESERVED_MANDATORY_RECORD_PROVENANCE_HISTORY",
60
+ "working_retention_release_unproven_record_or_release": "FAIL_CLOSED_KEEP",
61
+ "working_retention_handoff_is_cleanup_execution_permission": false,
62
+ "working_retention_proof_interface": "PLAN_AND_MACHINE_CONTRACT_PENDING"
63
+ },
64
+ "unit_consumer_analysis_invariants": {
65
+ "working_retention_needs_machine_proven_reference_scope": true,
66
+ "lifecycle_end_alone_proves_release": false,
67
+ "no_reference_found_proves_release": false,
68
+ "unresolved_reference_or_retention_obligation": "FAIL_CLOSED_KEEP",
69
+ "cleanup_eligible_does_not_authorize_deletion": true,
70
+ "reusable_logical_merge_does_not_merge_or_delete_source_records": true,
71
+ "records_confer_new_project_authority": false,
72
+ "consumer_retention_scope_cannot_override_mandatory_record_retention": true,
73
+ "reusable_retention_policy_is_not_cleanup_execution_permission": true,
74
+ "unregistered_or_ambiguous_retention_delegation_cannot_authorize_cleanup": true,
75
+ "reusable_retention_scope_requires_explicit_type_bound_consumer_delegation": true,
76
+ "reusable_retention_scope_cannot_be_inferred_from_global_project_default": true,
77
+ "missing_expired_revoked_ambiguous_or_unverifiable_type_delegation": "FAIL_CLOSED_NO_AUTOMATIC_LONG_TERM_RETENTION_ELIGIBILITY",
78
+ "independent_analysis_type_delegations_do_not_implicitly_cross_authorize": true,
79
+ "evidence_verified_reusable_qualification_remains_independent_and_mandatory": true,
80
+ "reusable_long_term_retention_scope_does_not_override_mandatory_record_or_original_provenance": true,
81
+ "failure_to_delegate_long_term_retention_is_not_permission_to_delete_existing_records": true,
82
+ "retention_scope_eligibility_does_not_authorize_cleanup_physical_deletion_or_write": true,
83
+ "registration_or_retention_mutation_still_requires_separate_current_ctrl_and_real_authority": true,
84
+ "type_delegation_proof_and_resolution_are_machine_verifiable": true,
85
+ "type_specific_retention_direction_does_not_activate_draft_policy": true,
86
+ "working_release_requires_machine_proven_independent_mandatory_record_preservation": true,
87
+ "working_release_requires_original_record_identity_provenance_and_verification_history_preservation": true,
88
+ "working_release_does_not_require_separate_historical_record_handoff_state_transition": true,
89
+ "working_release_requires_prior_release_contract_and_reference_scope_verification": true,
90
+ "working_release_cannot_rely_on_lifecycle_end_or_absence_of_found_references": true,
91
+ "working_release_missing_ambiguous_stale_or_unprovable_record_protection": "FAIL_CLOSED_KEEP",
92
+ "working_release_missing_ambiguous_stale_or_unprovable_release_eligibility": "FAIL_CLOSED_KEEP",
93
+ "independent_record_history_cannot_be_replaced_by_working_record_retention_release": true,
94
+ "independent_record_retention_precedence_over_working_release": true,
95
+ "working_release_cannot_grant_record_deletion_cleanup_execution_or_mutating_authority": true,
96
+ "working_release_does_not_change_registered_analysis_source_identity_or_canonical_record_authority": true,
97
+ "working_release_proof_interface_details_delegated_to_plan_and_machine_contract": true,
98
+ "working_release_policy_direction_does_not_activate_draft_or_implement_cleanup": true
99
+ },
100
+ "unit_consumer_analysis_unresolved_decisions": [
101
+ "WORKING_RETENTION_RELEASE_AND_RECORD_PRESERVATION_PROOF_CONTRACT_PLAN",
102
+ "REUSABLE_RETENTION_DELEGATION_CONTRACT_SHAPE"
103
+ ],
104
+ "unit_consumer_analysis_implementation_detail_authority": "PLAN",
105
+ "unit_consumer_analysis_reusable_retention_type_delegation_policy": {
106
+ "subject": "REUSABLE_ANALYSIS_LONG_TERM_RETENTION_SCOPE",
107
+ "selected_option": "B_INDEPENDENT_CONSUMER_DELEGATION_PER_ANALYSIS_TYPE",
108
+ "decision_source": "USER_EXPLICIT",
109
+ "decision_date": "2026-10-11",
110
+ "applicability": "REGISTERED_ANALYSIS_TYPE_IDENTITY_VIA_SFP_INFO_0005",
111
+ "authority": "CONSUMER_PROJECT_EXPLICIT_DELEGATION_PER_ANALYSIS_TYPE",
112
+ "no_valid_matching_type_delegation": "DO_NOT_AUTOMATICALLY_GRANT_LONG_TERM_REUSABLE_RETENTION_ELIGIBILITY",
113
+ "otherwise_required": "EVIDENCE_VERIFIED_REUSABLE_QUALIFICATION_AND_ALL_MANDATORY_RECORD_CONTRACTS",
114
+ "mandatory_record_receipt_history_and_original_provenance": "PRESERVE_INDEPENDENT_OF_CONSUMER_TYPE_DELEGATION",
115
+ "no_implicit_project_wide_type_delegation": true,
116
+ "no_cleanup_execution_permission_from_retention_eligibility": true,
117
+ "no_write_permission_from_retention_eligibility": true,
118
+ "delegation_contract_format_and_verification": "UNRESOLVED_PLAN_AND_CONTRACT_DESIGN",
119
+ "physical_implementation": "NOT_AUTHORIZED",
120
+ "runtime_activation": "NOT_AUTHORIZED"
121
+ },
122
+ "unit_consumer_analysis_resolved_decisions": [
123
+ {
124
+ "id": "REUSABLE_RETENTION_SCOPE",
125
+ "selected_option": "B_CONSUMER_DELEGATED_PER_ANALYSIS_TYPE",
126
+ "approval_source": "USER_EXPLICIT",
127
+ "decision_date": "2026-10-11",
128
+ "resolution_scope": "LONG_TERM_RETENTION_DELEGATION_GRANULARITY_ONLY",
129
+ "record_policy_owner": "SFP-RECORD-0004",
130
+ "analysis_type_binding_owner": "SFP-INFO-0005",
131
+ "long_term_eligibility_without_type_delegation": "NOT_AUTOMATICALLY_GRANTED",
132
+ "mandatory_record_retention": "PRESERVED",
133
+ "evidence_qualification": "UNCHANGED",
134
+ "cleanup_write_authority": "UNCHANGED",
135
+ "implementation": "NOT_AUTHORIZED",
136
+ "activation": "NOT_AUTHORIZED"
137
+ },
138
+ {
139
+ "id": "WORKING_RETENTION_HISTORICAL_RECORD_HANDOFF",
140
+ "selected_option": "A_NO_SEPARATE_HANDOFF_REQUIRE_MACHINE_PROVEN_INDEPENDENT_RECORD_PRESERVATION",
141
+ "approval_source": "USER_EXPLICIT",
142
+ "decision_date": "2026-10-11",
143
+ "resolution_scope": "WORKING_RETENTION_RELEASE_TO_MANDATORY_RECORD_PRESERVATION_BOUNDARY_ONLY",
144
+ "separate_handoff_transition": "NOT_REQUIRED",
145
+ "required_proofs": [
146
+ "CURRENT_WORKING_RELEASE_ELIGIBILITY",
147
+ "INDEPENDENT_MANDATORY_RECORD_PRESERVATION",
148
+ "ORIGINAL_ID_PROVENANCE_VERIFICATION_HISTORY"
149
+ ],
150
+ "missing_or_ambiguous_proof": "FAIL_CLOSED_KEEP",
151
+ "record_retention_priority": "PRESERVED",
152
+ "release_is_cleanup_deletion_or_write_permission": false,
153
+ "implementation": "NOT_AUTHORIZED",
154
+ "active_transition": "NOT_AUTHORIZED"
155
+ }
156
+ ],
157
+ "unit_consumer_analysis_working_historical_handoff_direction": {
158
+ "policy_subject": "WORKING_RETENTION_HISTORICAL_RECORD_HANDOFF",
159
+ "selected_option": "A_INDEPENDENT_RECORD_PRESERVATION_NO_SEPARATE_HANDOFF",
160
+ "approval_source": "USER_EXPLICIT",
161
+ "decision_date": "2026-10-11",
162
+ "working_release_condition": "CONTRACT_PROVEN_RELEASE_PLUS_MACHINE_PROVEN_RECORD_INDEPENDENT_RETENTION",
163
+ "historical_handoff_state_transition": "NOT_MANDATORY",
164
+ "protected_record_scope": "MANDATORY_ORIGINAL_RECORD_IDENTITY_PROVENANCE_VERIFICATION_AND_AUDIT_HISTORY",
165
+ "record_independence": "CONTINUES_UNDER_EXISTING_RECORD_AUTHORITY",
166
+ "release_proof_unverifiable": "FAIL_CLOSED_KEEP",
167
+ "record_preservation_proof_unverifiable": "FAIL_CLOSED_KEEP",
168
+ "no_new_consumer_cleanup_delegation_or_execution_permission": true,
169
+ "no_new_ctrl_real_write_or_physical_deletion_authority": true,
170
+ "proof_schema_reference_resolution_and_validation": "PLAN_AND_MACHINE_CONTRACT",
171
+ "implementation": "NOT_AUTHORIZED",
172
+ "active_transition": "NOT_AUTHORIZED"
173
+ }
174
+ },
175
+ "relations": {
176
+ "supersedes": [],
177
+ "amends": [],
178
+ "extends": [],
179
+ "depends_on": [
180
+ {
181
+ "policy": "SFP-INFO-0005",
182
+ "scope": "CONSUMER_ANALYSIS_POLICY_BOUNDARY"
183
+ }
184
+ ]
185
+ }
186
+ }
@@ -0,0 +1,34 @@
1
+ schema_version: ptsip-support-root-family-policy/v1
2
+ policy_class: PTSIP_SUPPORT_FEATURE
3
+ responsibility_family: RISK
4
+ policy:
5
+ id: SFP-RISK-0001
6
+ title: RISK authority (DRAFT source responsibilities)
7
+ status: DRAFT
8
+ authority_subject:
9
+ id: SUP_AUTOMATION_UNCERTAINTY_AND_CONFLICT_RISK
10
+ statement: consumer 지원 동작의 증거 공백, 불확실성 및 authority/mutation 충돌 위험과 그 처리 한계를 소유한다.
11
+ exclusive_kernel:
12
+ - SUP_UNCERTAINTY_AND_CONFLICT_TREATMENT
13
+ - SUP_RISK_ACCEPTANCE_WITHOUT_AUTHORITY_SUBSTITUTION
14
+ authority_contract:
15
+ authority_type: ROOT_FAMILY_RISK
16
+ schema_id: ptsip.governance/root-family/risk
17
+ schema_version: 1
18
+ authority_semantics:
19
+ family_definition:
20
+ kernel_definitions:
21
+ - id: SUP_UNCERTAINTY_AND_CONFLICT_TREATMENT
22
+ statement: 누락 evidence, unresolved subject와 conflict가 유발하는 위험 및 추가 사실 확보 또는
23
+ 사용자 판단이 필요한 조건을 명시한다.
24
+ non_substitutability: ASSURE의 finding 개수나 REAL의 변환 성공률만으로 관측하지 못한 위험이 제거되지 않는다.
25
+ - id: SUP_RISK_ACCEPTANCE_WITHOUT_AUTHORITY_SUBSTITUTION
26
+ statement: 명시적 위임 안에서만 잔여 위험 처리 조건을 정한다. AI confidence, 위험 수락 또는 편의상 alias가
27
+ normative conformance, authority winner나 무권한 쓰기를 대신 승인하지 않는다.
28
+ non_substitutability: GOV의 범위 제한된 승인이나 INTENT의 목표가 universal MUST 위반과 unresolved
29
+ authority를 허용하지 않는다.
30
+ relations:
31
+ supersedes: []
32
+ amends: []
33
+ extends: []
34
+ depends_on: []