crprotocol 4.3.0__tar.gz → 4.3.2__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 (979) hide show
  1. {crprotocol-4.3.0 → crprotocol-4.3.2}/CHANGELOG.md +41 -0
  2. {crprotocol-4.3.0 → crprotocol-4.3.2}/PKG-INFO +1 -1
  3. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/__init__.py +6 -0
  4. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/_version.py +1 -1
  5. crprotocol-4.3.2/crp/core/app_profile.py +295 -0
  6. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/dispatch_router.py +30 -19
  7. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/orchestrator.py +79 -3
  8. crprotocol-4.3.2/crp/integrations/app_discovery.py +194 -0
  9. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/discovery.py +523 -486
  10. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/llamacpp.py +399 -231
  11. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/ollama.py +375 -250
  12. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/sdk/client.py +91 -11
  13. crprotocol-4.3.2/tests/test_app_profile.py +100 -0
  14. crprotocol-4.3.2/tests/test_app_profile_integration.py +210 -0
  15. crprotocol-4.3.2/tests/test_discovery_provider_bridge.py +56 -0
  16. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_smoke.py +1 -1
  17. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_tool_relay.py +91 -0
  18. {crprotocol-4.3.0 → crprotocol-4.3.2}/.dockerignore +0 -0
  19. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/CODEOWNERS +0 -0
  20. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/FUNDING.yml +0 -0
  21. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  22. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  23. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/ISSUE_TEMPLATE/spec-clarification.yml +0 -0
  24. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  25. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/workflows/ci.yml +0 -0
  26. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/workflows/docs.yml +0 -0
  27. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/workflows/link-check-config.json +0 -0
  28. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/workflows/link-check.yml +0 -0
  29. {crprotocol-4.3.0 → crprotocol-4.3.2}/.github/workflows/validate-schemas.yml +0 -0
  30. {crprotocol-4.3.0 → crprotocol-4.3.2}/.gitignore +0 -0
  31. {crprotocol-4.3.0 → crprotocol-4.3.2}/.kimi/skills/crp-auth-expert/SKILL.md +0 -0
  32. {crprotocol-4.3.0 → crprotocol-4.3.2}/.kimi/skills/crp-comply-expert/SKILL.md +0 -0
  33. {crprotocol-4.3.0 → crprotocol-4.3.2}/.kimi/skills/crp-gateway-expert/SKILL.md +0 -0
  34. {crprotocol-4.3.0 → crprotocol-4.3.2}/.kimi/skills/crp-v4-expert/SKILL.md +0 -0
  35. {crprotocol-4.3.0 → crprotocol-4.3.2}/.kimi/skills/crp-v4-specs/SKILL.md +0 -0
  36. {crprotocol-4.3.0 → crprotocol-4.3.2}/.kimi/skills/programmatic-video-production/SKILL.md +0 -0
  37. {crprotocol-4.3.0 → crprotocol-4.3.2}/.kimi/skills/programmatic-video-production/references/tool-comparison.md +0 -0
  38. {crprotocol-4.3.0 → crprotocol-4.3.2}/.pre-commit-config.yaml +0 -0
  39. {crprotocol-4.3.0 → crprotocol-4.3.2}/3.1.0 +0 -0
  40. {crprotocol-4.3.0 → crprotocol-4.3.2}/AGENTS.md +0 -0
  41. {crprotocol-4.3.0 → crprotocol-4.3.2}/AI Agent adoption/CRP-AGENT-ADOPTION-STRATEGY.md +0 -0
  42. {crprotocol-4.3.0 → crprotocol-4.3.2}/AI Agent adoption/CRP-MCP-SERVER-SPECIFICATION.md +0 -0
  43. {crprotocol-4.3.0 → crprotocol-4.3.2}/AI Agent adoption/CRP-SKILL.md +0 -0
  44. {crprotocol-4.3.0 → crprotocol-4.3.2}/AI Agent adoption/llms-full.txt +0 -0
  45. {crprotocol-4.3.0 → crprotocol-4.3.2}/AI Agent adoption/llms.txt +0 -0
  46. {crprotocol-4.3.0 → crprotocol-4.3.2}/BENCHMARKS.md +0 -0
  47. {crprotocol-4.3.0 → crprotocol-4.3.2}/CNAME +0 -0
  48. {crprotocol-4.3.0 → crprotocol-4.3.2}/CODE_OF_CONDUCT.md +0 -0
  49. {crprotocol-4.3.0 → crprotocol-4.3.2}/CONTRIBUTING.md +0 -0
  50. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP Comply LLM connection methods issues prompt.txt +0 -0
  51. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP protocol ecosystem figure.png +0 -0
  52. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP-COMPLY-AI-SAFETY-PLAN.md +0 -0
  53. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP-COMPLY-UPGRADE-REPORT-v2.md +0 -0
  54. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP-COMPLY-UPGRADE-REPORT.md +0 -0
  55. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP-SHARED-HERO-POSITIONING.md +0 -0
  56. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP-v4-SPRINT-REPORT.md +0 -0
  57. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP-v4-VISUAL-AUDIT-RATING.md +0 -0
  58. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP_CAPABILITIES.md +0 -0
  59. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP_Comply_github_app_details.txt +0 -0
  60. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRP_protocol_FULL_transparent_white.png +0 -0
  61. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRPv4_Implementation_Rounds.md +0 -0
  62. {crprotocol-4.3.0 → crprotocol-4.3.2}/CRPv4_realised_deliverables.md +0 -0
  63. {crprotocol-4.3.0 → crprotocol-4.3.2}/D1_CRP_Protocol_Marketing_Update.docx +0 -0
  64. {crprotocol-4.3.0 → crprotocol-4.3.2}/Dockerfile +0 -0
  65. {crprotocol-4.3.0 → crprotocol-4.3.2}/GOVERNANCE.md +0 -0
  66. {crprotocol-4.3.0 → crprotocol-4.3.2}/HOSTING_POSITIONING.md +0 -0
  67. {crprotocol-4.3.0 → crprotocol-4.3.2}/INTERNAL_DOCS.md +0 -0
  68. {crprotocol-4.3.0 → crprotocol-4.3.2}/LICENSE.md +0 -0
  69. {crprotocol-4.3.0 → crprotocol-4.3.2}/NOTICE +0 -0
  70. {crprotocol-4.3.0 → crprotocol-4.3.2}/RAILWAY_DEPLOYMENT_GUIDE.md +0 -0
  71. {crprotocol-4.3.0 → crprotocol-4.3.2}/RAILWAY_VARIABLES.md +0 -0
  72. {crprotocol-4.3.0 → crprotocol-4.3.2}/README.md +0 -0
  73. {crprotocol-4.3.0 → crprotocol-4.3.2}/SECURITY.md +0 -0
  74. {crprotocol-4.3.0 → crprotocol-4.3.2}/SITE_NAVIGATION_AND_PUBLISHING.md +0 -0
  75. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-BUILD-PROMPT.md +0 -0
  76. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-CODER-BRIEF.md +0 -0
  77. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-GATEWAY-BLUEPRINT.md +0 -0
  78. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-MASTER-INDEX.md +0 -0
  79. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-SDK-REFERENCE.md +0 -0
  80. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-FEASIBILITY.md +0 -0
  81. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-IANA-RESPONSE-STRATEGY.md +0 -0
  82. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-IETF-EMAIL-TEMPLATES.md +0 -0
  83. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-PUBLIC-CHECKLIST.md +0 -0
  84. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SITE-STRATEGY.md +0 -0
  85. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-001-core-protocol.md +0 -0
  86. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-002-headers.md +0 -0
  87. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-003-envelope.md +0 -0
  88. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-004-continuation.md +0 -0
  89. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-005-dpe.md +0 -0
  90. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-006-safety-policy.md +0 -0
  91. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-007-session-token.md +0 -0
  92. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-008-dispatch.md +0 -0
  93. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-009-ckf.md +0 -0
  94. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-010-regulatory-mapping.md +0 -0
  95. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-011-audit-trail.md +0 -0
  96. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-012-multi-agent-safety.md +0 -0
  97. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-013-github-action.md +0 -0
  98. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-014-conformance.md +0 -0
  99. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-015-security-privacy.md +0 -0
  100. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-016-gateway-service.md +0 -0
  101. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-017-zero-ckf-mode.md +0 -0
  102. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-018-air.md +0 -0
  103. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-019-cognitive-quality.md +0 -0
  104. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-020-cognitive-load-distribution.md +0 -0
  105. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-021-reasoning-orchestration.md +0 -0
  106. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-022-execution-fabric.md +0 -0
  107. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-023-amplification-boundary.md +0 -0
  108. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-024-coverage-differential-retrieval.md +0 -0
  109. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-025-graph-retrieval.md +0 -0
  110. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-026-semantic-quality-benchmark.md +0 -0
  111. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-027-retrieval-integrity.md +0 -0
  112. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-028-conversational-context.md +0 -0
  113. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-029-ephemeral-tool-context.md +0 -0
  114. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-030-cognitive-state-relay.md +0 -0
  115. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-031-semantic-task-layer.md +0 -0
  116. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-032-developer-experience.md +0 -0
  117. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-033-safety-control-plane.md +0 -0
  118. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-034-safety-coverage.md +0 -0
  119. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-035-context-lifecycle.md +0 -0
  120. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-036-scan-remediation.md +0 -0
  121. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-037-unified-config.md +0 -0
  122. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-038-storage-backends.md +0 -0
  123. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-039-semantic-code-ingestion.md +0 -0
  124. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-040-crp-comply.md +0 -0
  125. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-041-adoption-ecosystem.md +0 -0
  126. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-HOSTING-CONTROL.md +0 -0
  127. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SUBMISSION-GUIDE.md +0 -0
  128. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-MASTER-INDEX.md +0 -0
  129. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-SPEC-040-crp-comply.md +0 -0
  130. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-SPEC-041-adoption-ecosystem.md +0 -0
  131. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-FEASIBILITY.md +0 -0
  132. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-IETF-EMAIL-TEMPLATES.md +0 -0
  133. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-PUBLIC-CHECKLIST.md +0 -0
  134. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SITE-STRATEGY.md +0 -0
  135. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-001-core-protocol.md +0 -0
  136. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-002-headers.md +0 -0
  137. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-003-envelope.md +0 -0
  138. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-004-continuation.md +0 -0
  139. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-005-dpe.md +0 -0
  140. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-006-safety-policy.md +0 -0
  141. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-007-session-token.md +0 -0
  142. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-008-dispatch.md +0 -0
  143. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-009-ckf.md +0 -0
  144. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-010-regulatory-mapping.md +0 -0
  145. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-011-audit-trail.md +0 -0
  146. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-012-multi-agent-safety.md +0 -0
  147. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-013-github-action.md +0 -0
  148. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-014-conformance.md +0 -0
  149. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-015-security-privacy.md +0 -0
  150. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-016-gateway-service.md +0 -0
  151. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-017-zero-ckf-mode.md +0 -0
  152. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-HOSTING-CONTROL.md +0 -0
  153. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SUBMISSION-GUIDE.md +0 -0
  154. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-V3-IMPLEMENTATION-PLAN.md +0 -0
  155. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/Overview of all documents.docx +0 -0
  156. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/SUBMISSION-GUIDE.md +0 -0
  157. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/TRACKING_OF_PROGRESS.MD +0 -0
  158. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/crp-headers-spec.html +0 -0
  159. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/crp-product-ecosystem.html +0 -0
  160. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_27-05-2027/crp-v3-complete-spec.html +0 -0
  161. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/Automated prompt-response review, questions, actions and insights.txt +0 -0
  162. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-AUTH-MIGRATION-SPRINT-SUMMARY.md +0 -0
  163. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-AUTH-POSTGRESQL-MIGRATION-PLAN.md +0 -0
  164. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-AUTH-USER-MANAGEMENT-SOLUTION.md +0 -0
  165. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-BUILD-PROMPT.md +0 -0
  166. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-CODER-BRIEF.md +0 -0
  167. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-COMPLY-BUILDER-PROMPT.md +0 -0
  168. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-COMPLY-UPGRADE-HANDOFF.md +0 -0
  169. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-ECOSYSTEM-BOUNDARIES.md +0 -0
  170. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-GATEWAY-BLUEPRINT.md +0 -0
  171. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-GATEWAY-PRODUCT-OVERVIEW.md +0 -0
  172. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-GITHUB-APP-GUIDE.md +0 -0
  173. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-GITHUB-CONNECTIVITY-SOLUTION.md +0 -0
  174. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-MARKET-STRATEGY.md +0 -0
  175. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-MASTER-INDEX.md +0 -0
  176. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-RAILWAY-SETUP-GUIDE.md +0 -0
  177. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-SDK-REFERENCE.md +0 -0
  178. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-STRIPE-SETUP-GUIDE.md +0 -0
  179. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-V4-UPGRADE-PROMPT.md +0 -0
  180. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-v4-PHASED-IMPLEMENTATION-REPORT.md +0 -0
  181. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/adversarially-robust-safety.md +0 -0
  182. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/mfa_plan.md +0 -0
  183. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-FEASIBILITY.md +0 -0
  184. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-IANA-RESPONSE-STRATEGY.md +0 -0
  185. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-IETF-EMAIL-TEMPLATES.md +0 -0
  186. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-PUBLIC-CHECKLIST.md +0 -0
  187. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SITE-STRATEGY.md +0 -0
  188. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-001-core-protocol.md +0 -0
  189. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-002-headers.md +0 -0
  190. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-003-envelope.md +0 -0
  191. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-004-continuation.md +0 -0
  192. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-005-dpe.md +0 -0
  193. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-006-safety-policy.md +0 -0
  194. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-007-session-token.md +0 -0
  195. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-008-dispatch.md +0 -0
  196. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-009-ckf.md +0 -0
  197. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-010-regulatory-mapping.md +0 -0
  198. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-011-audit-trail.md +0 -0
  199. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-012-multi-agent-safety.md +0 -0
  200. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-013-github-action.md +0 -0
  201. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-014-conformance.md +0 -0
  202. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-015-security-privacy.md +0 -0
  203. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-016-gateway-service.md +0 -0
  204. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-017-zero-ckf-mode.md +0 -0
  205. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-018-air.md +0 -0
  206. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-019-cognitive-quality.md +0 -0
  207. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-020-cognitive-load-distribution.md +0 -0
  208. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-021-reasoning-orchestration.md +0 -0
  209. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-022-execution-fabric.md +0 -0
  210. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-023-amplification-boundary.md +0 -0
  211. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-024-coverage-differential-retrieval.md +0 -0
  212. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-025-graph-retrieval.md +0 -0
  213. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-026-semantic-quality-benchmark.md +0 -0
  214. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-027-retrieval-integrity.md +0 -0
  215. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-028-conversational-context.md +0 -0
  216. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-029-ephemeral-tool-context.md +0 -0
  217. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-030-cognitive-state-relay.md +0 -0
  218. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-031-semantic-task-layer.md +0 -0
  219. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-032-developer-experience.md +0 -0
  220. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-033-safety-control-plane.md +0 -0
  221. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-034-safety-coverage.md +0 -0
  222. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-035-context-lifecycle.md +0 -0
  223. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-036-scan-remediation.md +0 -0
  224. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-037-unified-config.md +0 -0
  225. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-038-storage-backends.md +0 -0
  226. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-039-semantic-code-ingestion.md +0 -0
  227. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-040-crp-comply.md +0 -0
  228. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-041-adoption-ecosystem.md +0 -0
  229. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-042-comply-upgrade-integration.md +0 -0
  230. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-043-gateway-runtime-product.md +0 -0
  231. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-044-authoritative-domain-agent.md +0 -0
  232. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-045-knowledge-learning.md +0 -0
  233. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-046-user-defined-cognition.md +0 -0
  234. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-047-monetisation-payments.md +0 -0
  235. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-048-comply-lowcode-github.md +0 -0
  236. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-HOSTING-CONTROL.md +0 -0
  237. {crprotocol-4.3.0 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SUBMISSION-GUIDE.md +0 -0
  238. {crprotocol-4.3.0 → crprotocol-4.3.2}/STRIPE_MONETISATION.md +0 -0
  239. {crprotocol-4.3.0 → crprotocol-4.3.2}/TRADEMARK.md +0 -0
  240. {crprotocol-4.3.0 → crprotocol-4.3.2}/android-chrome-192x192.png +0 -0
  241. {crprotocol-4.3.0 → crprotocol-4.3.2}/android-chrome-512x512.png +0 -0
  242. {crprotocol-4.3.0 → crprotocol-4.3.2}/apple-touch-icon.png +0 -0
  243. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/__main__.py +0 -0
  244. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/_typing.py +0 -0
  245. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/activation/__init__.py +0 -0
  246. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/activation/mode.py +0 -0
  247. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/activation/onboarding.py +0 -0
  248. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/activation/policy_adjust.py +0 -0
  249. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/activation/stages.py +0 -0
  250. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/adapters.py +0 -0
  251. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/__init__.py +0 -0
  252. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/auto_ingest.py +0 -0
  253. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/cqs.py +0 -0
  254. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/cross_window.py +0 -0
  255. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/curator.py +0 -0
  256. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/feedback.py +0 -0
  257. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/hierarchical.py +0 -0
  258. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/meta_learning.py +0 -0
  259. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/parallel.py +0 -0
  260. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/review_cycle.py +0 -0
  261. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/scale_mode.py +0 -0
  262. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/advanced/source_grounding.py +0 -0
  263. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/agent/__init__.py +0 -0
  264. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/agent/budget.py +0 -0
  265. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/agent/chain.py +0 -0
  266. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/agent/oversight.py +0 -0
  267. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/agent/propagation.py +0 -0
  268. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/__init__.py +0 -0
  269. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/cdgr.py +0 -0
  270. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/community.py +0 -0
  271. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/fabric.py +0 -0
  272. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/gc.py +0 -0
  273. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/graph_edges.py +0 -0
  274. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/graph_walk.py +0 -0
  275. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/merge.py +0 -0
  276. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/pattern_query.py +0 -0
  277. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/pubsub.py +0 -0
  278. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/ckf/semantic.py +0 -0
  279. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/cli/__init__.py +0 -0
  280. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/cli/main.py +0 -0
  281. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/cli/sidecar.py +0 -0
  282. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/cli/startup.py +0 -0
  283. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/__init__.py +0 -0
  284. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/billing/__init__.py +0 -0
  285. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/billing/checkout.py +0 -0
  286. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/billing/constants.py +0 -0
  287. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/billing/entitlements.py +0 -0
  288. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/billing/metering.py +0 -0
  289. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/billing/reconciliation.py +0 -0
  290. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/billing/webhook.py +0 -0
  291. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/checkpoint_inbox.py +0 -0
  292. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/gateway_client.py +0 -0
  293. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/gateway_proxy.py +0 -0
  294. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/github_routes.py +0 -0
  295. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/header_mapping.py +0 -0
  296. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/no_code.py +0 -0
  297. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/quota_gate.py +0 -0
  298. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/comply/signup.py +0 -0
  299. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/config.py +0 -0
  300. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/config_schema.py +0 -0
  301. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/__init__.py +0 -0
  302. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/completion.py +0 -0
  303. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/degradation.py +0 -0
  304. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/document_map.py +0 -0
  305. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/flow.py +0 -0
  306. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/gap.py +0 -0
  307. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/input_planner.py +0 -0
  308. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/manager.py +0 -0
  309. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/quality_monitor.py +0 -0
  310. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/stitch.py +0 -0
  311. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/trigger.py +0 -0
  312. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/continuation/voice.py +0 -0
  313. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/__init__.py +0 -0
  314. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/batch.py +0 -0
  315. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/circuit_breaker.py +0 -0
  316. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/config.py +0 -0
  317. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/context_enforcer.py +0 -0
  318. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/context_source.py +0 -0
  319. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/context_tools.py +0 -0
  320. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/errors.py +0 -0
  321. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/extraction_facade.py +0 -0
  322. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/facilitator.py +0 -0
  323. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/idempotency.py +0 -0
  324. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/ledger_backends.py +0 -0
  325. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/manifest_derive.py +0 -0
  326. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/manifest_ledger.py +0 -0
  327. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/relay_strategies.py +0 -0
  328. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/security_manager.py +0 -0
  329. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/session.py +0 -0
  330. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/task_intent.py +0 -0
  331. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/core/window.py +0 -0
  332. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/envelope/__init__.py +0 -0
  333. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/envelope/builder.py +0 -0
  334. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/envelope/cdr.py +0 -0
  335. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/envelope/decomposer.py +0 -0
  336. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/envelope/formatter.py +0 -0
  337. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/envelope/packer.py +0 -0
  338. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/envelope/reranker.py +0 -0
  339. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/envelope/retrieval_integrity.py +0 -0
  340. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/envelope/scoring.py +0 -0
  341. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/__init__.py +0 -0
  342. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/complexity.py +0 -0
  343. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/contradiction.py +0 -0
  344. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/pipeline.py +0 -0
  345. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/quality_gate.py +0 -0
  346. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/stage1_regex.py +0 -0
  347. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/stage2_statistical.py +0 -0
  348. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/stage3_gliner.py +0 -0
  349. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/stage4_uie.py +0 -0
  350. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/stage5_discourse.py +0 -0
  351. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/stage6_llm.py +0 -0
  352. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/structured_output.py +0 -0
  353. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/extraction/types.py +0 -0
  354. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/gateway/__init__.py +0 -0
  355. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/gateway/api.py +0 -0
  356. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/gateway/key_vault.py +0 -0
  357. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/gateway/router.py +0 -0
  358. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/headers/__init__.py +0 -0
  359. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/headers/conditional.py +0 -0
  360. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/headers/emit.py +0 -0
  361. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/headers/halt.py +0 -0
  362. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/headers/middleware.py +0 -0
  363. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/headers/names.py +0 -0
  364. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/headers/parse.py +0 -0
  365. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/integrations/__init__.py +0 -0
  366. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/integrations/_common.py +0 -0
  367. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/integrations/anthropic_hook.py +0 -0
  368. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/integrations/langchain_hook.py +0 -0
  369. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/integrations/openai_hook.py +0 -0
  370. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/license_guard.py +0 -0
  371. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/observability/__init__.py +0 -0
  372. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/observability/audit.py +0 -0
  373. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/observability/events.py +0 -0
  374. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/observability/metrics.py +0 -0
  375. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/observability/quality.py +0 -0
  376. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/observability/structured_logging.py +0 -0
  377. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/observability/telemetry.py +0 -0
  378. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/policy/__init__.py +0 -0
  379. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/policy/enforce.py +0 -0
  380. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/policy/grammar.py +0 -0
  381. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/policy/inheritance.py +0 -0
  382. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/policy/mode.py +0 -0
  383. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/policy/model.py +0 -0
  384. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/policy/nonce.py +0 -0
  385. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/policy/profiles.py +0 -0
  386. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/policy/report.py +0 -0
  387. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/__init__.py +0 -0
  388. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/_embeddings.py +0 -0
  389. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/_types.py +0 -0
  390. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/amplifiers.py +0 -0
  391. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/attribution_scorer.py +0 -0
  392. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/calibration.py +0 -0
  393. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/claim_detector.py +0 -0
  394. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/contradiction_detector.py +0 -0
  395. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/distortion_detector.py +0 -0
  396. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/entailment_verifier.py +0 -0
  397. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/fabrication_detector.py +0 -0
  398. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/hallucination_scorer.py +0 -0
  399. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/omission_analyzer.py +0 -0
  400. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/provenance_chain.py +0 -0
  401. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/report_generator.py +0 -0
  402. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/rqa.py +0 -0
  403. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/rqa_stages.py +0 -0
  404. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/provenance/window_chain.py +0 -0
  405. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/__init__.py +0 -0
  406. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/anthropic.py +0 -0
  407. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/base.py +0 -0
  408. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/custom.py +0 -0
  409. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/diagnostic.py +0 -0
  410. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/manager.py +0 -0
  411. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/openai.py +0 -0
  412. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/providers/tokenizers.py +0 -0
  413. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/py.typed +0 -0
  414. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/resources/__init__.py +0 -0
  415. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/resources/adaptive_allocator.py +0 -0
  416. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/resources/cost_model.py +0 -0
  417. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/resources/overhead_manager.py +0 -0
  418. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/resources/resource_manager.py +0 -0
  419. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/scan/__init__.py +0 -0
  420. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/scan/github_app.py +0 -0
  421. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/scan/remediation.py +0 -0
  422. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/scan/semantic_ingestion.py +0 -0
  423. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/scan/templates/README.md +0 -0
  424. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/__init__.py +0 -0
  425. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/cost-estimate.json +0 -0
  426. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/crp-error.json +0 -0
  427. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/envelope-preview.json +0 -0
  428. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/persisted-state-header.json +0 -0
  429. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/quality-report.json +0 -0
  430. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/session-handle.json +0 -0
  431. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/session-status.json +0 -0
  432. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/stream-event.json +0 -0
  433. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/schemas/task-intent.json +0 -0
  434. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/sdk/__init__.py +0 -0
  435. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/sdk/dynamic.py +0 -0
  436. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/sdk/proxies.py +0 -0
  437. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/sdk/proxies_extra.py +0 -0
  438. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/sdk/proxies_more.py +0 -0
  439. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/sdk/response.py +0 -0
  440. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/__init__.py +0 -0
  441. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/audit_trail.py +0 -0
  442. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/binding.py +0 -0
  443. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/checkpoint.py +0 -0
  444. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/compliance.py +0 -0
  445. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/consent.py +0 -0
  446. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/control_plane.py +0 -0
  447. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/coverage.py +0 -0
  448. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/embedding_defense.py +0 -0
  449. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/encryption.py +0 -0
  450. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/injection.py +0 -0
  451. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/integrity.py +0 -0
  452. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/privacy.py +0 -0
  453. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/quarantine.py +0 -0
  454. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/rbac.py +0 -0
  455. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/safety_manifest.py +0 -0
  456. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/session_token.py +0 -0
  457. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/security/validation.py +0 -0
  458. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/__init__.py +0 -0
  459. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/backends/__init__.py +0 -0
  460. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/backends/base.py +0 -0
  461. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/backends/memory.py +0 -0
  462. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/backends/redis.py +0 -0
  463. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/backends/s3.py +0 -0
  464. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/backends/sqlite.py +0 -0
  465. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/cold_storage.py +0 -0
  466. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/compaction.py +0 -0
  467. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/coverage_set.py +0 -0
  468. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/critical_state.py +0 -0
  469. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/cso.py +0 -0
  470. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/event_log.py +0 -0
  471. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/fact.py +0 -0
  472. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/horizons.py +0 -0
  473. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/scratch_buffer.py +0 -0
  474. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/serialization.py +0 -0
  475. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/session_cleanup.py +0 -0
  476. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/snapshot.py +0 -0
  477. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/storage/__init__.py +0 -0
  478. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/storage/ephemeral_store.py +0 -0
  479. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/storage/hot_cache.py +0 -0
  480. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/storage/inverted_index.py +0 -0
  481. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/storage/rolling_log.py +0 -0
  482. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/storage/router.py +0 -0
  483. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/state/warm_store.py +0 -0
  484. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/stl/__init__.py +0 -0
  485. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/stl/classifier.py +0 -0
  486. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/stl/depth_model.py +0 -0
  487. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/stl/frame_builder.py +0 -0
  488. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/stl/goal_compass.py +0 -0
  489. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp/stl/orchestrator.py +0 -0
  490. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_envelope_budget +0 -0
  491. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/.env.example +0 -0
  492. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/.env.hosted.template +0 -0
  493. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/__init__.py +0 -0
  494. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/agent_tools.py +0 -0
  495. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/auth.py +0 -0
  496. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/backend_client.py +0 -0
  497. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/billing.py +0 -0
  498. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/capabilities.py +0 -0
  499. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/checkpoint_policy.py +0 -0
  500. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/checkpoint_service.py +0 -0
  501. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/completions.py +0 -0
  502. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/comply_tools.py +0 -0
  503. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/config_tools.py +0 -0
  504. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/__init__.py +0 -0
  505. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/base.py +0 -0
  506. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/comply.py +0 -0
  507. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/console.py +0 -0
  508. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/email.py +0 -0
  509. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/fcm.py +0 -0
  510. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/gmail.py +0 -0
  511. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/pagerduty.py +0 -0
  512. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/slack.py +0 -0
  513. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/sms.py +0 -0
  514. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/connectors/webhook.py +0 -0
  515. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/corpus.py +0 -0
  516. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/dpe_tools.py +0 -0
  517. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/gateway_tools.py +0 -0
  518. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/headers_lint.py +0 -0
  519. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/local_tools.py +0 -0
  520. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/permissions.py +0 -0
  521. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/prompts.py +0 -0
  522. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/resources.py +0 -0
  523. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/safety_tools.py +0 -0
  524. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/scaffold.py +0 -0
  525. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/scan_tools.py +0 -0
  526. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/server.py +0 -0
  527. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_mcp/types.py +0 -0
  528. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_shared/__init__.py +0 -0
  529. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_shared/audit.py +0 -0
  530. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_shared/auth.py +0 -0
  531. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_shared/crp_headers.py +0 -0
  532. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_shared/db.py +0 -0
  533. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_shared/passkey.py +0 -0
  534. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_shared/schema.py +0 -0
  535. {crprotocol-4.3.0 → crprotocol-4.3.2}/crp_shared/session_token.py +0 -0
  536. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/AUDIT_REPORT_ROUND_1_SITE_FIXES.md +0 -0
  537. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/AUDIT_REPORT_ROUND_2_VISUAL_IMPROVEMENTS.md +0 -0
  538. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/Analysis_of_benchmark_results.md +0 -0
  539. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_AVAILABILITY.md +0 -0
  540. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_CHECKPOINTS_SETUP_GUIDE.md +0 -0
  541. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_DEMO_VIDEO_SCRIPT.md +0 -0
  542. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_MCP_ACTIONABLE_DEPLOYMENT_GUIDE.md +0 -0
  543. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_MCP_CONNECTORS_SETUP_GUIDE.md +0 -0
  544. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_MCP_ENVIRONMENT_MAPPING.md +0 -0
  545. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_MCP_PRODUCTION_CHECKLIST.md +0 -0
  546. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_MCP_SECURITY_AND_CHECKPOINTS_REPORT.md +0 -0
  547. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_SCAN_ACTION_GUIDE.md +0 -0
  548. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_SCAN_ACTION_PLAN.md +0 -0
  549. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_SCAN_MARKETPLACE_AND_PARTNERSHIP.md +0 -0
  550. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_SDK_CONTEXT_SAFETY_GAP_REPORT.md +0 -0
  551. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_SPEC_REALITY_MAP.md +0 -0
  552. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/CRP_V3_COMPLETENESS.md +0 -0
  553. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/DEMO_REPRODUCTION_AND_VIDEO_GUIDE.md +0 -0
  554. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/DOCS_PLATFORM_EVALUATION.md +0 -0
  555. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/DOCS_QUALITY_STRATEGY.md +0 -0
  556. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/GATEWAY_BACKEND_INTEGRATION.md +0 -0
  557. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/GATEWAY_RAILWAY_DEPLOY.md +0 -0
  558. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/GITHUB_ACTION_PUBLISH.md +0 -0
  559. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/LINKEDIN_LAUNCH_SERIES.md +0 -0
  560. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/OPERATIONS_RUNBOOK.md +0 -0
  561. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/SEO_AEO_GEO_STRATEGY.md +0 -0
  562. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/UX_ACCESSIBILITY_IMPROVEMENTS.md +0 -0
  563. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/VS_CODE_EXTENSION_PUBLISH.md +0 -0
  564. {crprotocol-4.3.0 → crprotocol-4.3.2}/docs/WASA_INTEGRATION_TUTORIAL.md +0 -0
  565. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/async_usage.py +0 -0
  566. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/benchmark_continuation.py +0 -0
  567. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/choose_provider.py +0 -0
  568. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/comply_demo.py +0 -0
  569. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/README.md +0 -0
  570. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/__init__.py +0 -0
  571. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_comparison.json +0 -0
  572. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_crp_document.md +0 -0
  573. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_hierarchical_document.md +0 -0
  574. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_injection_document.md +0 -0
  575. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_rag_document.md +0 -0
  576. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/comparison_backend.py +0 -0
  577. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/pipeline.py +0 -0
  578. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/run_benchmark.py +0 -0
  579. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/server.py +0 -0
  580. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/sqb_benchmark.py +0 -0
  581. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/static/app.js +0 -0
  582. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/static/comparison.html +0 -0
  583. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/static/context.html +0 -0
  584. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/static/context.js +0 -0
  585. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/static/index.html +0 -0
  586. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/static/safety.html +0 -0
  587. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/static/safety.js +0 -0
  588. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/static/style.css +0 -0
  589. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/strategies/__init__.py +0 -0
  590. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/strategies/base.py +0 -0
  591. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/strategies/crp_strategy.py +0 -0
  592. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/strategies/hierarchical_strategy.py +0 -0
  593. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/strategies/injection_strategy.py +0 -0
  594. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/strategies/rag_strategy.py +0 -0
  595. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/v4/server.py +0 -0
  596. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/v4/static/app.js +0 -0
  597. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/v4/static/index.html +0 -0
  598. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/crp_demos/v4/static/style.css +0 -0
  599. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/demo_app/README.md +0 -0
  600. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/demo_app/demo.py +0 -0
  601. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/demo_app/demo_v1.py +0 -0
  602. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/extraction-pipeline.md +0 -0
  603. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/ingestion.py +0 -0
  604. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/local-model.md +0 -0
  605. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/multi-provider.md +0 -0
  606. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/multi_turn.py +0 -0
  607. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/quickstart.md +0 -0
  608. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/quickstart.py +0 -0
  609. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/scribe_demo.py +0 -0
  610. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/session-resumption.md +0 -0
  611. {crprotocol-4.3.0 → crprotocol-4.3.2}/examples/streaming.py +0 -0
  612. {crprotocol-4.3.0 → crprotocol-4.3.2}/favicon-16x16.png +0 -0
  613. {crprotocol-4.3.0 → crprotocol-4.3.2}/favicon-32x32.png +0 -0
  614. {crprotocol-4.3.0 → crprotocol-4.3.2}/favicon.ico +0 -0
  615. {crprotocol-4.3.0 → crprotocol-4.3.2}/hooks/mkdocs_hooks.py +0 -0
  616. {crprotocol-4.3.0 → crprotocol-4.3.2}/media/FINAL_CRP_Full_logo-transparent.png +0 -0
  617. {crprotocol-4.3.0 → crprotocol-4.3.2}/message for AI safety.txt +0 -0
  618. {crprotocol-4.3.0 → crprotocol-4.3.2}/migrations/001_initial.sql +0 -0
  619. {crprotocol-4.3.0 → crprotocol-4.3.2}/mkdocs.yml +0 -0
  620. {crprotocol-4.3.0 → crprotocol-4.3.2}/overrides/404.html +0 -0
  621. {crprotocol-4.3.0 → crprotocol-4.3.2}/overrides/main.html +0 -0
  622. {crprotocol-4.3.0 → crprotocol-4.3.2}/overrides/partials/logo.html +0 -0
  623. {crprotocol-4.3.0 → crprotocol-4.3.2}/pyproject.toml +0 -0
  624. {crprotocol-4.3.0 → crprotocol-4.3.2}/rfcs/0000-template.md +0 -0
  625. {crprotocol-4.3.0 → crprotocol-4.3.2}/rfcs/0001-initial-release.md +0 -0
  626. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/cost-estimate.json +0 -0
  627. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/crp-error.json +0 -0
  628. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/envelope-preview.json +0 -0
  629. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/openapi.json +0 -0
  630. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/persisted-state-header.json +0 -0
  631. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/quality-report.json +0 -0
  632. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/session-handle.json +0 -0
  633. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/session-status.json +0 -0
  634. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/stream-event.json +0 -0
  635. {crprotocol-4.3.0 → crprotocol-4.3.2}/schemas/task-intent.json +0 -0
  636. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/audit_docs.py +0 -0
  637. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/audit_docstrings.py +0 -0
  638. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/auto_docstrings.py +0 -0
  639. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/demo_varied_tests.py +0 -0
  640. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/gen_changelog.py +0 -0
  641. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/generate_api_reference.py +0 -0
  642. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/probe_safety.py +0 -0
  643. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/probe_varied_use_cases.py +0 -0
  644. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/validate_crp_mcp.py +0 -0
  645. {crprotocol-4.3.0 → crprotocol-4.3.2}/scripts/verify_v4_demo.py +0 -0
  646. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/BingSiteAuth.xml +0 -0
  647. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/CNAME +0 -0
  648. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/aiuc-1.md +0 -0
  649. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/.meta.yml +0 -0
  650. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/activation.md +0 -0
  651. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/advanced.md +0 -0
  652. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/agent.md +0 -0
  653. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/ckf.md +0 -0
  654. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/cli.md +0 -0
  655. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/client.md +0 -0
  656. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/compliance.md +0 -0
  657. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/comply.md +0 -0
  658. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/config.md +0 -0
  659. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/continuation.md +0 -0
  660. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/core.md +0 -0
  661. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/cso.md +0 -0
  662. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/dispatch.md +0 -0
  663. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/envelope.md +0 -0
  664. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/errors.md +0 -0
  665. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/events.md +0 -0
  666. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/extraction.md +0 -0
  667. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/gateway.md +0 -0
  668. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/headers.md +0 -0
  669. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/index.md +0 -0
  670. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/activation.md +0 -0
  671. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/adapters.md +0 -0
  672. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/advanced.md +0 -0
  673. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/agent.md +0 -0
  674. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/ckf.md +0 -0
  675. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/cli.md +0 -0
  676. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/comply.md +0 -0
  677. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/config.md +0 -0
  678. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/config_schema.md +0 -0
  679. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/continuation.md +0 -0
  680. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/core.md +0 -0
  681. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/envelope.md +0 -0
  682. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/extraction.md +0 -0
  683. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/gateway.md +0 -0
  684. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/headers.md +0 -0
  685. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/index.md +0 -0
  686. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/integrations.md +0 -0
  687. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/license_guard.md +0 -0
  688. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/observability.md +0 -0
  689. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/policy.md +0 -0
  690. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/provenance.md +0 -0
  691. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/providers.md +0 -0
  692. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/resources.md +0 -0
  693. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/scan.md +0 -0
  694. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/schemas.md +0 -0
  695. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/sdk.md +0 -0
  696. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/security.md +0 -0
  697. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/state.md +0 -0
  698. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/modules/stl.md +0 -0
  699. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/observability.md +0 -0
  700. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/policy.md +0 -0
  701. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/provenance.md +0 -0
  702. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/providers.md +0 -0
  703. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/reasoning.md +0 -0
  704. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/resources.md +0 -0
  705. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/safety.md +0 -0
  706. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/scan.md +0 -0
  707. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/schemas.md +0 -0
  708. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/security.md +0 -0
  709. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/api/state.md +0 -0
  710. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/CRP_protocol_ecosystem_transparent.png +0 -0
  711. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/favicon/android-chrome-192x192.png +0 -0
  712. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/favicon/android-chrome-512x512.png +0 -0
  713. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/favicon/apple-touch-icon.png +0 -0
  714. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/favicon/favicon-16x16.png +0 -0
  715. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/favicon/favicon-32x32.png +0 -0
  716. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/favicon/favicon.ico +0 -0
  717. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/favicon/site.webmanifest +0 -0
  718. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/logo-full-readme.png +0 -0
  719. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/logo-full.png +0 -0
  720. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/logo-small.png +0 -0
  721. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/assets/og-image.png +0 -0
  722. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/capabilities.md +0 -0
  723. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/cite.md +0 -0
  724. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/compliance/.meta.yml +0 -0
  725. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/compliance/eu-ai-act.md +0 -0
  726. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/compliance/gdpr.md +0 -0
  727. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/compliance/index.md +0 -0
  728. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/compliance/iso-42001.md +0 -0
  729. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/compliance/nist-ai-rmf.md +0 -0
  730. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/compliance/security.md +0 -0
  731. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/contributing.md +0 -0
  732. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/control-evidence.md +0 -0
  733. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/crpv4-roadmap.md +0 -0
  734. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/faq.md +0 -0
  735. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/getting-started/.meta.yml +0 -0
  736. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/getting-started/cli.md +0 -0
  737. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/getting-started/index.md +0 -0
  738. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/getting-started/installation.md +0 -0
  739. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/getting-started/licensing.md +0 -0
  740. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/getting-started/local-models.md +0 -0
  741. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/getting-started/operating-the-ecosystem.md +0 -0
  742. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/getting-started/providers.md +0 -0
  743. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/getting-started/quickstart.md +0 -0
  744. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/.meta.yml +0 -0
  745. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/demo-app.md +0 -0
  746. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/gateway-railway.md +0 -0
  747. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/index.md +0 -0
  748. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/ingestion.md +0 -0
  749. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/multi-turn.md +0 -0
  750. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/sdk-phases.md +0 -0
  751. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/sdk.md +0 -0
  752. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/session-persistence.md +0 -0
  753. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/sidecar.md +0 -0
  754. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/guides/streaming.md +0 -0
  755. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/index.md +0 -0
  756. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/javascripts/ticker.js +0 -0
  757. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/legal/.meta.yml +0 -0
  758. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/legal/ai-policy.md +0 -0
  759. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/legal/cookie-policy.md +0 -0
  760. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/legal/index.md +0 -0
  761. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/legal/information-security-policy.md +0 -0
  762. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/legal/privacy-policy.md +0 -0
  763. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/llms-full.txt +0 -0
  764. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/llms.txt +0 -0
  765. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/pricing.md +0 -0
  766. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/products/.meta.yml +0 -0
  767. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/products/comply.md +0 -0
  768. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/products/gateway.md +0 -0
  769. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/products/index.md +0 -0
  770. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/products/scan.md +0 -0
  771. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/products/scribe.md +0 -0
  772. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/products/visualise.md +0 -0
  773. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/.meta.yml +0 -0
  774. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/ckf.md +0 -0
  775. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/conformance.md +0 -0
  776. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/context-sources.md +0 -0
  777. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/continuation.md +0 -0
  778. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/core.md +0 -0
  779. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/dispatch-strategies.md +0 -0
  780. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/envelope.md +0 -0
  781. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/extraction.md +0 -0
  782. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/headers.md +0 -0
  783. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/index.md +0 -0
  784. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/meta-learning.md +0 -0
  785. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/multi-agent.md +0 -0
  786. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/provenance.md +0 -0
  787. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/quality-tiers.md +0 -0
  788. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/research.md +0 -0
  789. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/safety-policy.md +0 -0
  790. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/session-token.md +0 -0
  791. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/protocol/zero-ckf-mode.md +0 -0
  792. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/robots.txt +0 -0
  793. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/safety/.meta.yml +0 -0
  794. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/safety/black-box.md +0 -0
  795. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/safety/coverage.md +0 -0
  796. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/safety/dpe.md +0 -0
  797. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/safety/index.md +0 -0
  798. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/safety/safety-policy.md +0 -0
  799. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/sdk/.meta.yml +0 -0
  800. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/sdk/ai-safety.md +0 -0
  801. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/sdk/async.md +0 -0
  802. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/sdk/configuration.md +0 -0
  803. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/sdk/context-management.md +0 -0
  804. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/sdk/errors.md +0 -0
  805. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/sdk/index.md +0 -0
  806. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/sdk/tools-and-agents.md +0 -0
  807. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/.meta.yml +0 -0
  808. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-001-core-protocol.md +0 -0
  809. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-002-headers.md +0 -0
  810. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-003-envelope.md +0 -0
  811. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-004-continuation.md +0 -0
  812. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-005-dpe.md +0 -0
  813. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-006-safety-policy.md +0 -0
  814. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-007-session-token.md +0 -0
  815. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-008-dispatch.md +0 -0
  816. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-009-ckf.md +0 -0
  817. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-010-regulatory-mapping.md +0 -0
  818. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-011-audit-trail.md +0 -0
  819. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-012-multi-agent-safety.md +0 -0
  820. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-013-github-action.md +0 -0
  821. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-014-conformance.md +0 -0
  822. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-015-security-privacy.md +0 -0
  823. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-016-gateway-service.md +0 -0
  824. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-017-zero-ckf-mode.md +0 -0
  825. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-018-air.md +0 -0
  826. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-019-cognitive-quality.md +0 -0
  827. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-020-cognitive-load-distribution.md +0 -0
  828. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-021-reasoning-orchestration.md +0 -0
  829. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-022-execution-fabric.md +0 -0
  830. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-023-amplification-boundary.md +0 -0
  831. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-024-coverage-differential-retrieval.md +0 -0
  832. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-025-graph-retrieval.md +0 -0
  833. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-026-semantic-quality-benchmark.md +0 -0
  834. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-027-retrieval-integrity.md +0 -0
  835. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-028-conversational-context.md +0 -0
  836. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-029-ephemeral-tool-context.md +0 -0
  837. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-030-cognitive-state-relay.md +0 -0
  838. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-031-semantic-task-layer.md +0 -0
  839. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-032-developer-experience.md +0 -0
  840. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-033-safety-control-plane.md +0 -0
  841. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-034-safety-coverage.md +0 -0
  842. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-035-context-lifecycle.md +0 -0
  843. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-036-scan-remediation.md +0 -0
  844. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-037-unified-config.md +0 -0
  845. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-038-storage-backends.md +0 -0
  846. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-039-semantic-code-ingestion.md +0 -0
  847. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-040-crp-comply.md +0 -0
  848. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-041-adoption-ecosystem.md +0 -0
  849. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-042-comply-upgrade-integration.md +0 -0
  850. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-043-gateway-runtime-product.md +0 -0
  851. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-044-authoritative-domain-agent.md +0 -0
  852. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-045-knowledge-learning.md +0 -0
  853. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-046-user-defined-cognition.md +0 -0
  854. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-047-monetisation-payments.md +0 -0
  855. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-048-comply-lowcode-github.md +0 -0
  856. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-HOSTING-CONTROL.md +0 -0
  857. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/CRP-SUBMISSION-GUIDE.md +0 -0
  858. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/spec/index.md +0 -0
  859. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/standards.md +0 -0
  860. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/stylesheets/extra.css +0 -0
  861. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/tags.md +0 -0
  862. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/terms-of-service.md +0 -0
  863. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/testing/.meta.yml +0 -0
  864. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/testing/benchmarks.md +0 -0
  865. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/testing/index.md +0 -0
  866. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/testing/reproduce.md +0 -0
  867. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/testing/running-tests.md +0 -0
  868. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/topics/.meta.yml +0 -0
  869. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/topics/ai-compliance.md +0 -0
  870. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/topics/ai-governance.md +0 -0
  871. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/topics/ai-safety.md +0 -0
  872. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/topics/context-management.md +0 -0
  873. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/topics/crp-vs-rag-mcp.md +0 -0
  874. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/topics/index.md +0 -0
  875. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/who-is-it-for.md +0 -0
  876. {crprotocol-4.3.0 → crprotocol-4.3.2}/site-docs/why-crp.md +0 -0
  877. {crprotocol-4.3.0 → crprotocol-4.3.2}/skills/visual-expert/SKILL.md +0 -0
  878. {crprotocol-4.3.0 → crprotocol-4.3.2}/specification/01_RESEARCH_FOUNDATIONS.md +0 -0
  879. {crprotocol-4.3.0 → crprotocol-4.3.2}/specification/02_CORE_PROTOCOL.md +0 -0
  880. {crprotocol-4.3.0 → crprotocol-4.3.2}/specification/03_CONTEXT_ENVELOPE.md +0 -0
  881. {crprotocol-4.3.0 → crprotocol-4.3.2}/specification/04_TOKEN_GENERATION_PROTOCOL.md +0 -0
  882. {crprotocol-4.3.0 → crprotocol-4.3.2}/specification/05_SYSTEM_WIDE_INTEGRATION.md +0 -0
  883. {crprotocol-4.3.0 → crprotocol-4.3.2}/specification/06_IMPLEMENTATION_PLAN.md +0 -0
  884. {crprotocol-4.3.0 → crprotocol-4.3.2}/specification/07_SECURITY.md +0 -0
  885. {crprotocol-4.3.0 → crprotocol-4.3.2}/specification/08_MONETIZATION.md +0 -0
  886. {crprotocol-4.3.0 → crprotocol-4.3.2}/specification/09_DEPLOYMENT.md +0 -0
  887. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/__init__.py +0 -0
  888. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/__init__.py +0 -0
  889. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/levels.py +0 -0
  890. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/runner.py +0 -0
  891. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/test_conformance.py +0 -0
  892. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/vectors/agent.json +0 -0
  893. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/vectors/dpe.json +0 -0
  894. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/vectors/headers.json +0 -0
  895. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/vectors/hmac.json +0 -0
  896. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/vectors/safety_policy.json +0 -0
  897. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conformance/vectors/session.json +0 -0
  898. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/conftest.py +0 -0
  899. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/killer_test/crp_killer_report.json +0 -0
  900. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/killer_test/crp_killer_report.txt +0 -0
  901. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/killer_test/crp_killer_test.py +0 -0
  902. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/killer_test/debug_gap.py +0 -0
  903. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/killer_test/debug_gap2.py +0 -0
  904. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_adaptive_allocator.py +0 -0
  905. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_adversarial_provenance.py +0 -0
  906. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_agentic.py +0 -0
  907. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_audit.py +0 -0
  908. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_audit_integration.py +0 -0
  909. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_benchmarks.py +0 -0
  910. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_checkpoint_inbox.py +0 -0
  911. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_ckf_gate.py +0 -0
  912. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_compliance_security.py +0 -0
  913. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_compliance_wiring.py +0 -0
  914. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_comply_billing.py +0 -0
  915. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_comply_gateway_proxy.py +0 -0
  916. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_comply_quota_gate.py +0 -0
  917. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_context_enforcer.py +0 -0
  918. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_context_source.py +0 -0
  919. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_headers.py +0 -0
  920. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_mcp.py +0 -0
  921. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_mcp_auth.py +0 -0
  922. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_mcp_backends.py +0 -0
  923. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_mcp_billing.py +0 -0
  924. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_mcp_checkpoint.py +0 -0
  925. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_mcp_checkpoint_policy.py +0 -0
  926. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_mcp_connectors.py +0 -0
  927. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_mcp_coverage.py +0 -0
  928. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_crp_mcp_permissions.py +0 -0
  929. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_cso.py +0 -0
  930. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_decision_provenance.py +0 -0
  931. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_decision_provenance_engine.py +0 -0
  932. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_entailment_risk.py +0 -0
  933. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_fidelity_verification.py +0 -0
  934. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_gap_fixes_live.py +0 -0
  935. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_gaps_2_3.py +0 -0
  936. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_gateway.py +0 -0
  937. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_gateway_client.py +0 -0
  938. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_github_app.py +0 -0
  939. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_github_routes.py +0 -0
  940. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_horizons.py +0 -0
  941. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_input_continuation.py +0 -0
  942. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_integration.py +0 -0
  943. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_ip_protection.py +0 -0
  944. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_live_comprehensive.py +0 -0
  945. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_live_full_capture.py +0 -0
  946. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_live_long_generation.py +0 -0
  947. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_live_verification.py +0 -0
  948. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_manifest_ledger.py +0 -0
  949. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_no_code.py +0 -0
  950. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_orchestrator_perf.py +0 -0
  951. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_phase1.py +0 -0
  952. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_phase2.py +0 -0
  953. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_phase3.py +0 -0
  954. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_phase4.py +0 -0
  955. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_phase5.py +0 -0
  956. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_phase6.py +0 -0
  957. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_phase7.py +0 -0
  958. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_phase8.py +0 -0
  959. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_phase9.py +0 -0
  960. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_production_hardening.py +0 -0
  961. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_relay_strategies.py +0 -0
  962. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_resource_manager.py +0 -0
  963. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_retrieval_integrity.py +0 -0
  964. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_safety_control_plane.py +0 -0
  965. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_scan_r3.py +0 -0
  966. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_scoring_robustness.py +0 -0
  967. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_scratch_buffer.py +0 -0
  968. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_sdk_dynamic.py +0 -0
  969. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_sdk_extra_namespaces.py +0 -0
  970. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_sdk_generated_reference.py +0 -0
  971. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_sdk_level0.py +0 -0
  972. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_sdk_level2.py +0 -0
  973. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_sdk_more_namespaces.py +0 -0
  974. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_sdk_namespaces.py +0 -0
  975. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_security_modules.py +0 -0
  976. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_session_token.py +0 -0
  977. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_signup.py +0 -0
  978. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_stl.py +0 -0
  979. {crprotocol-4.3.0 → crprotocol-4.3.2}/tests/test_unified_config.py +0 -0
@@ -11,6 +11,47 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [4.3.2] - 2026-06-26
15
+
16
+ ### Added
17
+ - **ApplicationProfile wiring end-to-end.** `CRPOrchestrator` and `CRPClient`
18
+ now accept an `ApplicationProfile`, resolve providers and relay strategies
19
+ from the profile, and attest the application context manifest on every
20
+ dispatch.
21
+ - **SDK provider-from-profile bridge.** `CRPClient` can instantiate
22
+ OpenAI/Anthropic/Ollama/llama.cpp/LM Studio adapters directly from a profile
23
+ so applications discovered by `build_profile_from_messages()` work without
24
+ manual provider setup.
25
+ - **Strategy router.** `CRPOrchestrator.dispatch_with_strategy()` maps profile
26
+ `ContextStrategy` values (`rag`, `summarization`, `sliding_window`,
27
+ `long_context`, `hybrid`) to the correct CRP dispatch path (`push`,
28
+ `reflexive`, `progressive`, `stream_augmented`, `agentic`).
29
+
30
+ ### Fixed
31
+ - `dispatch_router` now emits a `CRP-Application-Context-Manifest` attestation
32
+ header containing the resolved provider, model, and strategy when an
33
+ `ApplicationProfile` is present.
34
+
35
+ ## [4.3.1] - 2026-06-28
36
+
37
+ ### Added
38
+ - **Native tool calling for local runtimes.** `OllamaAdapter` and
39
+ `LlamaCppAdapter` now implement `generate_chat_with_tools()` with
40
+ OpenAI-compatible tool schemas, so `dispatch_with_tools()` works against
41
+ Ollama, llama.cpp server, and LM Studio (via OpenAI-compatible discovery).
42
+ - **Application capability contract.** New `crp.core.app_profile` module with
43
+ `ApplicationProfile`, `FrameworkKind`, `ProviderKind`, `ContextStrategy`,
44
+ `ToolInfo`, and `build_profile_from_messages()` so applications can declare
45
+ or be discovered: framework, provider, context window, tool registry,
46
+ MCP servers, RAG sources, and context-management strategy.
47
+ - **Framework discovery helpers** in `crp.integrations.app_discovery`:
48
+ `profile_from_langchain()`, `profile_from_llamaindex()`,
49
+ `profile_from_openai_tools()`, `profile_from_mcp_servers()`.
50
+ - **Discovery-to-provider bridge.** `DetectedModel.to_provider()` returns a
51
+ ready-to-use CRP adapter (`OllamaAdapter`, `LlamaCppAdapter`, or
52
+ `OpenAIAdapter` for LM Studio / OpenAI-compatible servers) from a discovery
53
+ report.
54
+
14
55
  ## [4.3.0] - 2026-06-28
15
56
 
16
57
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crprotocol
3
- Version: 4.3.0
3
+ Version: 4.3.2
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
@@ -125,6 +125,12 @@ def __getattr__(name: str):
125
125
  "SafetyControlPlane": "crp.security.control_plane",
126
126
  "Checkpoint": "crp.security.checkpoint",
127
127
  "SafetyManifest": "crp.security.safety_manifest",
128
+ "ApplicationProfile": "crp.core.app_profile",
129
+ "FrameworkKind": "crp.core.app_profile",
130
+ "ProviderKind": "crp.core.app_profile",
131
+ "ContextStrategy": "crp.core.app_profile",
132
+ "ToolInfo": "crp.core.app_profile",
133
+ "build_profile_from_messages": "crp.core.app_profile",
128
134
  }
129
135
  if name in _ADVANCED:
130
136
  import importlib
@@ -2,4 +2,4 @@
2
2
  # Licensed under Elastic License 2.0 — see LICENSE.md for details.
3
3
  """CRP — Context Relay Protocol SDK."""
4
4
 
5
- __version__ = "4.3.0"
5
+ __version__ = "4.3.2"
@@ -0,0 +1,295 @@
1
+ # Copyright © 2025-2026 Constantinos Vidiniotis. All rights reserved.
2
+ # Licensed under Elastic License 2.0 — see LICENSE.md for details.
3
+ """Application capability contract and strategy discovery (CRP-SPEC-008 extension).
4
+
5
+ Most applications already have their own context-management and tool-calling
6
+ strategy before CRP is introduced: a LangChain chain with a set of tools, a
7
+ LlamaIndex RAG pipeline, a custom sliding-window summariser, etc. Rather than
8
+ forcing the integrator to throw that away, :class:`ApplicationProfile` lets CRP
9
+ *discover* or be *told* what the application already does, so CRP can:
10
+
11
+ 1. Avoid duplicating existing retrieval (don't build a second vector index if
12
+ the app already has one).
13
+ 2. Delegate tool execution to the application's own tool registry when possible.
14
+ 3. Choose a compatible relay strategy (push vs pull vs reflexive) based on the
15
+ app's actual provider and context budget.
16
+ 4. Record provenance accurately for audit (this fact came from the app's
17
+ existing RAG, not from CRP's warm store).
18
+
19
+ The profile is intentionally a *contract*, not a config file. It can be:
20
+
21
+ * **Declared** by the integrator (authoritative).
22
+ * **Derived** from a message list and an optional tool list (heuristic).
23
+ * **Detected** from a framework object such as a LangChain ``BaseCallbackHandler``
24
+ or LlamaIndex ``QueryEngine`` (best-effort).
25
+ """
26
+
27
+ from __future__ import annotations
28
+
29
+ from dataclasses import dataclass, field
30
+ from enum import Enum
31
+ from typing import Any
32
+
33
+ from crp.core.context_source import ContextManifest, ContextSource, SourceKind, SourceOrigin
34
+
35
+
36
+ class FrameworkKind(str, Enum):
37
+ """Known application/framework integrations."""
38
+
39
+ UNKNOWN = "unknown"
40
+ LANGCHAIN = "langchain"
41
+ LLAMAINDEX = "llamaindex"
42
+ HAYSTACK = "haystack"
43
+ OPENAI = "openai"
44
+ ANTHROPIC = "anthropic"
45
+ CUSTOM = "custom"
46
+
47
+
48
+ class ContextStrategy(str, Enum):
49
+ """How the application manages long conversation context."""
50
+
51
+ UNKNOWN = "unknown"
52
+ FULL_HISTORY = "full_history" # Replays every turn verbatim
53
+ SLIDING_WINDOW = "sliding_window" # Keeps last N turns
54
+ SUMMARIZATION = "summarization" # Condenses old turns
55
+ RAG = "rag" # Retrieves relevant chunks
56
+ LONG_CONTEXT = "long_context" # Relies on huge native context
57
+ HYBRID = "hybrid" # Mix of the above
58
+
59
+
60
+ class ProviderKind(str, Enum):
61
+ """Broad provider families CRP knows how to govern."""
62
+
63
+ UNKNOWN = "unknown"
64
+ OPENAI = "openai"
65
+ ANTHROPIC = "anthropic"
66
+ OLLAMA = "ollama"
67
+ LLAMA_CPP = "llama_cpp"
68
+ LM_STUDIO = "lm_studio"
69
+ CUSTOM = "custom"
70
+
71
+
72
+ @dataclass
73
+ class ToolInfo:
74
+ """A tool the application already exposes."""
75
+
76
+ name: str
77
+ description: str = ""
78
+ parameters: dict[str, Any] = field(default_factory=dict)
79
+ source: str = "declared" # "declared" | "derived" | "mcp" | "langchain" | ...
80
+
81
+
82
+ @dataclass
83
+ class ApplicationProfile:
84
+ """Capability contract for an existing application.
85
+
86
+ Fields are optional; missing fields mean "unknown / not provided" and CRP
87
+ falls back to its own defaults.
88
+ """
89
+
90
+ framework: FrameworkKind = FrameworkKind.UNKNOWN
91
+ provider: ProviderKind = ProviderKind.UNKNOWN
92
+ provider_model: str = ""
93
+ context_window: int | None = None
94
+ max_output_tokens: int | None = None
95
+ context_strategy: ContextStrategy = ContextStrategy.UNKNOWN
96
+ tools: list[ToolInfo] = field(default_factory=list)
97
+ mcp_servers: list[str] = field(default_factory=list)
98
+ rag_sources: list[ContextSource] = field(default_factory=list)
99
+ long_context_caching: bool = False
100
+ sliding_window_size: int | None = None
101
+ metadata: dict[str, Any] = field(default_factory=dict)
102
+
103
+ def supports_tools(self) -> bool:
104
+ """Return True if the profile indicates tool-calling is available."""
105
+ return len(self.tools) > 0 or len(self.mcp_servers) > 0
106
+
107
+ def to_manifest(self) -> ContextManifest:
108
+ """Convert the profile's RAG/sources into a :class:`ContextManifest`."""
109
+ manifest = ContextManifest()
110
+ for src in self.rag_sources:
111
+ manifest.add(src)
112
+ if self.context_strategy in {ContextStrategy.RAG, ContextStrategy.HYBRID}:
113
+ # Add a generic RAG placeholder if no explicit sources were given.
114
+ if not self.rag_sources:
115
+ manifest.add(ContextSource(
116
+ kind=SourceKind.RAG_RETRIEVAL,
117
+ source_id="application_rag",
118
+ origin=SourceOrigin.DECLARED,
119
+ ))
120
+ for tool in self.tools:
121
+ manifest.add(ContextSource(
122
+ kind=SourceKind.FUNCTION_CALL,
123
+ source_id=tool.name,
124
+ description=tool.description,
125
+ origin=SourceOrigin.DECLARED,
126
+ ))
127
+ return manifest
128
+
129
+ def to_dict(self) -> dict[str, Any]:
130
+ """Serialize to a JSON-safe dict."""
131
+ return {
132
+ "framework": self.framework.value,
133
+ "provider": self.provider.value,
134
+ "provider_model": self.provider_model,
135
+ "context_window": self.context_window,
136
+ "max_output_tokens": self.max_output_tokens,
137
+ "context_strategy": self.context_strategy.value,
138
+ "tools": [
139
+ {
140
+ "name": t.name,
141
+ "description": t.description,
142
+ "parameters": t.parameters,
143
+ "source": t.source,
144
+ }
145
+ for t in self.tools
146
+ ],
147
+ "mcp_servers": list(self.mcp_servers),
148
+ "rag_sources": [s.to_dict() for s in self.rag_sources],
149
+ "long_context_caching": self.long_context_caching,
150
+ "sliding_window_size": self.sliding_window_size,
151
+ "metadata": dict(self.metadata),
152
+ }
153
+
154
+ @classmethod
155
+ def from_dict(cls, data: dict[str, Any]) -> "ApplicationProfile":
156
+ """Restore from a JSON-safe dict."""
157
+ return cls(
158
+ framework=FrameworkKind(data.get("framework", "unknown")),
159
+ provider=ProviderKind(data.get("provider", "unknown")),
160
+ provider_model=data.get("provider_model", ""),
161
+ context_window=data.get("context_window"),
162
+ max_output_tokens=data.get("max_output_tokens"),
163
+ context_strategy=ContextStrategy(data.get("context_strategy", "unknown")),
164
+ tools=[
165
+ ToolInfo(
166
+ name=t["name"],
167
+ description=t.get("description", ""),
168
+ parameters=t.get("parameters", {}),
169
+ source=t.get("source", "declared"),
170
+ )
171
+ for t in data.get("tools", [])
172
+ ],
173
+ mcp_servers=list(data.get("mcp_servers", [])),
174
+ rag_sources=[
175
+ ContextSource.from_dict(s) for s in data.get("rag_sources", [])
176
+ ],
177
+ long_context_caching=bool(data.get("long_context_caching", False)),
178
+ sliding_window_size=data.get("sliding_window_size"),
179
+ metadata=dict(data.get("metadata", {})),
180
+ )
181
+
182
+
183
+ def detect_framework(messages: list[dict[str, Any]]) -> FrameworkKind:
184
+ """Heuristically detect the framework from message content/structure."""
185
+ if not messages:
186
+ return FrameworkKind.UNKNOWN
187
+
188
+ # Look for framework-specific metadata in message dicts.
189
+ for m in messages:
190
+ if not isinstance(m, dict):
191
+ continue
192
+ meta = m.get("metadata") or m.get("additional_kwargs") or {}
193
+ if isinstance(meta, dict):
194
+ keys = " ".join(str(k).lower() for k in meta.keys())
195
+ if "langchain" in keys or "lc_serializable" in keys:
196
+ return FrameworkKind.LANGCHAIN
197
+ if "llamaindex" in keys or "index_id" in keys:
198
+ return FrameworkKind.LLAMAINDEX
199
+
200
+ # Tool-call message shapes
201
+ has_tool_calls = any(
202
+ isinstance(m.get("tool_calls"), list) or m.get("role") in {"tool", "function"}
203
+ for m in messages
204
+ )
205
+ if has_tool_calls:
206
+ # OpenAI/Anthropic native shapes are most common
207
+ return FrameworkKind.OPENAI
208
+
209
+ return FrameworkKind.UNKNOWN
210
+
211
+
212
+ def detect_context_strategy(messages: list[dict[str, Any]]) -> ContextStrategy:
213
+ """Heuristically detect how the app manages context.
214
+
215
+ This is best-effort: we look at message-count patterns, presence of
216
+ summarising system prompts, and explicit metadata.
217
+ """
218
+ if not messages:
219
+ return ContextStrategy.UNKNOWN
220
+
221
+ # Explicit metadata wins.
222
+ for m in messages:
223
+ meta = m.get("metadata") or m.get("additional_kwargs") or {}
224
+ if isinstance(meta, dict):
225
+ strategy = str(meta.get("context_strategy", "")).lower()
226
+ if strategy:
227
+ try:
228
+ return ContextStrategy(strategy)
229
+ except ValueError:
230
+ pass
231
+
232
+ system = " ".join(
233
+ str(m.get("content", "")).lower() for m in messages if m.get("role") == "system"
234
+ )
235
+ if ("summary" in system or "summarize" in system) and "conversation" in system:
236
+ return ContextStrategy.SUMMARIZATION
237
+ if "last" in system and ("messages" in system or "turns" in system):
238
+ return ContextStrategy.SLIDING_WINDOW
239
+ if len(messages) > 20:
240
+ # Very long verbatim history often means full replay or long-context.
241
+ return ContextStrategy.FULL_HISTORY
242
+
243
+ return ContextStrategy.UNKNOWN
244
+
245
+
246
+ def build_profile_from_messages(
247
+ messages: list[dict[str, Any]],
248
+ *,
249
+ tools: list[dict[str, Any]] | None = None,
250
+ provider: ProviderKind | None = None,
251
+ context_window: int | None = None,
252
+ ) -> ApplicationProfile:
253
+ """Derive an application profile from observed messages and tools.
254
+
255
+ The derived profile is *observed*, not authoritative. Use it for
256
+ negotiation and audit, but prefer an explicitly declared profile when
257
+ accuracy matters.
258
+ """
259
+ profile = ApplicationProfile(
260
+ framework=detect_framework(messages),
261
+ context_strategy=detect_context_strategy(messages),
262
+ provider=provider or ProviderKind.UNKNOWN,
263
+ context_window=context_window,
264
+ )
265
+
266
+ for tool in tools or []:
267
+ if isinstance(tool, ToolInfo):
268
+ profile.tools.append(tool)
269
+ continue
270
+ if isinstance(tool, dict):
271
+ func = tool.get("function", {}) or tool
272
+ profile.tools.append(ToolInfo(
273
+ name=func.get("name", tool.get("name", "unknown")),
274
+ description=func.get("description", ""),
275
+ parameters=func.get("parameters", func.get("arguments", {})),
276
+ source="derived",
277
+ ))
278
+
279
+ # Detect RAG evidence in messages (e.g. retrieved chunks, sources).
280
+ for m in messages:
281
+ meta = m.get("metadata") or {}
282
+ if isinstance(meta, dict):
283
+ sources = meta.get("sources") or meta.get("retrieved_chunks") or []
284
+ if sources:
285
+ profile.context_strategy = ContextStrategy.RAG
286
+ for src in sources:
287
+ if isinstance(src, dict):
288
+ profile.rag_sources.append(ContextSource(
289
+ kind=SourceKind.RAG_RETRIEVAL,
290
+ source_id=src.get("name", "retrieved_source"),
291
+ metadata={"snippet": str(src.get("content", ""))[:200]},
292
+ origin=SourceOrigin.OBSERVED,
293
+ ))
294
+
295
+ return profile
@@ -16,10 +16,9 @@ import time
16
16
  import uuid
17
17
  from collections.abc import Generator
18
18
  from dataclasses import dataclass
19
- from typing import Any, TYPE_CHECKING
19
+ from typing import TYPE_CHECKING, Any
20
20
 
21
21
  from crp.continuation.manager import ContinuationConfig, ContinuationManager
22
-
23
22
  from crp.core.errors import (
24
23
  ProviderError,
25
24
  RateLimitExceededError,
@@ -27,7 +26,6 @@ from crp.core.errors import (
27
26
  )
28
27
  from crp.core.session import QualityReport, SecurityFlags
29
28
  from crp.core.task_intent import TaskIntent
30
- from crp.security.audit_trail import ComplianceEventType
31
29
  from crp.core.window import (
32
30
  WindowMetrics,
33
31
  WindowNode,
@@ -35,6 +33,7 @@ from crp.core.window import (
35
33
  compute_envelope_budget,
36
34
  resolve_generation_reserve,
37
35
  )
36
+ from crp.security.audit_trail import ComplianceEventType
38
37
 
39
38
  if TYPE_CHECKING:
40
39
  from crp.envelope.builder import EnvelopeResult
@@ -223,9 +222,10 @@ class DispatchMixin:
223
222
  from crp.envelope.builder import (
224
223
  EnvelopeResult,
225
224
  EnvelopeState,
225
+ )
226
+ from crp.envelope.builder import (
226
227
  construct as construct_envelope,
227
228
  )
228
- from crp.extraction.types import Fact
229
229
 
230
230
  context_window = self._provider.context_window_size()
231
231
  s_tokens = self._provider.count_tokens(system_prompt)
@@ -242,11 +242,11 @@ class DispatchMixin:
242
242
  # CKF retriever callback for Phase 6 of envelope builder (GAP A fix)
243
243
  def ckf_retriever(query_text: str, budget_tokens: int) -> list[Fact]:
244
244
  """Execute CKF retriever and return the result.
245
-
245
+
246
246
  Args:
247
247
  query_text (str): The query text value.
248
248
  budget_tokens (int): The budget tokens value.
249
-
249
+
250
250
  Returns:
251
251
  ``list[Fact]``.
252
252
  """
@@ -376,7 +376,6 @@ class DispatchMixin:
376
376
  A compact task reference that replaces the original ``task_input``.
377
377
  """
378
378
  from crp.continuation.input_planner import InputContinuationPlanner
379
- from crp.extraction.types import Fact
380
379
 
381
380
  context_window = self._provider.context_window_size()
382
381
  planner = InputContinuationPlanner(count_tokens=self._provider.count_tokens)
@@ -837,11 +836,10 @@ class DispatchMixin:
837
836
  "Auto-ingest triggered: task_input=%d tokens > available=%d",
838
837
  t_tokens, available,
839
838
  )
840
- from crp.advanced.auto_ingest import auto_ingest, IngestFact
839
+ from crp.advanced.auto_ingest import IngestFact, auto_ingest
841
840
 
842
841
  def _extract_fn(text: str, intent: str) -> list[IngestFact]:
843
842
  """Adapter: run graduated extraction and return IngestFacts."""
844
- from crp.extraction.types import Fact
845
843
  result = self._extraction.extract(
846
844
  text, source_window_id="auto-ingest",
847
845
  )
@@ -992,8 +990,20 @@ class DispatchMixin:
992
990
  "input_tokens": input_tokens,
993
991
  })
994
992
 
993
+ # ---------- Application-profile context attestation ----------
994
+ manifest = self._app_context_manifest()
995
+ observed_sources: Any | None = kwargs.pop("observed_sources", None)
996
+ if manifest is not None and observed_sources is None:
997
+ try:
998
+ observed_sources = manifest.sources
999
+ except Exception:
1000
+ observed_sources = None
1001
+
995
1002
  # ---------- Assemble messages ----------
996
- messages = assemble_messages(system_prompt, envelope, task_input)
1003
+ messages = assemble_messages(
1004
+ system_prompt, envelope, task_input,
1005
+ manifest=manifest, observed_sources=observed_sources,
1006
+ )
997
1007
 
998
1008
  # ---------- Dispatch to LLM ----------
999
1009
  node.advance(WindowState.DISPATCHED)
@@ -1411,7 +1421,10 @@ class DispatchMixin:
1411
1421
  _cont_env_ms = (time.monotonic_ns() - _t_ce0) / 1_000_000
1412
1422
  _total_envelope_ms += _cont_env_ms
1413
1423
 
1414
- cont_messages = assemble_messages(system_prompt, cont_env_result.envelope_text, cont_task)
1424
+ cont_messages = assemble_messages(
1425
+ system_prompt, cont_env_result.envelope_text, cont_task,
1426
+ manifest=manifest, observed_sources=observed_sources,
1427
+ )
1415
1428
 
1416
1429
  # Dispatch continuation window
1417
1430
  cont_window_id = str(uuid.uuid4())
@@ -2269,7 +2282,7 @@ class DispatchMixin:
2269
2282
  output = ""
2270
2283
  finish_reason = "stop"
2271
2284
 
2272
- for round_idx in range(max_tool_rounds + 1): # +1 for final generation
2285
+ for _round_idx in range(max_tool_rounds + 1): # +1 for final generation
2273
2286
  # Circuit breaker gate (§audit3: protect all dispatch variants)
2274
2287
  if not self._circuit_breaker.allow_request():
2275
2288
  raise ProviderError(
@@ -3190,7 +3203,7 @@ class DispatchMixin:
3190
3203
  _total_llm_ms = 0.0
3191
3204
  finish_reason = "stop"
3192
3205
  accumulated_output = ""
3193
- embed_fn = self._embedding_fn if hasattr(self, "_embedding_fn") else None
3206
+ self._embedding_fn if hasattr(self, "_embedding_fn") else None
3194
3207
 
3195
3208
  # Initial messages — no envelope, just system prompt + task
3196
3209
  current_messages: list[dict[str, str]] = [
@@ -3757,7 +3770,7 @@ class DispatchMixin:
3757
3770
  max_continuations=int(self._config.get("max_continuations", 50)),
3758
3771
  )
3759
3772
  cont_mgr = ContinuationManager(cont_config)
3760
- task_intent = TaskIntent(task_input=task_input, system_prompt=system_prompt)
3773
+ TaskIntent(task_input=task_input, system_prompt=system_prompt)
3761
3774
  init_facts = self._extraction.extract(
3762
3775
  output, source_window_id=inner_report.window_id,
3763
3776
  ).facts
@@ -3906,7 +3919,7 @@ class DispatchMixin:
3906
3919
  if synthesis and synthesis.key_insights:
3907
3920
  unused_insights = synthesis.key_insights[:3]
3908
3921
  _synthesis_hints = (
3909
- f"Available knowledge (may help fill gaps):\n"
3922
+ "Available knowledge (may help fill gaps):\n"
3910
3923
  + "\n".join(f"- {i}" for i in unused_insights) + "\n"
3911
3924
  )
3912
3925
  _continuation_note = ""
@@ -4164,7 +4177,7 @@ class DispatchMixin:
4164
4177
  # ---------- Advisory injection scan on full input (§7.5) ----------
4165
4178
  security_flags = self._scan_injection(large_input)
4166
4179
 
4167
- from crp.advanced.hierarchical import HierarchicalProcessor, HierarchicalConfig
4180
+ from crp.advanced.hierarchical import HierarchicalProcessor
4168
4181
 
4169
4182
  processor = HierarchicalProcessor(
4170
4183
  dispatch_fn=lambda sys, task, **kw: self._provider.generate_chat(
@@ -4183,7 +4196,7 @@ class DispatchMixin:
4183
4196
 
4184
4197
  # Extract facts from all syntheses
4185
4198
  total_facts = 0
4186
- for i, synthesis in enumerate(syntheses):
4199
+ for _i, synthesis in enumerate(syntheses):
4187
4200
  window_id = str(uuid.uuid4())
4188
4201
  self._warm_store.advance_window(window_id)
4189
4202
  ti = TaskIntent(task_input=intent_text, system_prompt=system_prompt)
@@ -4392,7 +4405,6 @@ class DispatchMixin:
4392
4405
  total_input_tokens = input_tokens
4393
4406
  total_output_tokens = 0
4394
4407
  total_llm_ms = 0.0
4395
- streaming_error: Exception | None = None
4396
4408
  max_continuations = int(self._config.get("max_continuations", 50))
4397
4409
  _cont_deadline = time.monotonic() + int(self._config.get("dispatch_timeout", 3600))
4398
4410
  last_output = ""
@@ -4411,7 +4423,6 @@ class DispatchMixin:
4411
4423
  # Defensive: _stream_segment already yields error and returns,
4412
4424
  # but yield from can propagate exceptions from the consumer.
4413
4425
  logger.error("Streaming segment failed: %s", exc)
4414
- streaming_error = exc
4415
4426
  finish_reason = "error"
4416
4427
  output_segment = ""
4417
4428
 
@@ -29,8 +29,8 @@ import re
29
29
  import threading
30
30
  import time
31
31
  from collections import deque
32
+ from collections.abc import Callable
32
33
  from concurrent.futures import ThreadPoolExecutor
33
- from dataclasses import dataclass
34
34
 
35
35
  # Deferred imports to avoid circular dependency chains.
36
36
  # These modules import from crp.core.task_intent (which is in crp.core),
@@ -38,6 +38,7 @@ from dataclasses import dataclass
38
38
  # We import them lazily at class init or first use instead.
39
39
  from typing import TYPE_CHECKING, Any
40
40
 
41
+ from crp.core.app_profile import ApplicationProfile
41
42
  from crp.core.config import ConfigurationResolver, CRPConfig
42
43
  from crp.core.errors import (
43
44
  BudgetExhaustedError,
@@ -75,10 +76,8 @@ if TYPE_CHECKING:
75
76
  from crp.state.warm_store import WarmStateStore
76
77
 
77
78
  from crp.core.dispatch_router import (
78
- ContinuationInfo,
79
79
  DispatchMixin,
80
80
  StreamEvent,
81
- assemble_messages,
82
81
  )
83
82
  from crp.core.extraction_facade import ExtractionMixin, ExtractionResult
84
83
 
@@ -185,6 +184,7 @@ class CRPOrchestrator(DispatchMixin, ExtractionMixin):
185
184
  *,
186
185
  llm: LLMProvider | None = None,
187
186
  model: str | None = None,
187
+ app_profile: ApplicationProfile | None = None,
188
188
  **init_kwargs: Any,
189
189
  ) -> None:
190
190
  """Initialise the orchestrator and all subsystems."""
@@ -200,6 +200,7 @@ class CRPOrchestrator(DispatchMixin, ExtractionMixin):
200
200
  resolved_provider = _auto_detect_provider(model=model)
201
201
 
202
202
  self._provider = resolved_provider
203
+ self._app_profile = app_profile or ApplicationProfile()
203
204
 
204
205
  # Resolve configuration
205
206
  if config is not None:
@@ -495,6 +496,81 @@ class CRPOrchestrator(DispatchMixin, ExtractionMixin):
495
496
  # Register atexit handler for graceful shutdown (§audit H6)
496
497
  atexit.register(self._atexit_close)
497
498
 
499
+ # ------------------------------------------------------------------
500
+ # Application-profile helpers (SPEC-008 extension)
501
+ # ------------------------------------------------------------------
502
+
503
+ def _app_context_manifest(self) -> Any | None:
504
+ """Build a context manifest from the application profile if present."""
505
+ if self._app_profile is None:
506
+ return None
507
+ try:
508
+ manifest = self._app_profile.to_manifest()
509
+ return manifest if manifest.sources else None
510
+ except Exception as exc:
511
+ logger.debug("Failed to build app-profile manifest: %s", exc)
512
+ return None
513
+
514
+ def _select_relay_strategy(self, has_registered_tools: bool = False) -> str:
515
+ """Select a relay strategy based on the application capability contract.
516
+
517
+ Strategy strings:
518
+ - ``"push"`` — envelope-based dispatch (default)
519
+ - ``"tools"`` — pull-based tool-mediated dispatch
520
+ - ``"reflexive"`` — verify-then-refine
521
+ - ``"progressive"`` — index → detail on demand
522
+ - ``"stream_augmented"`` — real-time context injection
523
+ - ``"agentic"`` — LLM-in-the-loop cognitive engine
524
+ """
525
+ profile = self._app_profile
526
+ if profile is None:
527
+ return "push"
528
+
529
+ provider_supports_tools = self._provider.supports_tools()
530
+ if has_registered_tools and provider_supports_tools:
531
+ # Registered SDK tools run through the client's own tool loop.
532
+ return "tools"
533
+ if profile.supports_tools() and provider_supports_tools:
534
+ return "tools"
535
+
536
+ strategy = profile.context_strategy
537
+ if strategy.value == "rag":
538
+ return "push"
539
+ if strategy.value == "summarization":
540
+ return "reflexive"
541
+ if strategy.value == "sliding_window":
542
+ return "progressive"
543
+ if strategy.value == "long_context":
544
+ return "stream_augmented"
545
+ if strategy.value == "hybrid":
546
+ return "agentic"
547
+ return "push"
548
+
549
+ def dispatch_with_strategy(
550
+ self,
551
+ strategy: str,
552
+ system_prompt: str,
553
+ task_input: str,
554
+ **kwargs: Any,
555
+ ) -> tuple[str, QualityReport]:
556
+ """Route a dispatch to the named relay strategy.
557
+
558
+ Unknown strategies fall back to push-based dispatch with a warning.
559
+ """
560
+ _strategy_map: dict[str, Callable[..., tuple[str, QualityReport]]] = {
561
+ "push": self.dispatch,
562
+ "tools": self.dispatch_with_tools,
563
+ "reflexive": self.dispatch_reflexive,
564
+ "progressive": self.dispatch_progressive,
565
+ "stream_augmented": self.dispatch_stream_augmented,
566
+ "agentic": self.dispatch_agentic,
567
+ }
568
+ fn = _strategy_map.get(strategy)
569
+ if fn is None:
570
+ logger.warning("Unknown relay strategy '%s'; falling back to push", strategy)
571
+ fn = self.dispatch
572
+ return fn(system_prompt, task_input, **kwargs)
573
+
498
574
  # ------------------------------------------------------------------
499
575
  # L3 LLM-assisted requirement extraction (§5B.1)
500
576
  # ------------------------------------------------------------------