crprotocol 2.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 (306) hide show
  1. crprotocol-2.0.0/.dockerignore +36 -0
  2. crprotocol-2.0.0/.github/CODEOWNERS +32 -0
  3. crprotocol-2.0.0/.github/FUNDING.yml +6 -0
  4. crprotocol-2.0.0/.github/ISSUE_TEMPLATE/bug-report.yml +50 -0
  5. crprotocol-2.0.0/.github/ISSUE_TEMPLATE/feature-request.yml +52 -0
  6. crprotocol-2.0.0/.github/ISSUE_TEMPLATE/spec-clarification.yml +36 -0
  7. crprotocol-2.0.0/.github/PULL_REQUEST_TEMPLATE.md +34 -0
  8. crprotocol-2.0.0/.github/workflows/ci.yml +46 -0
  9. crprotocol-2.0.0/.github/workflows/link-check-config.json +8 -0
  10. crprotocol-2.0.0/.github/workflows/link-check.yml +19 -0
  11. crprotocol-2.0.0/.github/workflows/validate-schemas.yml +34 -0
  12. crprotocol-2.0.0/.gitignore +61 -0
  13. crprotocol-2.0.0/.pre-commit-config.yaml +31 -0
  14. crprotocol-2.0.0/BENCHMARKS.md +265 -0
  15. crprotocol-2.0.0/CHANGELOG.md +204 -0
  16. crprotocol-2.0.0/CODE_OF_CONDUCT.md +46 -0
  17. crprotocol-2.0.0/CONTRIBUTING.md +97 -0
  18. crprotocol-2.0.0/CRP_CAPABILITIES.md +430 -0
  19. crprotocol-2.0.0/Dockerfile +65 -0
  20. crprotocol-2.0.0/GOVERNANCE.md +94 -0
  21. crprotocol-2.0.0/INTERNAL_DOCS.md +21 -0
  22. crprotocol-2.0.0/LICENSE.md +170 -0
  23. crprotocol-2.0.0/NOTICE +18 -0
  24. crprotocol-2.0.0/PKG-INFO +1295 -0
  25. crprotocol-2.0.0/README.md +1238 -0
  26. crprotocol-2.0.0/SECURITY.md +70 -0
  27. crprotocol-2.0.0/TRADEMARK.md +48 -0
  28. crprotocol-2.0.0/crp/__init__.py +126 -0
  29. crprotocol-2.0.0/crp/__main__.py +8 -0
  30. crprotocol-2.0.0/crp/_typing.py +27 -0
  31. crprotocol-2.0.0/crp/_version.py +5 -0
  32. crprotocol-2.0.0/crp/adapters.py +31 -0
  33. crprotocol-2.0.0/crp/advanced/__init__.py +40 -0
  34. crprotocol-2.0.0/crp/advanced/auto_ingest.py +400 -0
  35. crprotocol-2.0.0/crp/advanced/cqs.py +235 -0
  36. crprotocol-2.0.0/crp/advanced/cross_window.py +477 -0
  37. crprotocol-2.0.0/crp/advanced/curator.py +265 -0
  38. crprotocol-2.0.0/crp/advanced/feedback.py +146 -0
  39. crprotocol-2.0.0/crp/advanced/hierarchical.py +211 -0
  40. crprotocol-2.0.0/crp/advanced/meta_learning.py +401 -0
  41. crprotocol-2.0.0/crp/advanced/parallel.py +98 -0
  42. crprotocol-2.0.0/crp/advanced/review_cycle.py +329 -0
  43. crprotocol-2.0.0/crp/advanced/scale_mode.py +129 -0
  44. crprotocol-2.0.0/crp/advanced/source_grounding.py +207 -0
  45. crprotocol-2.0.0/crp/ckf/__init__.py +35 -0
  46. crprotocol-2.0.0/crp/ckf/community.py +377 -0
  47. crprotocol-2.0.0/crp/ckf/fabric.py +445 -0
  48. crprotocol-2.0.0/crp/ckf/gc.py +175 -0
  49. crprotocol-2.0.0/crp/ckf/graph_walk.py +87 -0
  50. crprotocol-2.0.0/crp/ckf/merge.py +133 -0
  51. crprotocol-2.0.0/crp/ckf/pattern_query.py +122 -0
  52. crprotocol-2.0.0/crp/ckf/pubsub.py +128 -0
  53. crprotocol-2.0.0/crp/ckf/semantic.py +207 -0
  54. crprotocol-2.0.0/crp/cli/__init__.py +7 -0
  55. crprotocol-2.0.0/crp/cli/main.py +329 -0
  56. crprotocol-2.0.0/crp/cli/sidecar.py +929 -0
  57. crprotocol-2.0.0/crp/cli/startup.py +272 -0
  58. crprotocol-2.0.0/crp/continuation/__init__.py +103 -0
  59. crprotocol-2.0.0/crp/continuation/completion.py +348 -0
  60. crprotocol-2.0.0/crp/continuation/degradation.py +157 -0
  61. crprotocol-2.0.0/crp/continuation/document_map.py +160 -0
  62. crprotocol-2.0.0/crp/continuation/flow.py +109 -0
  63. crprotocol-2.0.0/crp/continuation/gap.py +419 -0
  64. crprotocol-2.0.0/crp/continuation/manager.py +484 -0
  65. crprotocol-2.0.0/crp/continuation/quality_monitor.py +179 -0
  66. crprotocol-2.0.0/crp/continuation/stitch.py +419 -0
  67. crprotocol-2.0.0/crp/continuation/trigger.py +142 -0
  68. crprotocol-2.0.0/crp/continuation/voice.py +157 -0
  69. crprotocol-2.0.0/crp/core/__init__.py +69 -0
  70. crprotocol-2.0.0/crp/core/batch.py +77 -0
  71. crprotocol-2.0.0/crp/core/circuit_breaker.py +116 -0
  72. crprotocol-2.0.0/crp/core/config.py +377 -0
  73. crprotocol-2.0.0/crp/core/context_tools.py +540 -0
  74. crprotocol-2.0.0/crp/core/dispatch_router.py +3977 -0
  75. crprotocol-2.0.0/crp/core/errors.py +128 -0
  76. crprotocol-2.0.0/crp/core/extraction_facade.py +384 -0
  77. crprotocol-2.0.0/crp/core/facilitator.py +713 -0
  78. crprotocol-2.0.0/crp/core/idempotency.py +215 -0
  79. crprotocol-2.0.0/crp/core/orchestrator.py +1435 -0
  80. crprotocol-2.0.0/crp/core/relay_strategies.py +613 -0
  81. crprotocol-2.0.0/crp/core/security_manager.py +140 -0
  82. crprotocol-2.0.0/crp/core/session.py +134 -0
  83. crprotocol-2.0.0/crp/core/task_intent.py +36 -0
  84. crprotocol-2.0.0/crp/core/window.py +363 -0
  85. crprotocol-2.0.0/crp/envelope/__init__.py +30 -0
  86. crprotocol-2.0.0/crp/envelope/builder.py +288 -0
  87. crprotocol-2.0.0/crp/envelope/decomposer.py +236 -0
  88. crprotocol-2.0.0/crp/envelope/formatter.py +168 -0
  89. crprotocol-2.0.0/crp/envelope/packer.py +211 -0
  90. crprotocol-2.0.0/crp/envelope/reranker.py +209 -0
  91. crprotocol-2.0.0/crp/envelope/scoring.py +310 -0
  92. crprotocol-2.0.0/crp/extraction/__init__.py +45 -0
  93. crprotocol-2.0.0/crp/extraction/complexity.py +96 -0
  94. crprotocol-2.0.0/crp/extraction/contradiction.py +132 -0
  95. crprotocol-2.0.0/crp/extraction/pipeline.py +360 -0
  96. crprotocol-2.0.0/crp/extraction/quality_gate.py +237 -0
  97. crprotocol-2.0.0/crp/extraction/stage1_regex.py +173 -0
  98. crprotocol-2.0.0/crp/extraction/stage2_statistical.py +244 -0
  99. crprotocol-2.0.0/crp/extraction/stage3_gliner.py +210 -0
  100. crprotocol-2.0.0/crp/extraction/stage4_uie.py +183 -0
  101. crprotocol-2.0.0/crp/extraction/stage5_discourse.py +175 -0
  102. crprotocol-2.0.0/crp/extraction/stage6_llm.py +178 -0
  103. crprotocol-2.0.0/crp/extraction/structured_output.py +219 -0
  104. crprotocol-2.0.0/crp/extraction/types.py +299 -0
  105. crprotocol-2.0.0/crp/license_guard.py +722 -0
  106. crprotocol-2.0.0/crp/observability/__init__.py +30 -0
  107. crprotocol-2.0.0/crp/observability/audit.py +118 -0
  108. crprotocol-2.0.0/crp/observability/events.py +233 -0
  109. crprotocol-2.0.0/crp/observability/metrics.py +264 -0
  110. crprotocol-2.0.0/crp/observability/quality.py +135 -0
  111. crprotocol-2.0.0/crp/observability/structured_logging.py +81 -0
  112. crprotocol-2.0.0/crp/observability/telemetry.py +117 -0
  113. crprotocol-2.0.0/crp/provenance/__init__.py +314 -0
  114. crprotocol-2.0.0/crp/provenance/_embeddings.py +97 -0
  115. crprotocol-2.0.0/crp/provenance/_types.py +378 -0
  116. crprotocol-2.0.0/crp/provenance/attribution_scorer.py +252 -0
  117. crprotocol-2.0.0/crp/provenance/claim_detector.py +229 -0
  118. crprotocol-2.0.0/crp/provenance/contradiction_detector.py +243 -0
  119. crprotocol-2.0.0/crp/provenance/distortion_detector.py +397 -0
  120. crprotocol-2.0.0/crp/provenance/entailment_verifier.py +358 -0
  121. crprotocol-2.0.0/crp/provenance/fabrication_detector.py +203 -0
  122. crprotocol-2.0.0/crp/provenance/hallucination_scorer.py +320 -0
  123. crprotocol-2.0.0/crp/provenance/omission_analyzer.py +106 -0
  124. crprotocol-2.0.0/crp/provenance/provenance_chain.py +205 -0
  125. crprotocol-2.0.0/crp/provenance/report_generator.py +440 -0
  126. crprotocol-2.0.0/crp/providers/__init__.py +43 -0
  127. crprotocol-2.0.0/crp/providers/anthropic.py +270 -0
  128. crprotocol-2.0.0/crp/providers/base.py +135 -0
  129. crprotocol-2.0.0/crp/providers/custom.py +63 -0
  130. crprotocol-2.0.0/crp/providers/diagnostic.py +251 -0
  131. crprotocol-2.0.0/crp/providers/llamacpp.py +224 -0
  132. crprotocol-2.0.0/crp/providers/manager.py +139 -0
  133. crprotocol-2.0.0/crp/providers/ollama.py +243 -0
  134. crprotocol-2.0.0/crp/providers/openai.py +628 -0
  135. crprotocol-2.0.0/crp/providers/tokenizers.py +48 -0
  136. crprotocol-2.0.0/crp/py.typed +0 -0
  137. crprotocol-2.0.0/crp/resources/__init__.py +53 -0
  138. crprotocol-2.0.0/crp/resources/adaptive_allocator.py +525 -0
  139. crprotocol-2.0.0/crp/resources/cost_model.py +388 -0
  140. crprotocol-2.0.0/crp/resources/overhead_manager.py +217 -0
  141. crprotocol-2.0.0/crp/resources/resource_manager.py +262 -0
  142. crprotocol-2.0.0/crp/schemas/__init__.py +20 -0
  143. crprotocol-2.0.0/crp/schemas/cost-estimate.json +33 -0
  144. crprotocol-2.0.0/crp/schemas/crp-error.json +43 -0
  145. crprotocol-2.0.0/crp/schemas/envelope-preview.json +40 -0
  146. crprotocol-2.0.0/crp/schemas/persisted-state-header.json +27 -0
  147. crprotocol-2.0.0/crp/schemas/quality-report.json +94 -0
  148. crprotocol-2.0.0/crp/schemas/session-handle.json +33 -0
  149. crprotocol-2.0.0/crp/schemas/session-status.json +57 -0
  150. crprotocol-2.0.0/crp/schemas/stream-event.json +18 -0
  151. crprotocol-2.0.0/crp/schemas/task-intent.json +42 -0
  152. crprotocol-2.0.0/crp/security/__init__.py +93 -0
  153. crprotocol-2.0.0/crp/security/audit_trail.py +392 -0
  154. crprotocol-2.0.0/crp/security/binding.py +192 -0
  155. crprotocol-2.0.0/crp/security/compliance.py +813 -0
  156. crprotocol-2.0.0/crp/security/consent.py +593 -0
  157. crprotocol-2.0.0/crp/security/embedding_defense.py +161 -0
  158. crprotocol-2.0.0/crp/security/encryption.py +202 -0
  159. crprotocol-2.0.0/crp/security/injection.py +335 -0
  160. crprotocol-2.0.0/crp/security/integrity.py +267 -0
  161. crprotocol-2.0.0/crp/security/privacy.py +662 -0
  162. crprotocol-2.0.0/crp/security/quarantine.py +249 -0
  163. crprotocol-2.0.0/crp/security/rbac.py +221 -0
  164. crprotocol-2.0.0/crp/security/validation.py +164 -0
  165. crprotocol-2.0.0/crp/state/__init__.py +31 -0
  166. crprotocol-2.0.0/crp/state/cold_storage.py +258 -0
  167. crprotocol-2.0.0/crp/state/compaction.py +263 -0
  168. crprotocol-2.0.0/crp/state/critical_state.py +104 -0
  169. crprotocol-2.0.0/crp/state/event_log.py +313 -0
  170. crprotocol-2.0.0/crp/state/fact.py +189 -0
  171. crprotocol-2.0.0/crp/state/serialization.py +189 -0
  172. crprotocol-2.0.0/crp/state/session_cleanup.py +77 -0
  173. crprotocol-2.0.0/crp/state/snapshot.py +290 -0
  174. crprotocol-2.0.0/crp/state/warm_store.py +346 -0
  175. crprotocol-2.0.0/docs/OPERATIONS_RUNBOOK.md +265 -0
  176. crprotocol-2.0.0/docs/WASA_INTEGRATION_TUTORIAL.md +2577 -0
  177. crprotocol-2.0.0/examples/async_usage.py +51 -0
  178. crprotocol-2.0.0/examples/benchmark_continuation.py +502 -0
  179. crprotocol-2.0.0/examples/choose_provider.py +46 -0
  180. crprotocol-2.0.0/examples/comply_demo.py +139 -0
  181. crprotocol-2.0.0/examples/demo_app/README.md +131 -0
  182. crprotocol-2.0.0/examples/demo_app/demo.py +1487 -0
  183. crprotocol-2.0.0/examples/demo_app/demo_v1.py +546 -0
  184. crprotocol-2.0.0/examples/extraction-pipeline.md +88 -0
  185. crprotocol-2.0.0/examples/ingestion.py +40 -0
  186. crprotocol-2.0.0/examples/local-model.md +101 -0
  187. crprotocol-2.0.0/examples/multi-provider.md +116 -0
  188. crprotocol-2.0.0/examples/multi_turn.py +45 -0
  189. crprotocol-2.0.0/examples/quickstart.md +93 -0
  190. crprotocol-2.0.0/examples/quickstart.py +30 -0
  191. crprotocol-2.0.0/examples/scribe_demo.py +137 -0
  192. crprotocol-2.0.0/examples/session-resumption.md +112 -0
  193. crprotocol-2.0.0/examples/streaming.py +30 -0
  194. crprotocol-2.0.0/media/logo.svg +41 -0
  195. crprotocol-2.0.0/mkdocs.yml +145 -0
  196. crprotocol-2.0.0/pyproject.toml +122 -0
  197. crprotocol-2.0.0/rfcs/0000-template.md +66 -0
  198. crprotocol-2.0.0/rfcs/0001-initial-release.md +66 -0
  199. crprotocol-2.0.0/schemas/cost-estimate.json +33 -0
  200. crprotocol-2.0.0/schemas/crp-error.json +43 -0
  201. crprotocol-2.0.0/schemas/envelope-preview.json +40 -0
  202. crprotocol-2.0.0/schemas/openapi.json +823 -0
  203. crprotocol-2.0.0/schemas/persisted-state-header.json +27 -0
  204. crprotocol-2.0.0/schemas/quality-report.json +94 -0
  205. crprotocol-2.0.0/schemas/session-handle.json +33 -0
  206. crprotocol-2.0.0/schemas/session-status.json +57 -0
  207. crprotocol-2.0.0/schemas/stream-event.json +18 -0
  208. crprotocol-2.0.0/schemas/task-intent.json +42 -0
  209. crprotocol-2.0.0/scripts/gen_changelog.py +86 -0
  210. crprotocol-2.0.0/site-docs/CNAME +1 -0
  211. crprotocol-2.0.0/site-docs/api/client.md +159 -0
  212. crprotocol-2.0.0/site-docs/api/compliance.md +224 -0
  213. crprotocol-2.0.0/site-docs/api/dispatch.md +242 -0
  214. crprotocol-2.0.0/site-docs/api/index.md +50 -0
  215. crprotocol-2.0.0/site-docs/api/schemas.md +249 -0
  216. crprotocol-2.0.0/site-docs/benchmarks.md +122 -0
  217. crprotocol-2.0.0/site-docs/compliance/eu-ai-act.md +158 -0
  218. crprotocol-2.0.0/site-docs/compliance/gdpr.md +141 -0
  219. crprotocol-2.0.0/site-docs/compliance/index.md +98 -0
  220. crprotocol-2.0.0/site-docs/compliance/iso-42001.md +117 -0
  221. crprotocol-2.0.0/site-docs/compliance/nist-ai-rmf.md +101 -0
  222. crprotocol-2.0.0/site-docs/compliance/security.md +182 -0
  223. crprotocol-2.0.0/site-docs/contributing.md +88 -0
  224. crprotocol-2.0.0/site-docs/getting-started/cli.md +89 -0
  225. crprotocol-2.0.0/site-docs/getting-started/index.md +20 -0
  226. crprotocol-2.0.0/site-docs/getting-started/installation.md +58 -0
  227. crprotocol-2.0.0/site-docs/getting-started/licensing.md +206 -0
  228. crprotocol-2.0.0/site-docs/getting-started/local-models.md +231 -0
  229. crprotocol-2.0.0/site-docs/getting-started/providers.md +103 -0
  230. crprotocol-2.0.0/site-docs/getting-started/quickstart.md +75 -0
  231. crprotocol-2.0.0/site-docs/guides/demo-app.md +126 -0
  232. crprotocol-2.0.0/site-docs/guides/index.md +35 -0
  233. crprotocol-2.0.0/site-docs/guides/ingestion.md +106 -0
  234. crprotocol-2.0.0/site-docs/guides/multi-turn.md +132 -0
  235. crprotocol-2.0.0/site-docs/guides/session-persistence.md +143 -0
  236. crprotocol-2.0.0/site-docs/guides/sidecar.md +171 -0
  237. crprotocol-2.0.0/site-docs/guides/streaming.md +92 -0
  238. crprotocol-2.0.0/site-docs/index.md +260 -0
  239. crprotocol-2.0.0/site-docs/products/comply.md +217 -0
  240. crprotocol-2.0.0/site-docs/products/index.md +174 -0
  241. crprotocol-2.0.0/site-docs/products/scribe.md +215 -0
  242. crprotocol-2.0.0/site-docs/protocol/ckf.md +131 -0
  243. crprotocol-2.0.0/site-docs/protocol/continuation.md +175 -0
  244. crprotocol-2.0.0/site-docs/protocol/core.md +133 -0
  245. crprotocol-2.0.0/site-docs/protocol/dispatch-strategies.md +207 -0
  246. crprotocol-2.0.0/site-docs/protocol/envelope.md +121 -0
  247. crprotocol-2.0.0/site-docs/protocol/extraction.md +161 -0
  248. crprotocol-2.0.0/site-docs/protocol/index.md +88 -0
  249. crprotocol-2.0.0/site-docs/protocol/meta-learning.md +218 -0
  250. crprotocol-2.0.0/site-docs/protocol/provenance.md +233 -0
  251. crprotocol-2.0.0/site-docs/protocol/quality-tiers.md +154 -0
  252. crprotocol-2.0.0/site-docs/protocol/research.md +270 -0
  253. crprotocol-2.0.0/site-docs/terms-of-service.md +178 -0
  254. crprotocol-2.0.0/site-docs/testing/benchmarks.md +141 -0
  255. crprotocol-2.0.0/site-docs/testing/index.md +46 -0
  256. crprotocol-2.0.0/site-docs/testing/reproduce.md +165 -0
  257. crprotocol-2.0.0/site-docs/testing/running-tests.md +230 -0
  258. crprotocol-2.0.0/site-docs/why-crp.md +190 -0
  259. crprotocol-2.0.0/specification/01_RESEARCH_FOUNDATIONS.md +363 -0
  260. crprotocol-2.0.0/specification/02_CORE_PROTOCOL.md +6960 -0
  261. crprotocol-2.0.0/specification/03_CONTEXT_ENVELOPE.md +838 -0
  262. crprotocol-2.0.0/specification/04_TOKEN_GENERATION_PROTOCOL.md +1053 -0
  263. crprotocol-2.0.0/specification/05_SYSTEM_WIDE_INTEGRATION.md +466 -0
  264. crprotocol-2.0.0/specification/06_IMPLEMENTATION_PLAN.md +1130 -0
  265. crprotocol-2.0.0/specification/07_SECURITY.md +593 -0
  266. crprotocol-2.0.0/specification/08_MONETIZATION.md +499 -0
  267. crprotocol-2.0.0/specification/09_DEPLOYMENT.md +467 -0
  268. crprotocol-2.0.0/tests/conftest.py +28 -0
  269. crprotocol-2.0.0/tests/killer_test/crp_killer_report.json +159 -0
  270. crprotocol-2.0.0/tests/killer_test/crp_killer_report.txt +348 -0
  271. crprotocol-2.0.0/tests/killer_test/crp_killer_test.py +471 -0
  272. crprotocol-2.0.0/tests/killer_test/debug_gap.py +150 -0
  273. crprotocol-2.0.0/tests/killer_test/debug_gap2.py +55 -0
  274. crprotocol-2.0.0/tests/test_adaptive_allocator.py +560 -0
  275. crprotocol-2.0.0/tests/test_adversarial_provenance.py +489 -0
  276. crprotocol-2.0.0/tests/test_agentic.py +1348 -0
  277. crprotocol-2.0.0/tests/test_benchmarks.py +321 -0
  278. crprotocol-2.0.0/tests/test_ckf_gate.py +218 -0
  279. crprotocol-2.0.0/tests/test_compliance_security.py +882 -0
  280. crprotocol-2.0.0/tests/test_compliance_wiring.py +536 -0
  281. crprotocol-2.0.0/tests/test_decision_provenance.py +489 -0
  282. crprotocol-2.0.0/tests/test_decision_provenance_engine.py +889 -0
  283. crprotocol-2.0.0/tests/test_entailment_risk.py +1045 -0
  284. crprotocol-2.0.0/tests/test_fidelity_verification.py +984 -0
  285. crprotocol-2.0.0/tests/test_gap_fixes_live.py +690 -0
  286. crprotocol-2.0.0/tests/test_integration.py +667 -0
  287. crprotocol-2.0.0/tests/test_ip_protection.py +956 -0
  288. crprotocol-2.0.0/tests/test_live_comprehensive.py +869 -0
  289. crprotocol-2.0.0/tests/test_live_full_capture.py +943 -0
  290. crprotocol-2.0.0/tests/test_live_long_generation.py +578 -0
  291. crprotocol-2.0.0/tests/test_live_verification.py +445 -0
  292. crprotocol-2.0.0/tests/test_phase1.py +962 -0
  293. crprotocol-2.0.0/tests/test_phase2.py +779 -0
  294. crprotocol-2.0.0/tests/test_phase3.py +803 -0
  295. crprotocol-2.0.0/tests/test_phase4.py +961 -0
  296. crprotocol-2.0.0/tests/test_phase5.py +747 -0
  297. crprotocol-2.0.0/tests/test_phase6.py +694 -0
  298. crprotocol-2.0.0/tests/test_phase7.py +930 -0
  299. crprotocol-2.0.0/tests/test_phase8.py +567 -0
  300. crprotocol-2.0.0/tests/test_phase9.py +573 -0
  301. crprotocol-2.0.0/tests/test_production_hardening.py +531 -0
  302. crprotocol-2.0.0/tests/test_relay_strategies.py +839 -0
  303. crprotocol-2.0.0/tests/test_resource_manager.py +429 -0
  304. crprotocol-2.0.0/tests/test_security_modules.py +396 -0
  305. crprotocol-2.0.0/tests/test_smoke.py +62 -0
  306. crprotocol-2.0.0/tests/test_tool_relay.py +567 -0
@@ -0,0 +1,36 @@
1
+ # CRP container ignores — keep image small
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.so
5
+ .mypy_cache/
6
+ .pytest_cache/
7
+ .ruff_cache/
8
+ .hypothesis/
9
+ dist/
10
+ build/
11
+ *.egg-info/
12
+ tests/
13
+ docs/
14
+ examples/
15
+ rfcs/
16
+ specification/
17
+ schemas/
18
+ media/
19
+ crp_sessions/
20
+ _long_gen_results/
21
+ _*.py
22
+ _*.txt
23
+ _*.json
24
+ _*.jsonl
25
+ *.tmp
26
+ *.bak
27
+ *.md
28
+ !README.md
29
+ !LICENSE.md
30
+ .git/
31
+ .github/
32
+ .vscode/
33
+ .idea/
34
+ .pre-commit-config.yaml
35
+ Dockerfile
36
+ .dockerignore
@@ -0,0 +1,32 @@
1
+ # CRP Repository Code Owners
2
+ # See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
3
+ #
4
+ # These owners are REQUIRED reviewers for all PRs touching their areas.
5
+ # No PR can be merged without approval from the relevant code owner(s).
6
+
7
+ # ── Global: Everything requires maintainer approval ──
8
+ * @Constantinos-uni
9
+
10
+ # ── Specification: Core protocol documents ──
11
+ /specification/ @Constantinos-uni
12
+ /schemas/ @Constantinos-uni
13
+ /rfcs/ @Constantinos-uni
14
+
15
+ # ── SDK Implementation ──
16
+ /crp/ @Constantinos-uni
17
+
18
+ # ── Licensing & Governance ──
19
+ LICENSE.md @Constantinos-uni
20
+ GOVERNANCE.md @Constantinos-uni
21
+ SECURITY.md @Constantinos-uni
22
+ CODE_OF_CONDUCT.md @Constantinos-uni
23
+ CONTRIBUTING.md @Constantinos-uni
24
+
25
+ # ── CI/CD & Infrastructure ──
26
+ /.github/ @Constantinos-uni
27
+ pyproject.toml @Constantinos-uni
28
+ mkdocs.yml @Constantinos-uni
29
+
30
+ # ── Documentation site ──
31
+ /site-docs/ @Constantinos-uni
32
+ /docs/ @Constantinos-uni
@@ -0,0 +1,6 @@
1
+ # Funding links for CRP™ — Context Relay Protocol
2
+ # https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
3
+
4
+ github: Constantinos-uni
5
+ custom:
6
+ - "https://crprotocol.io"
@@ -0,0 +1,50 @@
1
+ name: Bug Report
2
+ description: Report an issue with the CRP specification or schemas
3
+ title: "[Bug]: "
4
+ labels: ["bug"]
5
+ body:
6
+ - type: dropdown
7
+ id: component
8
+ attributes:
9
+ label: Component
10
+ description: Which part of the specification is affected?
11
+ options:
12
+ - Core Protocol (02_CORE_PROTOCOL.md)
13
+ - Context Envelope (03_CONTEXT_ENVELOPE.md)
14
+ - Token Generation (04_TOKEN_GENERATION_PROTOCOL.md)
15
+ - System Integration (05_SYSTEM_WIDE_INTEGRATION.md)
16
+ - Implementation Plan (06_IMPLEMENTATION_PLAN.md)
17
+ - Security (07_SECURITY.md)
18
+ - Monetization (08_MONETIZATION.md)
19
+ - Deployment (09_DEPLOYMENT.md)
20
+ - JSON Schemas
21
+ - Examples
22
+ - README
23
+ validations:
24
+ required: true
25
+ - type: textarea
26
+ id: description
27
+ attributes:
28
+ label: Description
29
+ description: A clear description of the issue
30
+ placeholder: Describe the bug or inconsistency...
31
+ validations:
32
+ required: true
33
+ - type: textarea
34
+ id: location
35
+ attributes:
36
+ label: Location
37
+ description: Specific section, line numbers, or schema files affected
38
+ placeholder: "e.g., §3.8, line 1400 in 02_CORE_PROTOCOL.md"
39
+ validations:
40
+ required: true
41
+ - type: textarea
42
+ id: expected
43
+ attributes:
44
+ label: Expected Behavior
45
+ description: What should the specification say?
46
+ - type: textarea
47
+ id: context
48
+ attributes:
49
+ label: Additional Context
50
+ description: Any additional context, references, or related sections
@@ -0,0 +1,52 @@
1
+ name: Feature Request
2
+ description: Propose a new feature or capability for CRP
3
+ title: "[Feature]: "
4
+ labels: ["enhancement"]
5
+ body:
6
+ - type: textarea
7
+ id: problem
8
+ attributes:
9
+ label: Problem Statement
10
+ description: What problem does this feature solve?
11
+ placeholder: "I'm trying to ... but CRP doesn't support ..."
12
+ validations:
13
+ required: true
14
+ - type: textarea
15
+ id: proposal
16
+ attributes:
17
+ label: Proposed Solution
18
+ description: Describe your proposed addition to the specification
19
+ validations:
20
+ required: true
21
+ - type: textarea
22
+ id: alternatives
23
+ attributes:
24
+ label: Alternatives Considered
25
+ description: What other approaches did you consider?
26
+ - type: dropdown
27
+ id: breaking
28
+ attributes:
29
+ label: Breaking Change?
30
+ description: Would this require changes to existing Stable APIs?
31
+ options:
32
+ - "No — purely additive"
33
+ - "Yes — changes existing behavior"
34
+ - "Unsure"
35
+ validations:
36
+ required: true
37
+ - type: dropdown
38
+ id: scope
39
+ attributes:
40
+ label: Scope
41
+ description: Which area of the specification is affected?
42
+ options:
43
+ - Core Protocol
44
+ - Extraction Pipeline
45
+ - CKF / Knowledge Fabric
46
+ - API / Schemas
47
+ - Security
48
+ - Deployment
49
+ - Observability
50
+ - Other
51
+ validations:
52
+ required: true
@@ -0,0 +1,36 @@
1
+ name: Spec Clarification
2
+ description: Request clarification on a specification section
3
+ title: "[Clarification]: "
4
+ labels: ["clarification"]
5
+ body:
6
+ - type: textarea
7
+ id: section
8
+ attributes:
9
+ label: Section Reference
10
+ description: Which section(s) need clarification?
11
+ placeholder: "e.g., §6.10.2 TaskIntent schema, §3.8 CKF retrieval modes"
12
+ validations:
13
+ required: true
14
+ - type: textarea
15
+ id: question
16
+ attributes:
17
+ label: Question
18
+ description: What is unclear or ambiguous?
19
+ validations:
20
+ required: true
21
+ - type: textarea
22
+ id: suggestion
23
+ attributes:
24
+ label: Suggested Clarification
25
+ description: If you have a suggestion for how to clarify, include it here
26
+ - type: dropdown
27
+ id: impact
28
+ attributes:
29
+ label: Impact Level
30
+ description: How does this ambiguity affect implementation?
31
+ options:
32
+ - Blocking — cannot implement without clarification
33
+ - Significant — multiple valid interpretations possible
34
+ - Minor — wording improvement, intent is clear
35
+ validations:
36
+ required: true
@@ -0,0 +1,34 @@
1
+ ## Description
2
+
3
+ <!-- Briefly describe what this PR changes and why -->
4
+
5
+ ## Type of Change
6
+
7
+ - [ ] Typo / wording fix
8
+ - [ ] Specification clarification (no semantic change)
9
+ - [ ] Non-breaking addition (new optional field, new example)
10
+ - [ ] Breaking change (requires RFC)
11
+ - [ ] Schema change
12
+ - [ ] Example addition/update
13
+ - [ ] Documentation (README, CONTRIBUTING, etc.)
14
+
15
+ ## Specification Sections Affected
16
+
17
+ <!-- List affected sections, e.g., §3.8, §6.10.2, §22 -->
18
+
19
+ ## RFC 2119 Impact
20
+
21
+ <!-- If this changes any MUST/SHOULD/MAY requirements, list them here -->
22
+
23
+ - [ ] No RFC 2119 changes
24
+ - [ ] Changes MUST/MUST NOT requirements
25
+ - [ ] Changes SHOULD/SHOULD NOT requirements
26
+ - [ ] Changes MAY requirements
27
+
28
+ ## Checklist
29
+
30
+ - [ ] I have read the [Contributing Guide](CONTRIBUTING.md)
31
+ - [ ] JSON Schemas validate correctly (if modified)
32
+ - [ ] Cross-references are correct (§ references point to valid sections)
33
+ - [ ] CHANGELOG.md is updated (for user-facing changes)
34
+ - [ ] No broken links in modified documents
@@ -0,0 +1,46 @@
1
+ # Copyright © 2025 Constantinos Vidiniotis. All rights reserved.
2
+ # Licensed under Elastic License 2.0 — see LICENSE.md for details.
3
+
4
+ name: CI
5
+
6
+ on:
7
+ push:
8
+ branches: [main]
9
+ pull_request:
10
+ branches: [main]
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ lint-and-test:
17
+ runs-on: ubuntu-latest
18
+ strategy:
19
+ matrix:
20
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
21
+
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+
25
+ - name: Set up Python ${{ matrix.python-version }}
26
+ uses: actions/setup-python@v5
27
+ with:
28
+ python-version: ${{ matrix.python-version }}
29
+
30
+ - name: Install dependencies
31
+ run: |
32
+ python -m pip install --upgrade pip
33
+ pip install -e ".[dev]"
34
+
35
+ - name: Lint with ruff
36
+ run: ruff check crp/ tests/
37
+
38
+ - name: Type check with mypy
39
+ run: mypy crp/ --ignore-missing-imports
40
+
41
+ - name: Run tests with coverage
42
+ run: pytest tests/ -v --tb=short --cov=crp --cov-report=term-missing --cov-fail-under=80
43
+
44
+ - name: Dependency audit
45
+ run: pip-audit --strict --desc on
46
+ continue-on-error: true # advisory until all deps are pinned
@@ -0,0 +1,8 @@
1
+ {
2
+ "ignorePatterns": [
3
+ {
4
+ "pattern": "^https?://"
5
+ }
6
+ ],
7
+ "aliveStatusCodes": [200, 206, 301, 302, 403]
8
+ }
@@ -0,0 +1,19 @@
1
+ name: Check Links
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ link-check:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - name: Check internal links
16
+ uses: gaurav-nelson/github-action-markdown-link-check@v1
17
+ with:
18
+ use-quiet-mode: 'yes'
19
+ config-file: '.github/workflows/link-check-config.json'
@@ -0,0 +1,34 @@
1
+ name: Validate JSON Schemas
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ paths:
7
+ - 'schemas/**'
8
+ pull_request:
9
+ branches: [ main ]
10
+ paths:
11
+ - 'schemas/**'
12
+
13
+ jobs:
14
+ validate:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Set up Node.js
20
+ uses: actions/setup-node@v4
21
+ with:
22
+ node-version: '20'
23
+
24
+ - name: Install ajv-cli
25
+ run: npm install -g ajv-cli ajv-formats
26
+
27
+ - name: Validate all schemas
28
+ run: |
29
+ echo "Validating JSON Schema files..."
30
+ for schema in schemas/*.json; do
31
+ echo " Validating: $schema"
32
+ ajv compile -s "$schema" --spec=draft2020 -c ajv-formats || exit 1
33
+ done
34
+ echo "All schemas valid!"
@@ -0,0 +1,61 @@
1
+ # OS files
2
+ .DS_Store
3
+ Thumbs.db
4
+ desktop.ini
5
+
6
+ # Editor files
7
+ *.swp
8
+ *.swo
9
+ *~
10
+ .vscode/
11
+ .idea/
12
+ *.sublime-*
13
+
14
+ # Node modules (for schema validation)
15
+ node_modules/
16
+
17
+ # Build outputs
18
+ dist/
19
+ build/
20
+ *.egg-info/
21
+ site/
22
+
23
+ # Python
24
+ __pycache__/
25
+ *.py[cod]
26
+ *.so
27
+ .mypy_cache/
28
+ .pytest_cache/
29
+ .ruff_cache/
30
+ *.egg
31
+ pip-wheel-metadata/
32
+
33
+ # Temporary files
34
+ *.tmp
35
+ *.bak
36
+
37
+ # Runtime session data
38
+ crp_sessions/
39
+ .hypothesis/
40
+
41
+ # Dev scratch files (root-level only)
42
+ /_*.py
43
+ /_*.txt
44
+ /_*.json
45
+ /_*.jsonl
46
+ /_full_*
47
+ /_long_gen*
48
+ /_live_*
49
+ /_check_*
50
+ /_dep_*
51
+ /_pytest_count*
52
+ /_test_*
53
+ /_tr.*
54
+ /_batch*
55
+ /0.80)
56
+ /_long_gen_results/
57
+ /type_confidence
58
+ /[0-9][0-9][0-9]*
59
+
60
+ # Numeric test output directories
61
+ /[0-9]*/
@@ -0,0 +1,31 @@
1
+ # Copyright © 2025 Constantinos Vidiniotis. All rights reserved.
2
+ # Licensed under Elastic License 2.0 — see LICENSE.md for details.
3
+ #
4
+ # Install: pip install pre-commit && pre-commit install
5
+
6
+ repos:
7
+ - repo: https://github.com/pre-commit/pre-commit-hooks
8
+ rev: v4.6.0
9
+ hooks:
10
+ - id: trailing-whitespace
11
+ - id: end-of-file-fixer
12
+ - id: check-yaml
13
+ - id: check-json
14
+ - id: check-added-large-files
15
+ args: ['--maxkb=500']
16
+ - id: check-merge-conflict
17
+ - id: detect-private-key
18
+
19
+ - repo: https://github.com/astral-sh/ruff-pre-commit
20
+ rev: v0.4.4
21
+ hooks:
22
+ - id: ruff
23
+ args: [--fix]
24
+
25
+ - repo: https://github.com/pre-commit/mirrors-mypy
26
+ rev: v1.10.0
27
+ hooks:
28
+ - id: mypy
29
+ additional_dependencies: []
30
+ args: [--ignore-missing-imports]
31
+ files: ^crp/