crprotocol 2.3.1__tar.gz → 3.0.0__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 (457) hide show
  1. {crprotocol-2.3.1 → crprotocol-3.0.0}/CHANGELOG.md +41 -0
  2. {crprotocol-2.3.1 → crprotocol-3.0.0}/PKG-INFO +71 -2
  3. {crprotocol-2.3.1 → crprotocol-3.0.0}/README.md +70 -1
  4. crprotocol-3.0.0/SPECS_27-05-2027/CRP-FEASIBILITY.md +132 -0
  5. crprotocol-3.0.0/SPECS_27-05-2027/CRP-IETF-EMAIL-TEMPLATES.md +500 -0
  6. crprotocol-3.0.0/SPECS_27-05-2027/CRP-PUBLIC-CHECKLIST.md +109 -0
  7. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SITE-STRATEGY.md +549 -0
  8. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-001-core-protocol.md +246 -0
  9. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-002-headers.md +1775 -0
  10. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-003-envelope.md +678 -0
  11. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-004-continuation.md +792 -0
  12. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-005-dpe.md +1070 -0
  13. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-006-safety-policy.md +466 -0
  14. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-007-session-token.md +400 -0
  15. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-008-dispatch.md +463 -0
  16. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-009-ckf.md +332 -0
  17. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-010-regulatory-mapping.md +153 -0
  18. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-011-audit-trail.md +276 -0
  19. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-012-multi-agent-safety.md +396 -0
  20. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-013-github-action.md +374 -0
  21. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-014-conformance.md +600 -0
  22. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-015-security-privacy.md +396 -0
  23. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-016-gateway-service.md +735 -0
  24. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-017-zero-ckf-mode.md +545 -0
  25. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SPEC-HOSTING-CONTROL.md +188 -0
  26. crprotocol-3.0.0/SPECS_27-05-2027/CRP-SUBMISSION-GUIDE.md +467 -0
  27. crprotocol-3.0.0/SPECS_27-05-2027/CRP-V3-IMPLEMENTATION-PLAN.md +295 -0
  28. crprotocol-3.0.0/SPECS_27-05-2027/Overview of all documents.docx +0 -0
  29. crprotocol-3.0.0/SPECS_27-05-2027/SUBMISSION-GUIDE.md +577 -0
  30. crprotocol-3.0.0/SPECS_27-05-2027/TRACKING_OF_PROGRESS.MD +447 -0
  31. crprotocol-3.0.0/SPECS_27-05-2027/crp-headers-spec.html +1533 -0
  32. crprotocol-3.0.0/SPECS_27-05-2027/crp-product-ecosystem.html +1058 -0
  33. crprotocol-3.0.0/SPECS_27-05-2027/crp-v3-complete-spec.html +1047 -0
  34. crprotocol-3.0.0/SPECS_27-05-2027/~$erview of all documents.docx +0 -0
  35. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/_version.py +1 -1
  36. crprotocol-3.0.0/crp/activation/__init__.py +73 -0
  37. crprotocol-3.0.0/crp/activation/mode.py +179 -0
  38. crprotocol-3.0.0/crp/activation/onboarding.py +130 -0
  39. crprotocol-3.0.0/crp/activation/policy_adjust.py +87 -0
  40. crprotocol-3.0.0/crp/activation/stages.py +88 -0
  41. crprotocol-3.0.0/crp/agent/__init__.py +88 -0
  42. crprotocol-3.0.0/crp/agent/budget.py +168 -0
  43. crprotocol-3.0.0/crp/agent/chain.py +159 -0
  44. crprotocol-3.0.0/crp/agent/oversight.py +60 -0
  45. crprotocol-3.0.0/crp/agent/propagation.py +144 -0
  46. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/__init__.py +16 -1
  47. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/window.py +156 -0
  48. crprotocol-3.0.0/crp/headers/__init__.py +54 -0
  49. crprotocol-3.0.0/crp/headers/conditional.py +161 -0
  50. crprotocol-3.0.0/crp/headers/emit.py +261 -0
  51. crprotocol-3.0.0/crp/headers/halt.py +82 -0
  52. crprotocol-3.0.0/crp/headers/middleware.py +93 -0
  53. crprotocol-3.0.0/crp/headers/names.py +141 -0
  54. crprotocol-3.0.0/crp/headers/parse.py +179 -0
  55. crprotocol-3.0.0/crp/policy/__init__.py +77 -0
  56. crprotocol-3.0.0/crp/policy/enforce.py +250 -0
  57. crprotocol-3.0.0/crp/policy/grammar.py +157 -0
  58. crprotocol-3.0.0/crp/policy/inheritance.py +134 -0
  59. crprotocol-3.0.0/crp/policy/mode.py +129 -0
  60. crprotocol-3.0.0/crp/policy/model.py +269 -0
  61. crprotocol-3.0.0/crp/policy/nonce.py +37 -0
  62. crprotocol-3.0.0/crp/policy/profiles.py +76 -0
  63. crprotocol-3.0.0/crp/policy/report.py +115 -0
  64. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/__init__.py +197 -1
  65. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/_types.py +29 -0
  66. crprotocol-3.0.0/crp/provenance/amplifiers.py +111 -0
  67. crprotocol-3.0.0/crp/provenance/rqa.py +95 -0
  68. crprotocol-3.0.0/crp/provenance/rqa_stages.py +602 -0
  69. crprotocol-3.0.0/crp/provenance/window_chain.py +220 -0
  70. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/__init__.py +15 -0
  71. crprotocol-3.0.0/crp/providers/discovery.py +478 -0
  72. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/__init__.py +23 -0
  73. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/audit_trail.py +175 -0
  74. crprotocol-3.0.0/crp/security/session_token.py +372 -0
  75. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/fact.py +4 -0
  76. crprotocol-3.0.0/crp_envelope_budget +0 -0
  77. crprotocol-3.0.0/docs/CRP_V3_COMPLETENESS.md +157 -0
  78. crprotocol-3.0.0/docs/LINKEDIN_LAUNCH_SERIES.md +115 -0
  79. crprotocol-3.0.0/examples/crp_demos/README.md +59 -0
  80. crprotocol-3.0.0/examples/crp_demos/__init__.py +17 -0
  81. crprotocol-3.0.0/examples/crp_demos/pipeline.py +596 -0
  82. crprotocol-3.0.0/examples/crp_demos/server.py +179 -0
  83. crprotocol-3.0.0/examples/crp_demos/static/app.js +72 -0
  84. crprotocol-3.0.0/examples/crp_demos/static/context.html +88 -0
  85. crprotocol-3.0.0/examples/crp_demos/static/context.js +127 -0
  86. crprotocol-3.0.0/examples/crp_demos/static/index.html +117 -0
  87. crprotocol-3.0.0/examples/crp_demos/static/safety.html +99 -0
  88. crprotocol-3.0.0/examples/crp_demos/static/safety.js +134 -0
  89. crprotocol-3.0.0/examples/crp_demos/static/style.css +165 -0
  90. crprotocol-3.0.0/mkdocs.yml +242 -0
  91. crprotocol-3.0.0/overrides/main.html +270 -0
  92. crprotocol-3.0.0/site-docs/BingSiteAuth.xml +4 -0
  93. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/index.md +47 -6
  94. crprotocol-3.0.0/site-docs/legal/ai-policy.md +234 -0
  95. crprotocol-3.0.0/site-docs/legal/cookie-policy.md +94 -0
  96. crprotocol-3.0.0/site-docs/legal/index.md +46 -0
  97. crprotocol-3.0.0/site-docs/legal/information-security-policy.md +215 -0
  98. crprotocol-3.0.0/site-docs/legal/privacy-policy.md +181 -0
  99. crprotocol-3.0.0/site-docs/products/gateway.md +56 -0
  100. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/products/index.md +61 -0
  101. crprotocol-3.0.0/site-docs/products/scan.md +57 -0
  102. crprotocol-3.0.0/site-docs/products/visualise.md +43 -0
  103. crprotocol-3.0.0/site-docs/protocol/conformance.md +21 -0
  104. crprotocol-3.0.0/site-docs/protocol/headers.md +24 -0
  105. crprotocol-3.0.0/site-docs/protocol/multi-agent.md +38 -0
  106. crprotocol-3.0.0/site-docs/protocol/safety-policy.md +17 -0
  107. crprotocol-3.0.0/site-docs/protocol/session-token.md +29 -0
  108. crprotocol-3.0.0/site-docs/protocol/zero-ckf-mode.md +47 -0
  109. crprotocol-3.0.0/site-docs/robots.txt +10 -0
  110. crprotocol-3.0.0/site-docs/safety/black-box.md +91 -0
  111. crprotocol-3.0.0/site-docs/safety/coverage.md +52 -0
  112. crprotocol-3.0.0/site-docs/safety/dpe.md +43 -0
  113. crprotocol-3.0.0/site-docs/safety/index.md +100 -0
  114. crprotocol-3.0.0/site-docs/safety/safety-policy.md +62 -0
  115. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-001-core-protocol.md +246 -0
  116. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-002-headers.md +1775 -0
  117. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-003-envelope.md +678 -0
  118. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-004-continuation.md +792 -0
  119. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-005-dpe.md +1086 -0
  120. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-006-safety-policy.md +466 -0
  121. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-007-session-token.md +400 -0
  122. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-008-dispatch.md +463 -0
  123. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-009-ckf.md +332 -0
  124. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-010-regulatory-mapping.md +153 -0
  125. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-011-audit-trail.md +276 -0
  126. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-012-multi-agent-safety.md +396 -0
  127. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-013-github-action.md +374 -0
  128. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-014-conformance.md +600 -0
  129. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-015-security-privacy.md +396 -0
  130. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-017-zero-ckf-mode.md +545 -0
  131. crprotocol-3.0.0/site-docs/spec/CRP-SPEC-HOSTING-CONTROL.md +188 -0
  132. crprotocol-3.0.0/site-docs/spec/index.md +63 -0
  133. crprotocol-3.0.0/site-docs/standards.md +53 -0
  134. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/terms-of-service.md +25 -3
  135. crprotocol-3.0.0/tests/conformance/__init__.py +35 -0
  136. crprotocol-3.0.0/tests/conformance/levels.py +74 -0
  137. crprotocol-3.0.0/tests/conformance/runner.py +376 -0
  138. crprotocol-3.0.0/tests/conformance/test_conformance.py +33 -0
  139. crprotocol-3.0.0/tests/conformance/vectors/agent.json +31 -0
  140. crprotocol-3.0.0/tests/conformance/vectors/dpe.json +61 -0
  141. crprotocol-3.0.0/tests/conformance/vectors/headers.json +64 -0
  142. crprotocol-3.0.0/tests/conformance/vectors/hmac.json +58 -0
  143. crprotocol-3.0.0/tests/conformance/vectors/safety_policy.json +58 -0
  144. crprotocol-3.0.0/tests/conformance/vectors/session.json +51 -0
  145. crprotocol-2.3.1/mkdocs.yml +0 -151
  146. {crprotocol-2.3.1 → crprotocol-3.0.0}/.dockerignore +0 -0
  147. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/CODEOWNERS +0 -0
  148. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/FUNDING.yml +0 -0
  149. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  150. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  151. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/ISSUE_TEMPLATE/spec-clarification.yml +0 -0
  152. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  153. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/workflows/ci.yml +0 -0
  154. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/workflows/docs.yml +0 -0
  155. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/workflows/link-check-config.json +0 -0
  156. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/workflows/link-check.yml +0 -0
  157. {crprotocol-2.3.1 → crprotocol-3.0.0}/.github/workflows/validate-schemas.yml +0 -0
  158. {crprotocol-2.3.1 → crprotocol-3.0.0}/.gitignore +0 -0
  159. {crprotocol-2.3.1 → crprotocol-3.0.0}/.pre-commit-config.yaml +0 -0
  160. {crprotocol-2.3.1 → crprotocol-3.0.0}/BENCHMARKS.md +0 -0
  161. {crprotocol-2.3.1 → crprotocol-3.0.0}/CODE_OF_CONDUCT.md +0 -0
  162. {crprotocol-2.3.1 → crprotocol-3.0.0}/CONTRIBUTING.md +0 -0
  163. {crprotocol-2.3.1 → crprotocol-3.0.0}/CRP_CAPABILITIES.md +0 -0
  164. {crprotocol-2.3.1 → crprotocol-3.0.0}/Dockerfile +0 -0
  165. {crprotocol-2.3.1 → crprotocol-3.0.0}/GOVERNANCE.md +0 -0
  166. {crprotocol-2.3.1 → crprotocol-3.0.0}/HOSTING_POSITIONING.md +0 -0
  167. {crprotocol-2.3.1 → crprotocol-3.0.0}/INTERNAL_DOCS.md +0 -0
  168. {crprotocol-2.3.1 → crprotocol-3.0.0}/LICENSE.md +0 -0
  169. {crprotocol-2.3.1 → crprotocol-3.0.0}/NOTICE +0 -0
  170. {crprotocol-2.3.1 → crprotocol-3.0.0}/RAILWAY_DEPLOYMENT_GUIDE.md +0 -0
  171. {crprotocol-2.3.1 → crprotocol-3.0.0}/RAILWAY_VARIABLES.md +0 -0
  172. {crprotocol-2.3.1 → crprotocol-3.0.0}/SECURITY.md +0 -0
  173. {crprotocol-2.3.1 → crprotocol-3.0.0}/SITE_NAVIGATION_AND_PUBLISHING.md +0 -0
  174. {crprotocol-2.3.1 → crprotocol-3.0.0}/STRIPE_MONETISATION.md +0 -0
  175. {crprotocol-2.3.1 → crprotocol-3.0.0}/TRADEMARK.md +0 -0
  176. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/__init__.py +0 -0
  177. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/__main__.py +0 -0
  178. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/_typing.py +0 -0
  179. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/adapters.py +0 -0
  180. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/__init__.py +0 -0
  181. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/auto_ingest.py +0 -0
  182. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/cqs.py +0 -0
  183. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/cross_window.py +0 -0
  184. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/curator.py +0 -0
  185. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/feedback.py +0 -0
  186. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/hierarchical.py +0 -0
  187. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/meta_learning.py +0 -0
  188. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/parallel.py +0 -0
  189. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/review_cycle.py +0 -0
  190. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/scale_mode.py +0 -0
  191. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/advanced/source_grounding.py +0 -0
  192. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/ckf/__init__.py +0 -0
  193. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/ckf/community.py +0 -0
  194. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/ckf/fabric.py +0 -0
  195. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/ckf/gc.py +0 -0
  196. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/ckf/graph_walk.py +0 -0
  197. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/ckf/merge.py +0 -0
  198. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/ckf/pattern_query.py +0 -0
  199. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/ckf/pubsub.py +0 -0
  200. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/ckf/semantic.py +0 -0
  201. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/cli/__init__.py +0 -0
  202. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/cli/main.py +0 -0
  203. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/cli/sidecar.py +0 -0
  204. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/cli/startup.py +0 -0
  205. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/__init__.py +0 -0
  206. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/completion.py +0 -0
  207. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/degradation.py +0 -0
  208. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/document_map.py +0 -0
  209. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/flow.py +0 -0
  210. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/gap.py +0 -0
  211. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/manager.py +0 -0
  212. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/quality_monitor.py +0 -0
  213. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/stitch.py +0 -0
  214. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/trigger.py +0 -0
  215. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/continuation/voice.py +0 -0
  216. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/batch.py +0 -0
  217. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/circuit_breaker.py +0 -0
  218. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/config.py +0 -0
  219. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/context_enforcer.py +0 -0
  220. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/context_source.py +0 -0
  221. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/context_tools.py +0 -0
  222. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/dispatch_router.py +0 -0
  223. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/errors.py +0 -0
  224. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/extraction_facade.py +0 -0
  225. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/facilitator.py +0 -0
  226. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/idempotency.py +0 -0
  227. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/ledger_backends.py +0 -0
  228. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/manifest_derive.py +0 -0
  229. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/manifest_ledger.py +0 -0
  230. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/orchestrator.py +0 -0
  231. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/relay_strategies.py +0 -0
  232. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/security_manager.py +0 -0
  233. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/session.py +0 -0
  234. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/core/task_intent.py +0 -0
  235. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/envelope/__init__.py +0 -0
  236. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/envelope/builder.py +0 -0
  237. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/envelope/decomposer.py +0 -0
  238. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/envelope/formatter.py +0 -0
  239. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/envelope/packer.py +0 -0
  240. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/envelope/reranker.py +0 -0
  241. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/envelope/scoring.py +0 -0
  242. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/__init__.py +0 -0
  243. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/complexity.py +0 -0
  244. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/contradiction.py +0 -0
  245. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/pipeline.py +0 -0
  246. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/quality_gate.py +0 -0
  247. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/stage1_regex.py +0 -0
  248. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/stage2_statistical.py +0 -0
  249. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/stage3_gliner.py +0 -0
  250. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/stage4_uie.py +0 -0
  251. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/stage5_discourse.py +0 -0
  252. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/stage6_llm.py +0 -0
  253. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/structured_output.py +0 -0
  254. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/extraction/types.py +0 -0
  255. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/integrations/__init__.py +0 -0
  256. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/integrations/_common.py +0 -0
  257. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/integrations/anthropic_hook.py +0 -0
  258. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/integrations/langchain_hook.py +0 -0
  259. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/integrations/openai_hook.py +0 -0
  260. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/license_guard.py +0 -0
  261. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/observability/__init__.py +0 -0
  262. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/observability/audit.py +0 -0
  263. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/observability/events.py +0 -0
  264. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/observability/metrics.py +0 -0
  265. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/observability/quality.py +0 -0
  266. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/observability/structured_logging.py +0 -0
  267. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/observability/telemetry.py +0 -0
  268. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/_embeddings.py +0 -0
  269. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/attribution_scorer.py +0 -0
  270. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/claim_detector.py +0 -0
  271. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/contradiction_detector.py +0 -0
  272. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/distortion_detector.py +0 -0
  273. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/entailment_verifier.py +0 -0
  274. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/fabrication_detector.py +0 -0
  275. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/hallucination_scorer.py +0 -0
  276. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/omission_analyzer.py +0 -0
  277. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/provenance_chain.py +0 -0
  278. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/provenance/report_generator.py +0 -0
  279. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/anthropic.py +0 -0
  280. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/base.py +0 -0
  281. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/custom.py +0 -0
  282. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/diagnostic.py +0 -0
  283. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/llamacpp.py +0 -0
  284. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/manager.py +0 -0
  285. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/ollama.py +0 -0
  286. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/openai.py +0 -0
  287. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/providers/tokenizers.py +0 -0
  288. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/py.typed +0 -0
  289. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/resources/__init__.py +0 -0
  290. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/resources/adaptive_allocator.py +0 -0
  291. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/resources/cost_model.py +0 -0
  292. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/resources/overhead_manager.py +0 -0
  293. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/resources/resource_manager.py +0 -0
  294. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/__init__.py +0 -0
  295. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/cost-estimate.json +0 -0
  296. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/crp-error.json +0 -0
  297. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/envelope-preview.json +0 -0
  298. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/persisted-state-header.json +0 -0
  299. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/quality-report.json +0 -0
  300. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/session-handle.json +0 -0
  301. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/session-status.json +0 -0
  302. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/stream-event.json +0 -0
  303. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/schemas/task-intent.json +0 -0
  304. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/binding.py +0 -0
  305. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/compliance.py +0 -0
  306. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/consent.py +0 -0
  307. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/embedding_defense.py +0 -0
  308. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/encryption.py +0 -0
  309. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/injection.py +0 -0
  310. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/integrity.py +0 -0
  311. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/privacy.py +0 -0
  312. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/quarantine.py +0 -0
  313. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/rbac.py +0 -0
  314. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/security/validation.py +0 -0
  315. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/__init__.py +0 -0
  316. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/cold_storage.py +0 -0
  317. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/compaction.py +0 -0
  318. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/critical_state.py +0 -0
  319. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/event_log.py +0 -0
  320. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/serialization.py +0 -0
  321. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/session_cleanup.py +0 -0
  322. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/snapshot.py +0 -0
  323. {crprotocol-2.3.1 → crprotocol-3.0.0}/crp/state/warm_store.py +0 -0
  324. {crprotocol-2.3.1 → crprotocol-3.0.0}/docs/OPERATIONS_RUNBOOK.md +0 -0
  325. {crprotocol-2.3.1 → crprotocol-3.0.0}/docs/WASA_INTEGRATION_TUTORIAL.md +0 -0
  326. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/async_usage.py +0 -0
  327. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/benchmark_continuation.py +0 -0
  328. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/choose_provider.py +0 -0
  329. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/comply_demo.py +0 -0
  330. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/demo_app/README.md +0 -0
  331. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/demo_app/demo.py +0 -0
  332. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/demo_app/demo_v1.py +0 -0
  333. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/extraction-pipeline.md +0 -0
  334. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/ingestion.py +0 -0
  335. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/local-model.md +0 -0
  336. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/multi-provider.md +0 -0
  337. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/multi_turn.py +0 -0
  338. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/quickstart.md +0 -0
  339. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/quickstart.py +0 -0
  340. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/scribe_demo.py +0 -0
  341. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/session-resumption.md +0 -0
  342. {crprotocol-2.3.1 → crprotocol-3.0.0}/examples/streaming.py +0 -0
  343. {crprotocol-2.3.1 → crprotocol-3.0.0}/media/logo.svg +0 -0
  344. {crprotocol-2.3.1 → crprotocol-3.0.0}/pyproject.toml +0 -0
  345. {crprotocol-2.3.1 → crprotocol-3.0.0}/rfcs/0000-template.md +0 -0
  346. {crprotocol-2.3.1 → crprotocol-3.0.0}/rfcs/0001-initial-release.md +0 -0
  347. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/cost-estimate.json +0 -0
  348. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/crp-error.json +0 -0
  349. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/envelope-preview.json +0 -0
  350. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/openapi.json +0 -0
  351. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/persisted-state-header.json +0 -0
  352. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/quality-report.json +0 -0
  353. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/session-handle.json +0 -0
  354. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/session-status.json +0 -0
  355. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/stream-event.json +0 -0
  356. {crprotocol-2.3.1 → crprotocol-3.0.0}/schemas/task-intent.json +0 -0
  357. {crprotocol-2.3.1 → crprotocol-3.0.0}/scripts/gen_changelog.py +0 -0
  358. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/CNAME +0 -0
  359. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/api/client.md +0 -0
  360. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/api/compliance.md +0 -0
  361. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/api/dispatch.md +0 -0
  362. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/api/index.md +0 -0
  363. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/api/schemas.md +0 -0
  364. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/benchmarks.md +0 -0
  365. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/compliance/eu-ai-act.md +0 -0
  366. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/compliance/gdpr.md +0 -0
  367. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/compliance/index.md +0 -0
  368. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/compliance/iso-42001.md +0 -0
  369. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/compliance/nist-ai-rmf.md +0 -0
  370. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/compliance/security.md +0 -0
  371. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/contributing.md +0 -0
  372. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/getting-started/cli.md +0 -0
  373. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/getting-started/index.md +0 -0
  374. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/getting-started/installation.md +0 -0
  375. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/getting-started/licensing.md +0 -0
  376. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/getting-started/local-models.md +0 -0
  377. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/getting-started/providers.md +0 -0
  378. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/getting-started/quickstart.md +0 -0
  379. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/guides/demo-app.md +0 -0
  380. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/guides/index.md +0 -0
  381. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/guides/ingestion.md +0 -0
  382. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/guides/multi-turn.md +0 -0
  383. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/guides/session-persistence.md +0 -0
  384. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/guides/sidecar.md +0 -0
  385. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/guides/streaming.md +0 -0
  386. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/products/comply-autocyber.md +0 -0
  387. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/products/comply.md +0 -0
  388. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/products/scribe.md +0 -0
  389. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/ckf.md +0 -0
  390. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/context-sources.md +0 -0
  391. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/continuation.md +0 -0
  392. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/core.md +0 -0
  393. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/dispatch-strategies.md +0 -0
  394. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/envelope.md +0 -0
  395. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/extraction.md +0 -0
  396. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/index.md +0 -0
  397. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/meta-learning.md +0 -0
  398. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/provenance.md +0 -0
  399. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/quality-tiers.md +0 -0
  400. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/protocol/research.md +0 -0
  401. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/testing/benchmarks.md +0 -0
  402. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/testing/index.md +0 -0
  403. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/testing/reproduce.md +0 -0
  404. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/testing/running-tests.md +0 -0
  405. {crprotocol-2.3.1 → crprotocol-3.0.0}/site-docs/why-crp.md +0 -0
  406. {crprotocol-2.3.1 → crprotocol-3.0.0}/specification/01_RESEARCH_FOUNDATIONS.md +0 -0
  407. {crprotocol-2.3.1 → crprotocol-3.0.0}/specification/02_CORE_PROTOCOL.md +0 -0
  408. {crprotocol-2.3.1 → crprotocol-3.0.0}/specification/03_CONTEXT_ENVELOPE.md +0 -0
  409. {crprotocol-2.3.1 → crprotocol-3.0.0}/specification/04_TOKEN_GENERATION_PROTOCOL.md +0 -0
  410. {crprotocol-2.3.1 → crprotocol-3.0.0}/specification/05_SYSTEM_WIDE_INTEGRATION.md +0 -0
  411. {crprotocol-2.3.1 → crprotocol-3.0.0}/specification/06_IMPLEMENTATION_PLAN.md +0 -0
  412. {crprotocol-2.3.1 → crprotocol-3.0.0}/specification/07_SECURITY.md +0 -0
  413. {crprotocol-2.3.1 → crprotocol-3.0.0}/specification/08_MONETIZATION.md +0 -0
  414. {crprotocol-2.3.1 → crprotocol-3.0.0}/specification/09_DEPLOYMENT.md +0 -0
  415. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/conftest.py +0 -0
  416. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/killer_test/crp_killer_report.json +0 -0
  417. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/killer_test/crp_killer_report.txt +0 -0
  418. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/killer_test/crp_killer_test.py +0 -0
  419. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/killer_test/debug_gap.py +0 -0
  420. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/killer_test/debug_gap2.py +0 -0
  421. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_adaptive_allocator.py +0 -0
  422. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_adversarial_provenance.py +0 -0
  423. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_agentic.py +0 -0
  424. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_benchmarks.py +0 -0
  425. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_ckf_gate.py +0 -0
  426. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_compliance_security.py +0 -0
  427. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_compliance_wiring.py +0 -0
  428. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_context_enforcer.py +0 -0
  429. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_context_source.py +0 -0
  430. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_decision_provenance.py +0 -0
  431. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_decision_provenance_engine.py +0 -0
  432. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_entailment_risk.py +0 -0
  433. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_fidelity_verification.py +0 -0
  434. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_gap_fixes_live.py +0 -0
  435. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_gaps_2_3.py +0 -0
  436. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_integration.py +0 -0
  437. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_ip_protection.py +0 -0
  438. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_live_comprehensive.py +0 -0
  439. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_live_full_capture.py +0 -0
  440. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_live_long_generation.py +0 -0
  441. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_live_verification.py +0 -0
  442. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_manifest_ledger.py +0 -0
  443. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_phase1.py +0 -0
  444. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_phase2.py +0 -0
  445. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_phase3.py +0 -0
  446. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_phase4.py +0 -0
  447. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_phase5.py +0 -0
  448. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_phase6.py +0 -0
  449. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_phase7.py +0 -0
  450. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_phase8.py +0 -0
  451. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_phase9.py +0 -0
  452. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_production_hardening.py +0 -0
  453. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_relay_strategies.py +0 -0
  454. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_resource_manager.py +0 -0
  455. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_security_modules.py +0 -0
  456. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_smoke.py +0 -0
  457. {crprotocol-2.3.1 → crprotocol-3.0.0}/tests/test_tool_relay.py +0 -0
@@ -14,6 +14,47 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
14
14
  ### Added
15
15
  - (none yet)
16
16
 
17
+ ## [3.0.0] - 2026-05-29
18
+
19
+ CRP v3 — the governance release. CRP becomes an enforceable AI-safety and
20
+ context-management layer for local and hosted LLMs, with proof-of-work demos.
21
+
22
+ ### Added
23
+
24
+ - **Local LLM discovery** (`crp.providers.discovery.discover_local_llms`) —
25
+ detects running LM Studio, Ollama and llama.cpp runtimes and reports each
26
+ model's architecture, quantization, true context ceiling vs. loaded window,
27
+ and tool/reasoning/vision capabilities.
28
+ - **Decision Provenance Engine enhancements** — reasoning-quality amplifiers
29
+ (`crp.provenance.amplifiers`), RQA staging (`crp.provenance.rqa`,
30
+ `rqa_stages`) and a tamper-evident per-window HMAC chain
31
+ (`crp.provenance.window_chain`: `build_window_hmac`, `verify_window_chain`).
32
+ - **Signed session tokens** (`crp.security.session_token`) — `issue_token` and
33
+ `format_set_session_header` for `CRP-Set-Session`.
34
+ - **Policy, headers, activation and agent modules** — `crp.policy`,
35
+ `crp.headers`, `crp.activation`, `crp.agent`.
36
+ - **Interactive demo apps** (`examples/crp_demos/`) — two browser apps over a
37
+ stdlib HTTP server that govern a real local LLM: an AI Safety & Governance
38
+ Console (injection shield, grounding/risk scoring, policy enforcement, HTTP
39
+ 451 halt, OCSF audit) and a Context Management & Provenance Explorer (CKF
40
+ recall, HMAC chain, tamper detection, signed tokens, `CRP-*` headers).
41
+ - **Conformance test suite** (`tests/conformance/`).
42
+ - **Completeness assessment** (`docs/CRP_V3_COMPLETENESS.md`) and launch series
43
+ (`docs/LINKEDIN_LAUNCH_SERIES.md`).
44
+
45
+ ## [2.3.2] - 2026-05-03
46
+
47
+ ### Fixed
48
+
49
+ - **`StateFact.extraction_stage` AttributeError** — `StateFact` now properly
50
+ delegates `extraction_stage` to its inner `Fact` object as a read-only
51
+ property, matching the existing delegation pattern for `id`, `text`,
52
+ `confidence`, etc. Previously the sidecar's `GET /sessions/:id/facts`
53
+ endpoint crashed with `'StateFact' object has no attribute 'extraction_stage'`
54
+ because the attribute was accessed directly on the wrapper rather than via
55
+ `self.fact.extraction_stage`. The fix makes all callers (including
56
+ `sidecar.py`) work correctly without requiring workarounds.
57
+
17
58
  ## [2.3.1] - 2026-04-24
18
59
 
19
60
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crprotocol
3
- Version: 2.3.1
3
+ Version: 3.0.0
4
4
  Summary: Context Relay Protocol — unbounded context, unbounded generation, amplified reasoning for LLMs
5
5
  Project-URL: Homepage, https://crprotocol.io
6
6
  Project-URL: Documentation, https://crprotocol.io
@@ -105,7 +105,8 @@ Description-Content-Type: text/markdown
105
105
  2. [What CRP Does](#what-crp-does)
106
106
  3. [Key Differentiators](#key-differentiators)
107
107
  4. [Quick Start](#quick-start)
108
- 5. [How CRP Works](#how-crp-works)
108
+ 5. [Interactive Demo Apps (Local LLM)](#interactive-demo-apps-local-llm)
109
+ 6. [How CRP Works](#how-crp-works)
109
110
  6. [Architecture Overview](#architecture-overview)
110
111
  7. [Core Capabilities](#core-capabilities)
111
112
  8. [Inter-LLM Context Sharing (HTTP Sidecar)](#inter-llm-context-sharing-http-sidecar)
@@ -324,6 +325,74 @@ await client.async_close()
324
325
 
325
326
  ---
326
327
 
328
+ ## Interactive Demo Apps (Local LLM)
329
+
330
+ Two browser-based applications demonstrate CRP governing a **real local LLM** end-to-end,
331
+ with zero cloud dependencies and no extra Python packages (the server is pure standard
332
+ library). They live in [`examples/crp_demos/`](examples/crp_demos).
333
+
334
+ ### What they show
335
+
336
+ | App | URL | Demonstrates |
337
+ |-----|-----|--------------|
338
+ | **Live LLM Detection** (landing) | `/` | CRP detecting every local runtime + model: architecture, quantization, true context ceiling vs. loaded window, tool-calling and reasoning capability. |
339
+ | **App 1 — AI Safety & Governance Console** | `/safety.html` | Prompt-injection shield, Decision Provenance Engine (grounding, fabrications, risk, quality tier), declarative safety-policy enforcement, **HTTP 451 halt**, and a tamper-evident audit trail with OCSF/SARIF export. |
340
+ | **App 2 — Context Management & Provenance Explorer** | `/context.html` | Persistent memory via the Contextual Knowledge Fabric (facts recalled across turns), per-window **HMAC provenance chain**, a **Tamper** button that breaks the chain, signed session tokens, and the full `CRP-*` header set. |
341
+
342
+ ### Prerequisites
343
+
344
+ 1. Install CRP with the NLP extras (the Decision Provenance Engine uses sentence
345
+ embeddings): `pip install "crprotocol[nlp]"` (or `pip install -e ".[nlp]"` from a clone).
346
+ 2. Run a local LLM. **LM Studio** is recommended:
347
+ - Load a chat model (e.g. `meta-llama-3.1-8b-instruct`).
348
+ - Start its server (Developer tab → Start Server). It listens on `http://127.0.0.1:1234`.
349
+ - **Ollama** (`http://127.0.0.1:11434`) and **llama.cpp** (`http://127.0.0.1:8080`)
350
+ are auto-detected too. The demos work without any model loaded — detection, chain,
351
+ CKF and tokens still function; only the generated replies will be empty.
352
+
353
+ > Use `127.0.0.1`, not `localhost` — some runtimes only bind IPv4.
354
+
355
+ ### Run
356
+
357
+ ```bash
358
+ python -m examples.crp_demos.server # serves on http://127.0.0.1:8770
359
+ python -m examples.crp_demos.server --port 9000 # custom port
360
+ ```
361
+
362
+ Open **http://127.0.0.1:8770/** in a browser.
363
+
364
+ ### How to verify each capability
365
+
366
+ - **Detection** — On the landing page, the banner names your loaded model and its real
367
+ context ceiling vs. loaded window (e.g. `131,072` max → `4,096` loaded = `3.1%`). Every
368
+ discovered model is listed with its architecture, quantization and capabilities.
369
+ - **Safe answer (App 1)** — Click **Analyze with CRP** with the default grounded prompt.
370
+ Expect `HTTP 200 · PASS`, grounding near 100%, 0 fabrications, and a valid hash-chained
371
+ audit trail (the OCSF export is shown).
372
+ - **Halt (App 1)** — Click **Try a risky prompt**, then **Analyze with CRP**. Expect
373
+ `HTTP 451 · HALTED`, policy violations (`SOURCE_NOT_TRUSTED`, grounding threshold), and
374
+ a machine-readable halt body.
375
+ - **Injection (App 1)** — Click **Try a prompt injection**, then analyze. The
376
+ prompt-injection shield reports `instruction_override` / `exfil_secret`.
377
+ - **Memory (App 2)** — Send "My name is Alex and I am building a protocol called CRP…",
378
+ then ask "What is the name of the protocol I told you I am building?". The model recalls
379
+ **CRP** from the Contextual Knowledge Fabric, and the *Recalled* counter is non-zero.
380
+ - **Tamper-evidence (App 2)** — After two turns the HMAC chain shows `VALID`. Click
381
+ **Tamper window 1** and the chain flips to **BROKEN at window 1**, with the affected
382
+ nodes highlighted red.
383
+
384
+ ### Programmatic check (no browser)
385
+
386
+ ```bash
387
+ python -m examples.crp_demos.server &
388
+ curl http://127.0.0.1:8770/api/detect
389
+ curl -X POST http://127.0.0.1:8770/api/safety/analyze \
390
+ -H "Content-Type: application/json" \
391
+ -d '{"system_prompt":"You are a support assistant.","question":"What is the uptime SLA?","context_facts":["Acme guarantees a 99.95% uptime SLA."],"policy":"default-src context; halt-on CRITICAL; require-grounding 0.70"}'
392
+ ```
393
+
394
+ ---
395
+
327
396
  ## How CRP Works
328
397
 
329
398
  ### Four Core Mechanisms
@@ -48,7 +48,8 @@
48
48
  2. [What CRP Does](#what-crp-does)
49
49
  3. [Key Differentiators](#key-differentiators)
50
50
  4. [Quick Start](#quick-start)
51
- 5. [How CRP Works](#how-crp-works)
51
+ 5. [Interactive Demo Apps (Local LLM)](#interactive-demo-apps-local-llm)
52
+ 6. [How CRP Works](#how-crp-works)
52
53
  6. [Architecture Overview](#architecture-overview)
53
54
  7. [Core Capabilities](#core-capabilities)
54
55
  8. [Inter-LLM Context Sharing (HTTP Sidecar)](#inter-llm-context-sharing-http-sidecar)
@@ -267,6 +268,74 @@ await client.async_close()
267
268
 
268
269
  ---
269
270
 
271
+ ## Interactive Demo Apps (Local LLM)
272
+
273
+ Two browser-based applications demonstrate CRP governing a **real local LLM** end-to-end,
274
+ with zero cloud dependencies and no extra Python packages (the server is pure standard
275
+ library). They live in [`examples/crp_demos/`](examples/crp_demos).
276
+
277
+ ### What they show
278
+
279
+ | App | URL | Demonstrates |
280
+ |-----|-----|--------------|
281
+ | **Live LLM Detection** (landing) | `/` | CRP detecting every local runtime + model: architecture, quantization, true context ceiling vs. loaded window, tool-calling and reasoning capability. |
282
+ | **App 1 — AI Safety & Governance Console** | `/safety.html` | Prompt-injection shield, Decision Provenance Engine (grounding, fabrications, risk, quality tier), declarative safety-policy enforcement, **HTTP 451 halt**, and a tamper-evident audit trail with OCSF/SARIF export. |
283
+ | **App 2 — Context Management & Provenance Explorer** | `/context.html` | Persistent memory via the Contextual Knowledge Fabric (facts recalled across turns), per-window **HMAC provenance chain**, a **Tamper** button that breaks the chain, signed session tokens, and the full `CRP-*` header set. |
284
+
285
+ ### Prerequisites
286
+
287
+ 1. Install CRP with the NLP extras (the Decision Provenance Engine uses sentence
288
+ embeddings): `pip install "crprotocol[nlp]"` (or `pip install -e ".[nlp]"` from a clone).
289
+ 2. Run a local LLM. **LM Studio** is recommended:
290
+ - Load a chat model (e.g. `meta-llama-3.1-8b-instruct`).
291
+ - Start its server (Developer tab → Start Server). It listens on `http://127.0.0.1:1234`.
292
+ - **Ollama** (`http://127.0.0.1:11434`) and **llama.cpp** (`http://127.0.0.1:8080`)
293
+ are auto-detected too. The demos work without any model loaded — detection, chain,
294
+ CKF and tokens still function; only the generated replies will be empty.
295
+
296
+ > Use `127.0.0.1`, not `localhost` — some runtimes only bind IPv4.
297
+
298
+ ### Run
299
+
300
+ ```bash
301
+ python -m examples.crp_demos.server # serves on http://127.0.0.1:8770
302
+ python -m examples.crp_demos.server --port 9000 # custom port
303
+ ```
304
+
305
+ Open **http://127.0.0.1:8770/** in a browser.
306
+
307
+ ### How to verify each capability
308
+
309
+ - **Detection** — On the landing page, the banner names your loaded model and its real
310
+ context ceiling vs. loaded window (e.g. `131,072` max → `4,096` loaded = `3.1%`). Every
311
+ discovered model is listed with its architecture, quantization and capabilities.
312
+ - **Safe answer (App 1)** — Click **Analyze with CRP** with the default grounded prompt.
313
+ Expect `HTTP 200 · PASS`, grounding near 100%, 0 fabrications, and a valid hash-chained
314
+ audit trail (the OCSF export is shown).
315
+ - **Halt (App 1)** — Click **Try a risky prompt**, then **Analyze with CRP**. Expect
316
+ `HTTP 451 · HALTED`, policy violations (`SOURCE_NOT_TRUSTED`, grounding threshold), and
317
+ a machine-readable halt body.
318
+ - **Injection (App 1)** — Click **Try a prompt injection**, then analyze. The
319
+ prompt-injection shield reports `instruction_override` / `exfil_secret`.
320
+ - **Memory (App 2)** — Send "My name is Alex and I am building a protocol called CRP…",
321
+ then ask "What is the name of the protocol I told you I am building?". The model recalls
322
+ **CRP** from the Contextual Knowledge Fabric, and the *Recalled* counter is non-zero.
323
+ - **Tamper-evidence (App 2)** — After two turns the HMAC chain shows `VALID`. Click
324
+ **Tamper window 1** and the chain flips to **BROKEN at window 1**, with the affected
325
+ nodes highlighted red.
326
+
327
+ ### Programmatic check (no browser)
328
+
329
+ ```bash
330
+ python -m examples.crp_demos.server &
331
+ curl http://127.0.0.1:8770/api/detect
332
+ curl -X POST http://127.0.0.1:8770/api/safety/analyze \
333
+ -H "Content-Type: application/json" \
334
+ -d '{"system_prompt":"You are a support assistant.","question":"What is the uptime SLA?","context_facts":["Acme guarantees a 99.95% uptime SLA."],"policy":"default-src context; halt-on CRITICAL; require-grounding 0.70"}'
335
+ ```
336
+
337
+ ---
338
+
270
339
  ## How CRP Works
271
340
 
272
341
  ### Four Core Mechanisms
@@ -0,0 +1,132 @@
1
+ # CRP™ Feasibility Assessment
2
+
3
+ **Document:** CRP-FEASIBILITY
4
+ **Version:** 1.0
5
+ **Date:** 2026-05-24
6
+ **Status:** Internal Strategy — CONFIDENTIAL
7
+
8
+ ---
9
+
10
+ ## The Honest Answer First
11
+
12
+ **Is CRP feasible? Yes — the timing is exceptional.**
13
+ **Is it THE solution to AI governance? No. Is it A crucial layer of it? Absolutely yes.**
14
+ **Is it THE solution to context management? No. Is it the best safety-aware context protocol? Yes — and that gap is real.**
15
+
16
+ The distinction matters because it shapes positioning, pricing, and partnerships. Overselling leads to wrong customers. Underselling leaves money on the table.
17
+
18
+ ---
19
+
20
+ ## 1. Market Feasibility — The Numbers Are Real
21
+
22
+ The AI Governance Market is valued at USD 414 million in 2025 and is projected to reach USD 9.8 billion by 2035, growing at a CAGR of 37.21%. More immediately: 79% of regulated entities accelerated AI governance implementation in 2025 following final EU AI Act adoption, with compliance spending increasing 140% year-over-year to meet 2026 enforcement deadlines.
23
+
24
+ The enforcement reality is concrete: compliance for a single high-risk AI system can cost approximately €52,000 annually, and EU AI regulation could create a €17–38 billion compliance market by 2030. Critically: full enforcement activates August 2, 2026 — penalties up to €35 million or 7% global revenue begin.
25
+
26
+ **CRP's window: August 2026 enforcement is ~10 weeks away from today.** Enterprises are in emergency compliance mode right now. This is the best possible time to be selling continuous compliance infrastructure.
27
+
28
+ ---
29
+
30
+ ## 2. Is CRP THE Solution to AI Governance?
31
+
32
+ **No — and this is important to be honest about.**
33
+
34
+ CRP is a **technical infrastructure layer**, not a complete AI governance solution. The full governance stack requires:
35
+
36
+ | Layer | What's Needed | Does CRP Cover It? |
37
+ |-------|--------------|-------------------|
38
+ | Risk assessment | FRIA, DPIA, impact assessments | ✅ CRP Comply generates these |
39
+ | Technical documentation | Art. 11 EU AI Act tech docs | ✅ CRP Comply generates these |
40
+ | Runtime monitoring | Per-call risk, hallucination detection | ✅ Core DPE / headers |
41
+ | Human oversight mechanism | Art. 14 EU AI Act | ✅ CRP-Oversight-Mode |
42
+ | Data governance | GDPR data minimisation, PII controls | ⚠️ Partial — CRP detects PII, doesn't delete it |
43
+ | Model training governance | Bias testing, training data quality | ✗ Out of scope |
44
+ | Organisational governance | Policies, roles, training programs | ✗ Out of scope |
45
+ | Third-party AI auditing | Independent assessment | ✗ CRP provides evidence to auditors |
46
+
47
+ **CRP's honest positioning:** CRP covers the **runtime and evidence layer** better than any competitor — the part that is hardest to automate and most urgently needed. The parts CRP doesn't cover (org governance, model training) are either covered by other products or require human work regardless.
48
+
49
+ ### The key differentiator nobody else has
50
+
51
+ Every competitor (Vanta, Regulativ, ISMS.online, OneTrust) generates compliance documents **from questionnaires**. That evidence is **assertions**. AI compliance failures caused $4.4 billion in losses across organizations in 2025. Regulators will increasingly reject questionnaire-based evidence as enforcement matures.
52
+
53
+ CRP generates evidence **from live cryptographically-chained protocol data**. When a regulator asks "prove your AI didn't hallucinate in this decision" — a Vanta customer has a filled-in form. A CRP customer has a verifiable HMAC chain with per-call DPE reports. That difference will become decisive.
54
+
55
+ ---
56
+
57
+ ## 3. Is CRP A Solution to Context Management?
58
+
59
+ **Yes — and this problem is more severe than most developers realise.**
60
+
61
+ In 2026, the context problem is not primarily about model capability — modern models handle enormous context windows. The real challenge is information discipline. Too many teams treat context windows like junk drawers, dumping everything inside and hoping the model figures it out.
62
+
63
+ Research confirmed that when models couldn't rely on surface-level pattern matching, 11 out of 13 LLMs dropped below 50% of their baseline scores at just 32K tokens. GPT-4o fell from 99.3% baseline to 69.7%. This is the **"lost in the middle" problem** — large context windows don't solve quality if you don't control what goes in.
64
+
65
+ **CRP's context management answer:** The 3-phase fact selection (select, rank, pack), quality tier assignment (S–D), and CKF graph are a structured answer to exactly this problem. CRP doesn't just make context bigger — it makes context **better**. The ETag caching, saturation scoring, and window DAG are genuinely differentiated from naive RAG implementations.
66
+
67
+ **Honest limitation:** CRP's context management is strongest for **document-heavy knowledge domains** (enterprise knowledge bases, regulatory content, technical documentation). It is less differentiated for simple conversational AI or pure creative generation where context quality matters less.
68
+
69
+ ---
70
+
71
+ ## 4. Adoption Feasibility — Who Will Actually Use This
72
+
73
+ ### Tier 1: High likelihood, high urgency (target now)
74
+
75
+ **EU-regulated AI deployers** — any company with HIGH-risk AI systems under the EU AI Act facing August 2026 deadlines. These companies must have technical documentation, risk management, human oversight, and audit trails. CRP Comply directly generates this evidence.
76
+
77
+ **Financial services AI teams** — BFSI sector leads AI governance adoption because financial regulators enforce AI explainability, fairness, and audit documentation requirements earlier than other sectors.
78
+
79
+ **AI-native startups seeking enterprise sales** — enterprise procurement now requires AI governance evidence (SOC 2 AI annexes, ISO 42001). CRP Comply is the path to closing deals blocked by "how do you govern your AI?" questions.
80
+
81
+ ### Tier 2: Moderate likelihood, strong pull
82
+
83
+ **DevOps / platform engineering teams** — the GitHub Action is the entry point. Enterprise AI teams in 2026 use RAG for retrieval, MCP for governed metadata delivery, and long-context models for complex reasoning. CRP slots into this stack as the governance layer — not replacing any of these but sitting alongside them.
84
+
85
+ **AI infrastructure companies** — companies building platforms (not just using AI) need CRP protocol compliance baked in to sell to regulated industries.
86
+
87
+ ### Tier 3: Long-term, requires standard recognition
88
+
89
+ **Big Tech implementations** — OpenAI, Anthropic, Google will not adopt CRP until it's an IETF RFC. Do not pitch them as customers; pitch them as WG participants.
90
+
91
+ **Government AI systems** — high value but long sales cycles. NIST/DISR reference accelerates this.
92
+
93
+ ### Adoption blockers (honest)
94
+
95
+ | Blocker | Severity | Mitigation |
96
+ |---------|----------|-----------|
97
+ | Developer inertia — "we already have logging" | Medium | GitHub Action shows the gap is real |
98
+ | Python SDK — excludes Node.js/Go shops | Medium | Gateway solves this (one URL change) |
99
+ | CRP Comply requires BYOK setup | Medium | Gateway removes this friction |
100
+ | "We'll wait for a standard" | High for enterprise | IANA registration + IETF I-D starts the clock |
101
+ | Gateway is not yet built | High | This is the critical build |
102
+
103
+ ---
104
+
105
+ ## 5. Competitive Moat Assessment
106
+
107
+ | Moat | Strength | Durability |
108
+ |------|----------|-----------|
109
+ | Protocol-native evidence (vs questionnaire tools) | ★★★★★ | High — architectural |
110
+ | HMAC chain provenance | ★★★★☆ | High — hard to replicate |
111
+ | DPE hallucination detection | ★★★☆☆ | Medium — others will build detection |
112
+ | Header standard (if IANA/IETF registered) | ★★★★★ | Very high — name ownership |
113
+ | CKF knowledge graph | ★★★★☆ | High — data network effect |
114
+ | CRP Comply evidence chain | ★★★★★ | Very high — switching cost |
115
+
116
+ **The moat compounds:** The longer a customer uses CRP, the more their audit trail is in the HMAC chain. Switching away means losing years of verifiable compliance history. That's the stickiest possible enterprise SaaS.
117
+
118
+ ---
119
+
120
+ ## Summary Verdict
121
+
122
+ | Question | Answer |
123
+ |----------|--------|
124
+ | Is the market real? | ✅ $2.5B and growing at 37% CAGR |
125
+ | Is timing right? | ✅ EU AI Act enforcement August 2026 — NOW |
126
+ | Is CRP THE governance solution? | ⚠️ No — it's the best **runtime evidence layer** |
127
+ | Is CRP THE context solution? | ⚠️ No — it's the best **safety-aware context protocol** |
128
+ | Will developers adopt it? | ✅ Via Gateway (frictionless) and GitHub Action |
129
+ | Will enterprises adopt it? | ✅ If IANA registration + I-D submitted (credibility) |
130
+ | What could kill it? | Big cloud providers shipping built-in governance headers at zero marginal cost |
131
+
132
+ *© 2025–2026 AutoCyber AI Pty Ltd. CONFIDENTIAL.*