crprotocol 4.3.1__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.1 → crprotocol-4.3.2}/CHANGELOG.md +21 -0
  2. {crprotocol-4.3.1 → crprotocol-4.3.2}/PKG-INFO +1 -1
  3. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/_version.py +1 -1
  4. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/dispatch_router.py +30 -19
  5. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/orchestrator.py +79 -3
  6. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/sdk/client.py +91 -11
  7. crprotocol-4.3.2/tests/test_app_profile_integration.py +210 -0
  8. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_smoke.py +1 -1
  9. {crprotocol-4.3.1 → crprotocol-4.3.2}/.dockerignore +0 -0
  10. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/CODEOWNERS +0 -0
  11. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/FUNDING.yml +0 -0
  12. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  13. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  14. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/ISSUE_TEMPLATE/spec-clarification.yml +0 -0
  15. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  16. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/workflows/ci.yml +0 -0
  17. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/workflows/docs.yml +0 -0
  18. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/workflows/link-check-config.json +0 -0
  19. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/workflows/link-check.yml +0 -0
  20. {crprotocol-4.3.1 → crprotocol-4.3.2}/.github/workflows/validate-schemas.yml +0 -0
  21. {crprotocol-4.3.1 → crprotocol-4.3.2}/.gitignore +0 -0
  22. {crprotocol-4.3.1 → crprotocol-4.3.2}/.kimi/skills/crp-auth-expert/SKILL.md +0 -0
  23. {crprotocol-4.3.1 → crprotocol-4.3.2}/.kimi/skills/crp-comply-expert/SKILL.md +0 -0
  24. {crprotocol-4.3.1 → crprotocol-4.3.2}/.kimi/skills/crp-gateway-expert/SKILL.md +0 -0
  25. {crprotocol-4.3.1 → crprotocol-4.3.2}/.kimi/skills/crp-v4-expert/SKILL.md +0 -0
  26. {crprotocol-4.3.1 → crprotocol-4.3.2}/.kimi/skills/crp-v4-specs/SKILL.md +0 -0
  27. {crprotocol-4.3.1 → crprotocol-4.3.2}/.kimi/skills/programmatic-video-production/SKILL.md +0 -0
  28. {crprotocol-4.3.1 → crprotocol-4.3.2}/.kimi/skills/programmatic-video-production/references/tool-comparison.md +0 -0
  29. {crprotocol-4.3.1 → crprotocol-4.3.2}/.pre-commit-config.yaml +0 -0
  30. {crprotocol-4.3.1 → crprotocol-4.3.2}/3.1.0 +0 -0
  31. {crprotocol-4.3.1 → crprotocol-4.3.2}/AGENTS.md +0 -0
  32. {crprotocol-4.3.1 → crprotocol-4.3.2}/AI Agent adoption/CRP-AGENT-ADOPTION-STRATEGY.md +0 -0
  33. {crprotocol-4.3.1 → crprotocol-4.3.2}/AI Agent adoption/CRP-MCP-SERVER-SPECIFICATION.md +0 -0
  34. {crprotocol-4.3.1 → crprotocol-4.3.2}/AI Agent adoption/CRP-SKILL.md +0 -0
  35. {crprotocol-4.3.1 → crprotocol-4.3.2}/AI Agent adoption/llms-full.txt +0 -0
  36. {crprotocol-4.3.1 → crprotocol-4.3.2}/AI Agent adoption/llms.txt +0 -0
  37. {crprotocol-4.3.1 → crprotocol-4.3.2}/BENCHMARKS.md +0 -0
  38. {crprotocol-4.3.1 → crprotocol-4.3.2}/CNAME +0 -0
  39. {crprotocol-4.3.1 → crprotocol-4.3.2}/CODE_OF_CONDUCT.md +0 -0
  40. {crprotocol-4.3.1 → crprotocol-4.3.2}/CONTRIBUTING.md +0 -0
  41. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP Comply LLM connection methods issues prompt.txt +0 -0
  42. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP protocol ecosystem figure.png +0 -0
  43. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP-COMPLY-AI-SAFETY-PLAN.md +0 -0
  44. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP-COMPLY-UPGRADE-REPORT-v2.md +0 -0
  45. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP-COMPLY-UPGRADE-REPORT.md +0 -0
  46. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP-SHARED-HERO-POSITIONING.md +0 -0
  47. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP-v4-SPRINT-REPORT.md +0 -0
  48. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP-v4-VISUAL-AUDIT-RATING.md +0 -0
  49. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP_CAPABILITIES.md +0 -0
  50. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP_Comply_github_app_details.txt +0 -0
  51. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRP_protocol_FULL_transparent_white.png +0 -0
  52. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRPv4_Implementation_Rounds.md +0 -0
  53. {crprotocol-4.3.1 → crprotocol-4.3.2}/CRPv4_realised_deliverables.md +0 -0
  54. {crprotocol-4.3.1 → crprotocol-4.3.2}/D1_CRP_Protocol_Marketing_Update.docx +0 -0
  55. {crprotocol-4.3.1 → crprotocol-4.3.2}/Dockerfile +0 -0
  56. {crprotocol-4.3.1 → crprotocol-4.3.2}/GOVERNANCE.md +0 -0
  57. {crprotocol-4.3.1 → crprotocol-4.3.2}/HOSTING_POSITIONING.md +0 -0
  58. {crprotocol-4.3.1 → crprotocol-4.3.2}/INTERNAL_DOCS.md +0 -0
  59. {crprotocol-4.3.1 → crprotocol-4.3.2}/LICENSE.md +0 -0
  60. {crprotocol-4.3.1 → crprotocol-4.3.2}/NOTICE +0 -0
  61. {crprotocol-4.3.1 → crprotocol-4.3.2}/RAILWAY_DEPLOYMENT_GUIDE.md +0 -0
  62. {crprotocol-4.3.1 → crprotocol-4.3.2}/RAILWAY_VARIABLES.md +0 -0
  63. {crprotocol-4.3.1 → crprotocol-4.3.2}/README.md +0 -0
  64. {crprotocol-4.3.1 → crprotocol-4.3.2}/SECURITY.md +0 -0
  65. {crprotocol-4.3.1 → crprotocol-4.3.2}/SITE_NAVIGATION_AND_PUBLISHING.md +0 -0
  66. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-BUILD-PROMPT.md +0 -0
  67. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-CODER-BRIEF.md +0 -0
  68. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-GATEWAY-BLUEPRINT.md +0 -0
  69. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-MASTER-INDEX.md +0 -0
  70. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-SDK-REFERENCE.md +0 -0
  71. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-FEASIBILITY.md +0 -0
  72. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-IANA-RESPONSE-STRATEGY.md +0 -0
  73. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-IETF-EMAIL-TEMPLATES.md +0 -0
  74. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-PUBLIC-CHECKLIST.md +0 -0
  75. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SITE-STRATEGY.md +0 -0
  76. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-001-core-protocol.md +0 -0
  77. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-002-headers.md +0 -0
  78. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-003-envelope.md +0 -0
  79. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-004-continuation.md +0 -0
  80. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-005-dpe.md +0 -0
  81. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-006-safety-policy.md +0 -0
  82. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-007-session-token.md +0 -0
  83. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-008-dispatch.md +0 -0
  84. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-009-ckf.md +0 -0
  85. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-010-regulatory-mapping.md +0 -0
  86. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-011-audit-trail.md +0 -0
  87. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-012-multi-agent-safety.md +0 -0
  88. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-013-github-action.md +0 -0
  89. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-014-conformance.md +0 -0
  90. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-015-security-privacy.md +0 -0
  91. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-016-gateway-service.md +0 -0
  92. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-017-zero-ckf-mode.md +0 -0
  93. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-018-air.md +0 -0
  94. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-019-cognitive-quality.md +0 -0
  95. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-020-cognitive-load-distribution.md +0 -0
  96. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-021-reasoning-orchestration.md +0 -0
  97. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-022-execution-fabric.md +0 -0
  98. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-023-amplification-boundary.md +0 -0
  99. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-024-coverage-differential-retrieval.md +0 -0
  100. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-025-graph-retrieval.md +0 -0
  101. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-026-semantic-quality-benchmark.md +0 -0
  102. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-027-retrieval-integrity.md +0 -0
  103. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-028-conversational-context.md +0 -0
  104. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-029-ephemeral-tool-context.md +0 -0
  105. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-030-cognitive-state-relay.md +0 -0
  106. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-031-semantic-task-layer.md +0 -0
  107. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-032-developer-experience.md +0 -0
  108. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-033-safety-control-plane.md +0 -0
  109. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-034-safety-coverage.md +0 -0
  110. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-035-context-lifecycle.md +0 -0
  111. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-036-scan-remediation.md +0 -0
  112. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-037-unified-config.md +0 -0
  113. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-038-storage-backends.md +0 -0
  114. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-039-semantic-code-ingestion.md +0 -0
  115. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-040-crp-comply.md +0 -0
  116. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-041-adoption-ecosystem.md +0 -0
  117. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-HOSTING-CONTROL.md +0 -0
  118. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SUBMISSION-GUIDE.md +0 -0
  119. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-MASTER-INDEX.md +0 -0
  120. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-SPEC-040-crp-comply.md +0 -0
  121. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS-2.06.2026/CRP-SPEC-041-adoption-ecosystem.md +0 -0
  122. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-FEASIBILITY.md +0 -0
  123. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-IETF-EMAIL-TEMPLATES.md +0 -0
  124. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-PUBLIC-CHECKLIST.md +0 -0
  125. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SITE-STRATEGY.md +0 -0
  126. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-001-core-protocol.md +0 -0
  127. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-002-headers.md +0 -0
  128. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-003-envelope.md +0 -0
  129. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-004-continuation.md +0 -0
  130. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-005-dpe.md +0 -0
  131. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-006-safety-policy.md +0 -0
  132. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-007-session-token.md +0 -0
  133. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-008-dispatch.md +0 -0
  134. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-009-ckf.md +0 -0
  135. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-010-regulatory-mapping.md +0 -0
  136. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-011-audit-trail.md +0 -0
  137. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-012-multi-agent-safety.md +0 -0
  138. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-013-github-action.md +0 -0
  139. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-014-conformance.md +0 -0
  140. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-015-security-privacy.md +0 -0
  141. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-016-gateway-service.md +0 -0
  142. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-017-zero-ckf-mode.md +0 -0
  143. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SPEC-HOSTING-CONTROL.md +0 -0
  144. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-SUBMISSION-GUIDE.md +0 -0
  145. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/CRP-V3-IMPLEMENTATION-PLAN.md +0 -0
  146. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/Overview of all documents.docx +0 -0
  147. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/SUBMISSION-GUIDE.md +0 -0
  148. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/TRACKING_OF_PROGRESS.MD +0 -0
  149. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/crp-headers-spec.html +0 -0
  150. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/crp-product-ecosystem.html +0 -0
  151. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_27-05-2027/crp-v3-complete-spec.html +0 -0
  152. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/Automated prompt-response review, questions, actions and insights.txt +0 -0
  153. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-AUTH-MIGRATION-SPRINT-SUMMARY.md +0 -0
  154. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-AUTH-POSTGRESQL-MIGRATION-PLAN.md +0 -0
  155. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-AUTH-USER-MANAGEMENT-SOLUTION.md +0 -0
  156. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-BUILD-PROMPT.md +0 -0
  157. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-CODER-BRIEF.md +0 -0
  158. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-COMPLY-BUILDER-PROMPT.md +0 -0
  159. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-COMPLY-UPGRADE-HANDOFF.md +0 -0
  160. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-ECOSYSTEM-BOUNDARIES.md +0 -0
  161. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-GATEWAY-BLUEPRINT.md +0 -0
  162. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-GATEWAY-PRODUCT-OVERVIEW.md +0 -0
  163. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-GITHUB-APP-GUIDE.md +0 -0
  164. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-GITHUB-CONNECTIVITY-SOLUTION.md +0 -0
  165. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-MARKET-STRATEGY.md +0 -0
  166. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-MASTER-INDEX.md +0 -0
  167. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-RAILWAY-SETUP-GUIDE.md +0 -0
  168. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-SDK-REFERENCE.md +0 -0
  169. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-STRIPE-SETUP-GUIDE.md +0 -0
  170. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-V4-UPGRADE-PROMPT.md +0 -0
  171. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/CRP-v4-PHASED-IMPLEMENTATION-REPORT.md +0 -0
  172. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/adversarially-robust-safety.md +0 -0
  173. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/mfa_plan.md +0 -0
  174. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-FEASIBILITY.md +0 -0
  175. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-IANA-RESPONSE-STRATEGY.md +0 -0
  176. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-IETF-EMAIL-TEMPLATES.md +0 -0
  177. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-PUBLIC-CHECKLIST.md +0 -0
  178. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SITE-STRATEGY.md +0 -0
  179. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-001-core-protocol.md +0 -0
  180. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-002-headers.md +0 -0
  181. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-003-envelope.md +0 -0
  182. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-004-continuation.md +0 -0
  183. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-005-dpe.md +0 -0
  184. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-006-safety-policy.md +0 -0
  185. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-007-session-token.md +0 -0
  186. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-008-dispatch.md +0 -0
  187. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-009-ckf.md +0 -0
  188. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-010-regulatory-mapping.md +0 -0
  189. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-011-audit-trail.md +0 -0
  190. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-012-multi-agent-safety.md +0 -0
  191. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-013-github-action.md +0 -0
  192. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-014-conformance.md +0 -0
  193. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-015-security-privacy.md +0 -0
  194. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-016-gateway-service.md +0 -0
  195. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-017-zero-ckf-mode.md +0 -0
  196. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-018-air.md +0 -0
  197. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-019-cognitive-quality.md +0 -0
  198. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-020-cognitive-load-distribution.md +0 -0
  199. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-021-reasoning-orchestration.md +0 -0
  200. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-022-execution-fabric.md +0 -0
  201. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-023-amplification-boundary.md +0 -0
  202. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-024-coverage-differential-retrieval.md +0 -0
  203. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-025-graph-retrieval.md +0 -0
  204. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-026-semantic-quality-benchmark.md +0 -0
  205. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-027-retrieval-integrity.md +0 -0
  206. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-028-conversational-context.md +0 -0
  207. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-029-ephemeral-tool-context.md +0 -0
  208. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-030-cognitive-state-relay.md +0 -0
  209. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-031-semantic-task-layer.md +0 -0
  210. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-032-developer-experience.md +0 -0
  211. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-033-safety-control-plane.md +0 -0
  212. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-034-safety-coverage.md +0 -0
  213. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-035-context-lifecycle.md +0 -0
  214. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-036-scan-remediation.md +0 -0
  215. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-037-unified-config.md +0 -0
  216. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-038-storage-backends.md +0 -0
  217. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-039-semantic-code-ingestion.md +0 -0
  218. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-040-crp-comply.md +0 -0
  219. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-041-adoption-ecosystem.md +0 -0
  220. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-042-comply-upgrade-integration.md +0 -0
  221. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-043-gateway-runtime-product.md +0 -0
  222. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-044-authoritative-domain-agent.md +0 -0
  223. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-045-knowledge-learning.md +0 -0
  224. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-046-user-defined-cognition.md +0 -0
  225. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-047-monetisation-payments.md +0 -0
  226. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-048-comply-lowcode-github.md +0 -0
  227. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-HOSTING-CONTROL.md +0 -0
  228. {crprotocol-4.3.1 → crprotocol-4.3.2}/SPECS_5_06_2026_CRP_v4/specs/CRP-SUBMISSION-GUIDE.md +0 -0
  229. {crprotocol-4.3.1 → crprotocol-4.3.2}/STRIPE_MONETISATION.md +0 -0
  230. {crprotocol-4.3.1 → crprotocol-4.3.2}/TRADEMARK.md +0 -0
  231. {crprotocol-4.3.1 → crprotocol-4.3.2}/android-chrome-192x192.png +0 -0
  232. {crprotocol-4.3.1 → crprotocol-4.3.2}/android-chrome-512x512.png +0 -0
  233. {crprotocol-4.3.1 → crprotocol-4.3.2}/apple-touch-icon.png +0 -0
  234. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/__init__.py +0 -0
  235. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/__main__.py +0 -0
  236. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/_typing.py +0 -0
  237. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/activation/__init__.py +0 -0
  238. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/activation/mode.py +0 -0
  239. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/activation/onboarding.py +0 -0
  240. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/activation/policy_adjust.py +0 -0
  241. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/activation/stages.py +0 -0
  242. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/adapters.py +0 -0
  243. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/__init__.py +0 -0
  244. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/auto_ingest.py +0 -0
  245. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/cqs.py +0 -0
  246. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/cross_window.py +0 -0
  247. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/curator.py +0 -0
  248. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/feedback.py +0 -0
  249. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/hierarchical.py +0 -0
  250. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/meta_learning.py +0 -0
  251. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/parallel.py +0 -0
  252. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/review_cycle.py +0 -0
  253. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/scale_mode.py +0 -0
  254. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/advanced/source_grounding.py +0 -0
  255. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/agent/__init__.py +0 -0
  256. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/agent/budget.py +0 -0
  257. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/agent/chain.py +0 -0
  258. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/agent/oversight.py +0 -0
  259. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/agent/propagation.py +0 -0
  260. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/__init__.py +0 -0
  261. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/cdgr.py +0 -0
  262. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/community.py +0 -0
  263. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/fabric.py +0 -0
  264. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/gc.py +0 -0
  265. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/graph_edges.py +0 -0
  266. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/graph_walk.py +0 -0
  267. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/merge.py +0 -0
  268. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/pattern_query.py +0 -0
  269. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/pubsub.py +0 -0
  270. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/ckf/semantic.py +0 -0
  271. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/cli/__init__.py +0 -0
  272. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/cli/main.py +0 -0
  273. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/cli/sidecar.py +0 -0
  274. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/cli/startup.py +0 -0
  275. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/__init__.py +0 -0
  276. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/billing/__init__.py +0 -0
  277. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/billing/checkout.py +0 -0
  278. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/billing/constants.py +0 -0
  279. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/billing/entitlements.py +0 -0
  280. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/billing/metering.py +0 -0
  281. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/billing/reconciliation.py +0 -0
  282. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/billing/webhook.py +0 -0
  283. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/checkpoint_inbox.py +0 -0
  284. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/gateway_client.py +0 -0
  285. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/gateway_proxy.py +0 -0
  286. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/github_routes.py +0 -0
  287. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/header_mapping.py +0 -0
  288. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/no_code.py +0 -0
  289. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/quota_gate.py +0 -0
  290. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/comply/signup.py +0 -0
  291. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/config.py +0 -0
  292. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/config_schema.py +0 -0
  293. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/__init__.py +0 -0
  294. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/completion.py +0 -0
  295. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/degradation.py +0 -0
  296. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/document_map.py +0 -0
  297. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/flow.py +0 -0
  298. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/gap.py +0 -0
  299. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/input_planner.py +0 -0
  300. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/manager.py +0 -0
  301. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/quality_monitor.py +0 -0
  302. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/stitch.py +0 -0
  303. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/trigger.py +0 -0
  304. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/continuation/voice.py +0 -0
  305. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/__init__.py +0 -0
  306. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/app_profile.py +0 -0
  307. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/batch.py +0 -0
  308. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/circuit_breaker.py +0 -0
  309. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/config.py +0 -0
  310. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/context_enforcer.py +0 -0
  311. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/context_source.py +0 -0
  312. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/context_tools.py +0 -0
  313. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/errors.py +0 -0
  314. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/extraction_facade.py +0 -0
  315. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/facilitator.py +0 -0
  316. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/idempotency.py +0 -0
  317. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/ledger_backends.py +0 -0
  318. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/manifest_derive.py +0 -0
  319. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/manifest_ledger.py +0 -0
  320. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/relay_strategies.py +0 -0
  321. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/security_manager.py +0 -0
  322. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/session.py +0 -0
  323. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/task_intent.py +0 -0
  324. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/core/window.py +0 -0
  325. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/envelope/__init__.py +0 -0
  326. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/envelope/builder.py +0 -0
  327. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/envelope/cdr.py +0 -0
  328. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/envelope/decomposer.py +0 -0
  329. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/envelope/formatter.py +0 -0
  330. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/envelope/packer.py +0 -0
  331. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/envelope/reranker.py +0 -0
  332. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/envelope/retrieval_integrity.py +0 -0
  333. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/envelope/scoring.py +0 -0
  334. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/__init__.py +0 -0
  335. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/complexity.py +0 -0
  336. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/contradiction.py +0 -0
  337. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/pipeline.py +0 -0
  338. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/quality_gate.py +0 -0
  339. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/stage1_regex.py +0 -0
  340. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/stage2_statistical.py +0 -0
  341. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/stage3_gliner.py +0 -0
  342. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/stage4_uie.py +0 -0
  343. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/stage5_discourse.py +0 -0
  344. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/stage6_llm.py +0 -0
  345. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/structured_output.py +0 -0
  346. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/extraction/types.py +0 -0
  347. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/gateway/__init__.py +0 -0
  348. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/gateway/api.py +0 -0
  349. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/gateway/key_vault.py +0 -0
  350. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/gateway/router.py +0 -0
  351. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/headers/__init__.py +0 -0
  352. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/headers/conditional.py +0 -0
  353. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/headers/emit.py +0 -0
  354. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/headers/halt.py +0 -0
  355. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/headers/middleware.py +0 -0
  356. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/headers/names.py +0 -0
  357. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/headers/parse.py +0 -0
  358. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/integrations/__init__.py +0 -0
  359. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/integrations/_common.py +0 -0
  360. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/integrations/anthropic_hook.py +0 -0
  361. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/integrations/app_discovery.py +0 -0
  362. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/integrations/langchain_hook.py +0 -0
  363. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/integrations/openai_hook.py +0 -0
  364. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/license_guard.py +0 -0
  365. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/observability/__init__.py +0 -0
  366. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/observability/audit.py +0 -0
  367. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/observability/events.py +0 -0
  368. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/observability/metrics.py +0 -0
  369. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/observability/quality.py +0 -0
  370. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/observability/structured_logging.py +0 -0
  371. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/observability/telemetry.py +0 -0
  372. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/policy/__init__.py +0 -0
  373. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/policy/enforce.py +0 -0
  374. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/policy/grammar.py +0 -0
  375. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/policy/inheritance.py +0 -0
  376. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/policy/mode.py +0 -0
  377. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/policy/model.py +0 -0
  378. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/policy/nonce.py +0 -0
  379. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/policy/profiles.py +0 -0
  380. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/policy/report.py +0 -0
  381. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/__init__.py +0 -0
  382. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/_embeddings.py +0 -0
  383. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/_types.py +0 -0
  384. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/amplifiers.py +0 -0
  385. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/attribution_scorer.py +0 -0
  386. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/calibration.py +0 -0
  387. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/claim_detector.py +0 -0
  388. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/contradiction_detector.py +0 -0
  389. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/distortion_detector.py +0 -0
  390. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/entailment_verifier.py +0 -0
  391. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/fabrication_detector.py +0 -0
  392. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/hallucination_scorer.py +0 -0
  393. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/omission_analyzer.py +0 -0
  394. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/provenance_chain.py +0 -0
  395. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/report_generator.py +0 -0
  396. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/rqa.py +0 -0
  397. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/rqa_stages.py +0 -0
  398. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/provenance/window_chain.py +0 -0
  399. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/__init__.py +0 -0
  400. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/anthropic.py +0 -0
  401. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/base.py +0 -0
  402. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/custom.py +0 -0
  403. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/diagnostic.py +0 -0
  404. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/discovery.py +0 -0
  405. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/llamacpp.py +0 -0
  406. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/manager.py +0 -0
  407. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/ollama.py +0 -0
  408. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/openai.py +0 -0
  409. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/providers/tokenizers.py +0 -0
  410. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/py.typed +0 -0
  411. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/resources/__init__.py +0 -0
  412. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/resources/adaptive_allocator.py +0 -0
  413. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/resources/cost_model.py +0 -0
  414. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/resources/overhead_manager.py +0 -0
  415. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/resources/resource_manager.py +0 -0
  416. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/scan/__init__.py +0 -0
  417. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/scan/github_app.py +0 -0
  418. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/scan/remediation.py +0 -0
  419. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/scan/semantic_ingestion.py +0 -0
  420. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/scan/templates/README.md +0 -0
  421. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/__init__.py +0 -0
  422. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/cost-estimate.json +0 -0
  423. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/crp-error.json +0 -0
  424. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/envelope-preview.json +0 -0
  425. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/persisted-state-header.json +0 -0
  426. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/quality-report.json +0 -0
  427. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/session-handle.json +0 -0
  428. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/session-status.json +0 -0
  429. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/stream-event.json +0 -0
  430. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/schemas/task-intent.json +0 -0
  431. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/sdk/__init__.py +0 -0
  432. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/sdk/dynamic.py +0 -0
  433. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/sdk/proxies.py +0 -0
  434. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/sdk/proxies_extra.py +0 -0
  435. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/sdk/proxies_more.py +0 -0
  436. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/sdk/response.py +0 -0
  437. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/__init__.py +0 -0
  438. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/audit_trail.py +0 -0
  439. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/binding.py +0 -0
  440. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/checkpoint.py +0 -0
  441. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/compliance.py +0 -0
  442. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/consent.py +0 -0
  443. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/control_plane.py +0 -0
  444. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/coverage.py +0 -0
  445. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/embedding_defense.py +0 -0
  446. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/encryption.py +0 -0
  447. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/injection.py +0 -0
  448. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/integrity.py +0 -0
  449. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/privacy.py +0 -0
  450. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/quarantine.py +0 -0
  451. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/rbac.py +0 -0
  452. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/safety_manifest.py +0 -0
  453. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/session_token.py +0 -0
  454. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/security/validation.py +0 -0
  455. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/__init__.py +0 -0
  456. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/backends/__init__.py +0 -0
  457. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/backends/base.py +0 -0
  458. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/backends/memory.py +0 -0
  459. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/backends/redis.py +0 -0
  460. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/backends/s3.py +0 -0
  461. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/backends/sqlite.py +0 -0
  462. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/cold_storage.py +0 -0
  463. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/compaction.py +0 -0
  464. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/coverage_set.py +0 -0
  465. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/critical_state.py +0 -0
  466. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/cso.py +0 -0
  467. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/event_log.py +0 -0
  468. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/fact.py +0 -0
  469. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/horizons.py +0 -0
  470. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/scratch_buffer.py +0 -0
  471. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/serialization.py +0 -0
  472. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/session_cleanup.py +0 -0
  473. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/snapshot.py +0 -0
  474. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/storage/__init__.py +0 -0
  475. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/storage/ephemeral_store.py +0 -0
  476. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/storage/hot_cache.py +0 -0
  477. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/storage/inverted_index.py +0 -0
  478. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/storage/rolling_log.py +0 -0
  479. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/storage/router.py +0 -0
  480. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/state/warm_store.py +0 -0
  481. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/stl/__init__.py +0 -0
  482. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/stl/classifier.py +0 -0
  483. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/stl/depth_model.py +0 -0
  484. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/stl/frame_builder.py +0 -0
  485. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/stl/goal_compass.py +0 -0
  486. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp/stl/orchestrator.py +0 -0
  487. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_envelope_budget +0 -0
  488. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/.env.example +0 -0
  489. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/.env.hosted.template +0 -0
  490. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/__init__.py +0 -0
  491. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/agent_tools.py +0 -0
  492. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/auth.py +0 -0
  493. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/backend_client.py +0 -0
  494. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/billing.py +0 -0
  495. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/capabilities.py +0 -0
  496. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/checkpoint_policy.py +0 -0
  497. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/checkpoint_service.py +0 -0
  498. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/completions.py +0 -0
  499. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/comply_tools.py +0 -0
  500. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/config_tools.py +0 -0
  501. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/__init__.py +0 -0
  502. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/base.py +0 -0
  503. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/comply.py +0 -0
  504. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/console.py +0 -0
  505. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/email.py +0 -0
  506. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/fcm.py +0 -0
  507. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/gmail.py +0 -0
  508. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/pagerduty.py +0 -0
  509. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/slack.py +0 -0
  510. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/sms.py +0 -0
  511. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/connectors/webhook.py +0 -0
  512. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/corpus.py +0 -0
  513. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/dpe_tools.py +0 -0
  514. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/gateway_tools.py +0 -0
  515. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/headers_lint.py +0 -0
  516. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/local_tools.py +0 -0
  517. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/permissions.py +0 -0
  518. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/prompts.py +0 -0
  519. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/resources.py +0 -0
  520. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/safety_tools.py +0 -0
  521. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/scaffold.py +0 -0
  522. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/scan_tools.py +0 -0
  523. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/server.py +0 -0
  524. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_mcp/types.py +0 -0
  525. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_shared/__init__.py +0 -0
  526. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_shared/audit.py +0 -0
  527. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_shared/auth.py +0 -0
  528. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_shared/crp_headers.py +0 -0
  529. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_shared/db.py +0 -0
  530. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_shared/passkey.py +0 -0
  531. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_shared/schema.py +0 -0
  532. {crprotocol-4.3.1 → crprotocol-4.3.2}/crp_shared/session_token.py +0 -0
  533. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/AUDIT_REPORT_ROUND_1_SITE_FIXES.md +0 -0
  534. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/AUDIT_REPORT_ROUND_2_VISUAL_IMPROVEMENTS.md +0 -0
  535. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/Analysis_of_benchmark_results.md +0 -0
  536. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_AVAILABILITY.md +0 -0
  537. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_CHECKPOINTS_SETUP_GUIDE.md +0 -0
  538. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_DEMO_VIDEO_SCRIPT.md +0 -0
  539. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_MCP_ACTIONABLE_DEPLOYMENT_GUIDE.md +0 -0
  540. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_MCP_CONNECTORS_SETUP_GUIDE.md +0 -0
  541. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_MCP_ENVIRONMENT_MAPPING.md +0 -0
  542. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_MCP_PRODUCTION_CHECKLIST.md +0 -0
  543. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_MCP_SECURITY_AND_CHECKPOINTS_REPORT.md +0 -0
  544. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_SCAN_ACTION_GUIDE.md +0 -0
  545. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_SCAN_ACTION_PLAN.md +0 -0
  546. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_SCAN_MARKETPLACE_AND_PARTNERSHIP.md +0 -0
  547. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_SDK_CONTEXT_SAFETY_GAP_REPORT.md +0 -0
  548. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_SPEC_REALITY_MAP.md +0 -0
  549. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/CRP_V3_COMPLETENESS.md +0 -0
  550. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/DEMO_REPRODUCTION_AND_VIDEO_GUIDE.md +0 -0
  551. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/DOCS_PLATFORM_EVALUATION.md +0 -0
  552. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/DOCS_QUALITY_STRATEGY.md +0 -0
  553. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/GATEWAY_BACKEND_INTEGRATION.md +0 -0
  554. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/GATEWAY_RAILWAY_DEPLOY.md +0 -0
  555. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/GITHUB_ACTION_PUBLISH.md +0 -0
  556. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/LINKEDIN_LAUNCH_SERIES.md +0 -0
  557. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/OPERATIONS_RUNBOOK.md +0 -0
  558. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/SEO_AEO_GEO_STRATEGY.md +0 -0
  559. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/UX_ACCESSIBILITY_IMPROVEMENTS.md +0 -0
  560. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/VS_CODE_EXTENSION_PUBLISH.md +0 -0
  561. {crprotocol-4.3.1 → crprotocol-4.3.2}/docs/WASA_INTEGRATION_TUTORIAL.md +0 -0
  562. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/async_usage.py +0 -0
  563. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/benchmark_continuation.py +0 -0
  564. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/choose_provider.py +0 -0
  565. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/comply_demo.py +0 -0
  566. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/README.md +0 -0
  567. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/__init__.py +0 -0
  568. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_comparison.json +0 -0
  569. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_crp_document.md +0 -0
  570. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_hierarchical_document.md +0 -0
  571. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_injection_document.md +0 -0
  572. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/_benchmark_results/20260601_140350_rag_document.md +0 -0
  573. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/comparison_backend.py +0 -0
  574. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/pipeline.py +0 -0
  575. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/run_benchmark.py +0 -0
  576. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/server.py +0 -0
  577. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/sqb_benchmark.py +0 -0
  578. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/static/app.js +0 -0
  579. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/static/comparison.html +0 -0
  580. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/static/context.html +0 -0
  581. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/static/context.js +0 -0
  582. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/static/index.html +0 -0
  583. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/static/safety.html +0 -0
  584. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/static/safety.js +0 -0
  585. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/static/style.css +0 -0
  586. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/strategies/__init__.py +0 -0
  587. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/strategies/base.py +0 -0
  588. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/strategies/crp_strategy.py +0 -0
  589. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/strategies/hierarchical_strategy.py +0 -0
  590. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/strategies/injection_strategy.py +0 -0
  591. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/strategies/rag_strategy.py +0 -0
  592. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/v4/server.py +0 -0
  593. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/v4/static/app.js +0 -0
  594. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/v4/static/index.html +0 -0
  595. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/crp_demos/v4/static/style.css +0 -0
  596. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/demo_app/README.md +0 -0
  597. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/demo_app/demo.py +0 -0
  598. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/demo_app/demo_v1.py +0 -0
  599. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/extraction-pipeline.md +0 -0
  600. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/ingestion.py +0 -0
  601. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/local-model.md +0 -0
  602. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/multi-provider.md +0 -0
  603. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/multi_turn.py +0 -0
  604. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/quickstart.md +0 -0
  605. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/quickstart.py +0 -0
  606. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/scribe_demo.py +0 -0
  607. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/session-resumption.md +0 -0
  608. {crprotocol-4.3.1 → crprotocol-4.3.2}/examples/streaming.py +0 -0
  609. {crprotocol-4.3.1 → crprotocol-4.3.2}/favicon-16x16.png +0 -0
  610. {crprotocol-4.3.1 → crprotocol-4.3.2}/favicon-32x32.png +0 -0
  611. {crprotocol-4.3.1 → crprotocol-4.3.2}/favicon.ico +0 -0
  612. {crprotocol-4.3.1 → crprotocol-4.3.2}/hooks/mkdocs_hooks.py +0 -0
  613. {crprotocol-4.3.1 → crprotocol-4.3.2}/media/FINAL_CRP_Full_logo-transparent.png +0 -0
  614. {crprotocol-4.3.1 → crprotocol-4.3.2}/message for AI safety.txt +0 -0
  615. {crprotocol-4.3.1 → crprotocol-4.3.2}/migrations/001_initial.sql +0 -0
  616. {crprotocol-4.3.1 → crprotocol-4.3.2}/mkdocs.yml +0 -0
  617. {crprotocol-4.3.1 → crprotocol-4.3.2}/overrides/404.html +0 -0
  618. {crprotocol-4.3.1 → crprotocol-4.3.2}/overrides/main.html +0 -0
  619. {crprotocol-4.3.1 → crprotocol-4.3.2}/overrides/partials/logo.html +0 -0
  620. {crprotocol-4.3.1 → crprotocol-4.3.2}/pyproject.toml +0 -0
  621. {crprotocol-4.3.1 → crprotocol-4.3.2}/rfcs/0000-template.md +0 -0
  622. {crprotocol-4.3.1 → crprotocol-4.3.2}/rfcs/0001-initial-release.md +0 -0
  623. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/cost-estimate.json +0 -0
  624. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/crp-error.json +0 -0
  625. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/envelope-preview.json +0 -0
  626. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/openapi.json +0 -0
  627. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/persisted-state-header.json +0 -0
  628. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/quality-report.json +0 -0
  629. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/session-handle.json +0 -0
  630. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/session-status.json +0 -0
  631. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/stream-event.json +0 -0
  632. {crprotocol-4.3.1 → crprotocol-4.3.2}/schemas/task-intent.json +0 -0
  633. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/audit_docs.py +0 -0
  634. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/audit_docstrings.py +0 -0
  635. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/auto_docstrings.py +0 -0
  636. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/demo_varied_tests.py +0 -0
  637. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/gen_changelog.py +0 -0
  638. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/generate_api_reference.py +0 -0
  639. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/probe_safety.py +0 -0
  640. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/probe_varied_use_cases.py +0 -0
  641. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/validate_crp_mcp.py +0 -0
  642. {crprotocol-4.3.1 → crprotocol-4.3.2}/scripts/verify_v4_demo.py +0 -0
  643. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/BingSiteAuth.xml +0 -0
  644. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/CNAME +0 -0
  645. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/aiuc-1.md +0 -0
  646. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/.meta.yml +0 -0
  647. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/activation.md +0 -0
  648. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/advanced.md +0 -0
  649. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/agent.md +0 -0
  650. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/ckf.md +0 -0
  651. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/cli.md +0 -0
  652. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/client.md +0 -0
  653. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/compliance.md +0 -0
  654. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/comply.md +0 -0
  655. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/config.md +0 -0
  656. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/continuation.md +0 -0
  657. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/core.md +0 -0
  658. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/cso.md +0 -0
  659. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/dispatch.md +0 -0
  660. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/envelope.md +0 -0
  661. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/errors.md +0 -0
  662. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/events.md +0 -0
  663. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/extraction.md +0 -0
  664. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/gateway.md +0 -0
  665. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/headers.md +0 -0
  666. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/index.md +0 -0
  667. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/activation.md +0 -0
  668. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/adapters.md +0 -0
  669. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/advanced.md +0 -0
  670. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/agent.md +0 -0
  671. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/ckf.md +0 -0
  672. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/cli.md +0 -0
  673. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/comply.md +0 -0
  674. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/config.md +0 -0
  675. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/config_schema.md +0 -0
  676. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/continuation.md +0 -0
  677. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/core.md +0 -0
  678. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/envelope.md +0 -0
  679. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/extraction.md +0 -0
  680. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/gateway.md +0 -0
  681. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/headers.md +0 -0
  682. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/index.md +0 -0
  683. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/integrations.md +0 -0
  684. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/license_guard.md +0 -0
  685. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/observability.md +0 -0
  686. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/policy.md +0 -0
  687. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/provenance.md +0 -0
  688. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/providers.md +0 -0
  689. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/resources.md +0 -0
  690. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/scan.md +0 -0
  691. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/schemas.md +0 -0
  692. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/sdk.md +0 -0
  693. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/security.md +0 -0
  694. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/state.md +0 -0
  695. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/modules/stl.md +0 -0
  696. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/observability.md +0 -0
  697. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/policy.md +0 -0
  698. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/provenance.md +0 -0
  699. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/providers.md +0 -0
  700. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/reasoning.md +0 -0
  701. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/resources.md +0 -0
  702. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/safety.md +0 -0
  703. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/scan.md +0 -0
  704. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/schemas.md +0 -0
  705. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/security.md +0 -0
  706. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/api/state.md +0 -0
  707. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/CRP_protocol_ecosystem_transparent.png +0 -0
  708. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/favicon/android-chrome-192x192.png +0 -0
  709. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/favicon/android-chrome-512x512.png +0 -0
  710. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/favicon/apple-touch-icon.png +0 -0
  711. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/favicon/favicon-16x16.png +0 -0
  712. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/favicon/favicon-32x32.png +0 -0
  713. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/favicon/favicon.ico +0 -0
  714. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/favicon/site.webmanifest +0 -0
  715. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/logo-full-readme.png +0 -0
  716. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/logo-full.png +0 -0
  717. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/logo-small.png +0 -0
  718. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/assets/og-image.png +0 -0
  719. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/capabilities.md +0 -0
  720. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/cite.md +0 -0
  721. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/compliance/.meta.yml +0 -0
  722. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/compliance/eu-ai-act.md +0 -0
  723. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/compliance/gdpr.md +0 -0
  724. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/compliance/index.md +0 -0
  725. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/compliance/iso-42001.md +0 -0
  726. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/compliance/nist-ai-rmf.md +0 -0
  727. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/compliance/security.md +0 -0
  728. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/contributing.md +0 -0
  729. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/control-evidence.md +0 -0
  730. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/crpv4-roadmap.md +0 -0
  731. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/faq.md +0 -0
  732. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/getting-started/.meta.yml +0 -0
  733. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/getting-started/cli.md +0 -0
  734. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/getting-started/index.md +0 -0
  735. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/getting-started/installation.md +0 -0
  736. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/getting-started/licensing.md +0 -0
  737. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/getting-started/local-models.md +0 -0
  738. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/getting-started/operating-the-ecosystem.md +0 -0
  739. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/getting-started/providers.md +0 -0
  740. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/getting-started/quickstart.md +0 -0
  741. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/.meta.yml +0 -0
  742. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/demo-app.md +0 -0
  743. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/gateway-railway.md +0 -0
  744. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/index.md +0 -0
  745. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/ingestion.md +0 -0
  746. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/multi-turn.md +0 -0
  747. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/sdk-phases.md +0 -0
  748. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/sdk.md +0 -0
  749. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/session-persistence.md +0 -0
  750. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/sidecar.md +0 -0
  751. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/guides/streaming.md +0 -0
  752. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/index.md +0 -0
  753. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/javascripts/ticker.js +0 -0
  754. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/legal/.meta.yml +0 -0
  755. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/legal/ai-policy.md +0 -0
  756. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/legal/cookie-policy.md +0 -0
  757. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/legal/index.md +0 -0
  758. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/legal/information-security-policy.md +0 -0
  759. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/legal/privacy-policy.md +0 -0
  760. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/llms-full.txt +0 -0
  761. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/llms.txt +0 -0
  762. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/pricing.md +0 -0
  763. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/products/.meta.yml +0 -0
  764. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/products/comply.md +0 -0
  765. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/products/gateway.md +0 -0
  766. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/products/index.md +0 -0
  767. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/products/scan.md +0 -0
  768. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/products/scribe.md +0 -0
  769. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/products/visualise.md +0 -0
  770. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/.meta.yml +0 -0
  771. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/ckf.md +0 -0
  772. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/conformance.md +0 -0
  773. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/context-sources.md +0 -0
  774. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/continuation.md +0 -0
  775. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/core.md +0 -0
  776. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/dispatch-strategies.md +0 -0
  777. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/envelope.md +0 -0
  778. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/extraction.md +0 -0
  779. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/headers.md +0 -0
  780. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/index.md +0 -0
  781. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/meta-learning.md +0 -0
  782. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/multi-agent.md +0 -0
  783. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/provenance.md +0 -0
  784. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/quality-tiers.md +0 -0
  785. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/research.md +0 -0
  786. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/safety-policy.md +0 -0
  787. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/session-token.md +0 -0
  788. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/protocol/zero-ckf-mode.md +0 -0
  789. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/robots.txt +0 -0
  790. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/safety/.meta.yml +0 -0
  791. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/safety/black-box.md +0 -0
  792. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/safety/coverage.md +0 -0
  793. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/safety/dpe.md +0 -0
  794. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/safety/index.md +0 -0
  795. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/safety/safety-policy.md +0 -0
  796. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/sdk/.meta.yml +0 -0
  797. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/sdk/ai-safety.md +0 -0
  798. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/sdk/async.md +0 -0
  799. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/sdk/configuration.md +0 -0
  800. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/sdk/context-management.md +0 -0
  801. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/sdk/errors.md +0 -0
  802. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/sdk/index.md +0 -0
  803. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/sdk/tools-and-agents.md +0 -0
  804. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/.meta.yml +0 -0
  805. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-001-core-protocol.md +0 -0
  806. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-002-headers.md +0 -0
  807. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-003-envelope.md +0 -0
  808. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-004-continuation.md +0 -0
  809. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-005-dpe.md +0 -0
  810. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-006-safety-policy.md +0 -0
  811. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-007-session-token.md +0 -0
  812. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-008-dispatch.md +0 -0
  813. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-009-ckf.md +0 -0
  814. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-010-regulatory-mapping.md +0 -0
  815. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-011-audit-trail.md +0 -0
  816. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-012-multi-agent-safety.md +0 -0
  817. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-013-github-action.md +0 -0
  818. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-014-conformance.md +0 -0
  819. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-015-security-privacy.md +0 -0
  820. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-016-gateway-service.md +0 -0
  821. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-017-zero-ckf-mode.md +0 -0
  822. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-018-air.md +0 -0
  823. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-019-cognitive-quality.md +0 -0
  824. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-020-cognitive-load-distribution.md +0 -0
  825. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-021-reasoning-orchestration.md +0 -0
  826. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-022-execution-fabric.md +0 -0
  827. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-023-amplification-boundary.md +0 -0
  828. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-024-coverage-differential-retrieval.md +0 -0
  829. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-025-graph-retrieval.md +0 -0
  830. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-026-semantic-quality-benchmark.md +0 -0
  831. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-027-retrieval-integrity.md +0 -0
  832. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-028-conversational-context.md +0 -0
  833. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-029-ephemeral-tool-context.md +0 -0
  834. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-030-cognitive-state-relay.md +0 -0
  835. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-031-semantic-task-layer.md +0 -0
  836. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-032-developer-experience.md +0 -0
  837. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-033-safety-control-plane.md +0 -0
  838. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-034-safety-coverage.md +0 -0
  839. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-035-context-lifecycle.md +0 -0
  840. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-036-scan-remediation.md +0 -0
  841. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-037-unified-config.md +0 -0
  842. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-038-storage-backends.md +0 -0
  843. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-039-semantic-code-ingestion.md +0 -0
  844. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-040-crp-comply.md +0 -0
  845. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-041-adoption-ecosystem.md +0 -0
  846. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-042-comply-upgrade-integration.md +0 -0
  847. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-043-gateway-runtime-product.md +0 -0
  848. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-044-authoritative-domain-agent.md +0 -0
  849. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-045-knowledge-learning.md +0 -0
  850. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-046-user-defined-cognition.md +0 -0
  851. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-047-monetisation-payments.md +0 -0
  852. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-048-comply-lowcode-github.md +0 -0
  853. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SPEC-HOSTING-CONTROL.md +0 -0
  854. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/CRP-SUBMISSION-GUIDE.md +0 -0
  855. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/spec/index.md +0 -0
  856. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/standards.md +0 -0
  857. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/stylesheets/extra.css +0 -0
  858. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/tags.md +0 -0
  859. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/terms-of-service.md +0 -0
  860. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/testing/.meta.yml +0 -0
  861. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/testing/benchmarks.md +0 -0
  862. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/testing/index.md +0 -0
  863. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/testing/reproduce.md +0 -0
  864. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/testing/running-tests.md +0 -0
  865. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/topics/.meta.yml +0 -0
  866. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/topics/ai-compliance.md +0 -0
  867. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/topics/ai-governance.md +0 -0
  868. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/topics/ai-safety.md +0 -0
  869. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/topics/context-management.md +0 -0
  870. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/topics/crp-vs-rag-mcp.md +0 -0
  871. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/topics/index.md +0 -0
  872. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/who-is-it-for.md +0 -0
  873. {crprotocol-4.3.1 → crprotocol-4.3.2}/site-docs/why-crp.md +0 -0
  874. {crprotocol-4.3.1 → crprotocol-4.3.2}/skills/visual-expert/SKILL.md +0 -0
  875. {crprotocol-4.3.1 → crprotocol-4.3.2}/specification/01_RESEARCH_FOUNDATIONS.md +0 -0
  876. {crprotocol-4.3.1 → crprotocol-4.3.2}/specification/02_CORE_PROTOCOL.md +0 -0
  877. {crprotocol-4.3.1 → crprotocol-4.3.2}/specification/03_CONTEXT_ENVELOPE.md +0 -0
  878. {crprotocol-4.3.1 → crprotocol-4.3.2}/specification/04_TOKEN_GENERATION_PROTOCOL.md +0 -0
  879. {crprotocol-4.3.1 → crprotocol-4.3.2}/specification/05_SYSTEM_WIDE_INTEGRATION.md +0 -0
  880. {crprotocol-4.3.1 → crprotocol-4.3.2}/specification/06_IMPLEMENTATION_PLAN.md +0 -0
  881. {crprotocol-4.3.1 → crprotocol-4.3.2}/specification/07_SECURITY.md +0 -0
  882. {crprotocol-4.3.1 → crprotocol-4.3.2}/specification/08_MONETIZATION.md +0 -0
  883. {crprotocol-4.3.1 → crprotocol-4.3.2}/specification/09_DEPLOYMENT.md +0 -0
  884. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/__init__.py +0 -0
  885. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/__init__.py +0 -0
  886. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/levels.py +0 -0
  887. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/runner.py +0 -0
  888. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/test_conformance.py +0 -0
  889. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/vectors/agent.json +0 -0
  890. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/vectors/dpe.json +0 -0
  891. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/vectors/headers.json +0 -0
  892. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/vectors/hmac.json +0 -0
  893. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/vectors/safety_policy.json +0 -0
  894. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conformance/vectors/session.json +0 -0
  895. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/conftest.py +0 -0
  896. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/killer_test/crp_killer_report.json +0 -0
  897. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/killer_test/crp_killer_report.txt +0 -0
  898. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/killer_test/crp_killer_test.py +0 -0
  899. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/killer_test/debug_gap.py +0 -0
  900. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/killer_test/debug_gap2.py +0 -0
  901. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_adaptive_allocator.py +0 -0
  902. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_adversarial_provenance.py +0 -0
  903. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_agentic.py +0 -0
  904. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_app_profile.py +0 -0
  905. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_audit.py +0 -0
  906. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_audit_integration.py +0 -0
  907. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_benchmarks.py +0 -0
  908. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_checkpoint_inbox.py +0 -0
  909. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_ckf_gate.py +0 -0
  910. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_compliance_security.py +0 -0
  911. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_compliance_wiring.py +0 -0
  912. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_comply_billing.py +0 -0
  913. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_comply_gateway_proxy.py +0 -0
  914. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_comply_quota_gate.py +0 -0
  915. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_context_enforcer.py +0 -0
  916. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_context_source.py +0 -0
  917. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_headers.py +0 -0
  918. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_mcp.py +0 -0
  919. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_mcp_auth.py +0 -0
  920. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_mcp_backends.py +0 -0
  921. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_mcp_billing.py +0 -0
  922. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_mcp_checkpoint.py +0 -0
  923. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_mcp_checkpoint_policy.py +0 -0
  924. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_mcp_connectors.py +0 -0
  925. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_mcp_coverage.py +0 -0
  926. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_crp_mcp_permissions.py +0 -0
  927. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_cso.py +0 -0
  928. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_decision_provenance.py +0 -0
  929. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_decision_provenance_engine.py +0 -0
  930. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_discovery_provider_bridge.py +0 -0
  931. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_entailment_risk.py +0 -0
  932. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_fidelity_verification.py +0 -0
  933. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_gap_fixes_live.py +0 -0
  934. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_gaps_2_3.py +0 -0
  935. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_gateway.py +0 -0
  936. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_gateway_client.py +0 -0
  937. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_github_app.py +0 -0
  938. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_github_routes.py +0 -0
  939. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_horizons.py +0 -0
  940. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_input_continuation.py +0 -0
  941. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_integration.py +0 -0
  942. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_ip_protection.py +0 -0
  943. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_live_comprehensive.py +0 -0
  944. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_live_full_capture.py +0 -0
  945. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_live_long_generation.py +0 -0
  946. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_live_verification.py +0 -0
  947. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_manifest_ledger.py +0 -0
  948. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_no_code.py +0 -0
  949. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_orchestrator_perf.py +0 -0
  950. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_phase1.py +0 -0
  951. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_phase2.py +0 -0
  952. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_phase3.py +0 -0
  953. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_phase4.py +0 -0
  954. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_phase5.py +0 -0
  955. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_phase6.py +0 -0
  956. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_phase7.py +0 -0
  957. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_phase8.py +0 -0
  958. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_phase9.py +0 -0
  959. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_production_hardening.py +0 -0
  960. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_relay_strategies.py +0 -0
  961. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_resource_manager.py +0 -0
  962. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_retrieval_integrity.py +0 -0
  963. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_safety_control_plane.py +0 -0
  964. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_scan_r3.py +0 -0
  965. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_scoring_robustness.py +0 -0
  966. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_scratch_buffer.py +0 -0
  967. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_sdk_dynamic.py +0 -0
  968. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_sdk_extra_namespaces.py +0 -0
  969. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_sdk_generated_reference.py +0 -0
  970. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_sdk_level0.py +0 -0
  971. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_sdk_level2.py +0 -0
  972. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_sdk_more_namespaces.py +0 -0
  973. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_sdk_namespaces.py +0 -0
  974. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_security_modules.py +0 -0
  975. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_session_token.py +0 -0
  976. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_signup.py +0 -0
  977. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_stl.py +0 -0
  978. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_tool_relay.py +0 -0
  979. {crprotocol-4.3.1 → crprotocol-4.3.2}/tests/test_unified_config.py +0 -0
@@ -11,6 +11,27 @@ 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
+
14
35
  ## [4.3.1] - 2026-06-28
15
36
 
16
37
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crprotocol
3
- Version: 4.3.1
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
@@ -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.1"
5
+ __version__ = "4.3.2"
@@ -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
  # ------------------------------------------------------------------
@@ -40,6 +40,11 @@ from typing import Any
40
40
 
41
41
  from crp._version import __version__
42
42
  from crp.config import CRPConfig as _UnifiedConfig
43
+ from crp.core.app_profile import (
44
+ ApplicationProfile,
45
+ ProviderKind,
46
+ build_profile_from_messages,
47
+ )
43
48
  from crp.core.config import _DEFAULTS as _CORE_DEFAULTS
44
49
  from crp.core.config import CRPConfig as _CoreConfig
45
50
  from crp.core.session import SessionHandle
@@ -181,6 +186,49 @@ class _ExhaustiveDispatcher:
181
186
  )
182
187
 
183
188
 
189
+ def _provider_from_profile(profile: ApplicationProfile) -> LLMProvider | None:
190
+ """Create a provider adapter from an explicit application profile.
191
+
192
+ Returns ``None`` when the profile does not contain enough information to
193
+ instantiate a provider, letting the normal auto-detection path run.
194
+ """
195
+ if profile is None:
196
+ return None
197
+ import os
198
+
199
+ model = profile.provider_model or ""
200
+ metadata = profile.metadata or {}
201
+ base_url = metadata.get("base_url")
202
+ api_key = metadata.get("api_key")
203
+
204
+ if profile.provider is ProviderKind.OPENAI and model:
205
+ from crp.providers.openai import OpenAIAdapter
206
+ return OpenAIAdapter(
207
+ model=model,
208
+ api_key=api_key or os.environ.get("OPENAI_API_KEY") or "not-needed",
209
+ )
210
+ if profile.provider is ProviderKind.ANTHROPIC and model:
211
+ from crp.providers.anthropic import AnthropicAdapter
212
+ return AnthropicAdapter(
213
+ model=model,
214
+ api_key=api_key or os.environ.get("ANTHROPIC_API_KEY") or "not-needed",
215
+ )
216
+ if profile.provider is ProviderKind.OLLAMA and model:
217
+ from crp.providers.ollama import OllamaAdapter
218
+ return OllamaAdapter(model=model, base_url=base_url)
219
+ if profile.provider is ProviderKind.LLAMA_CPP:
220
+ from crp.providers.llamacpp import LlamaCppAdapter
221
+ return LlamaCppAdapter(server_url=base_url or "http://localhost:8080")
222
+ if profile.provider is ProviderKind.LM_STUDIO and model:
223
+ from crp.providers.openai import OpenAIAdapter
224
+ return OpenAIAdapter(
225
+ model=model,
226
+ base_url=base_url or "http://localhost:1234/v1",
227
+ api_key="not-needed",
228
+ )
229
+ return None
230
+
231
+
184
232
  # ── Tool decorator storage ─────────────────────────────────────────────────
185
233
 
186
234
 
@@ -215,6 +263,8 @@ class CRPClient:
215
263
  safety: Safety profile name ("balanced", "strict", etc.) or dict.
216
264
  depth: Default query depth ("auto", "quick", "standard", "thorough",
217
265
  "exhaustive").
266
+ app_profile: Optional application capability contract used to auto-select
267
+ provider, relay strategy, and context behaviour.
218
268
  """
219
269
 
220
270
  provider: LLMProvider | None = field(default=None)
@@ -223,6 +273,7 @@ class CRPClient:
223
273
  depth: str = field(default="auto") # Level 2: quick | standard | thorough | exhaustive
224
274
  model: str | None = field(default=None) # model identifier for auto-detection
225
275
  api_key: str | None = field(default=None) # optional gateway/provider API key
276
+ app_profile: ApplicationProfile | None = field(default=None)
226
277
  _orchestrator: Any = field(default=None, repr=False)
227
278
  _session: SessionHandle | None = field(default=None, repr=False)
228
279
  _tools: _ToolRegistry = field(default_factory=_ToolRegistry, repr=False)
@@ -237,6 +288,7 @@ class CRPClient:
237
288
  model: str | None = None,
238
289
  api_key: str | None = None,
239
290
  input_continuation_mode: str | None = None,
291
+ app_profile: ApplicationProfile | None = None,
240
292
  ) -> None:
241
293
  """Manual __init__ to allow a ``safety`` property on a dataclass."""
242
294
  self.provider = provider
@@ -247,6 +299,7 @@ class CRPClient:
247
299
  self.depth = depth
248
300
  self.model = model
249
301
  self.api_key = api_key
302
+ self.app_profile = app_profile
250
303
  self._orchestrator = None
251
304
  self._session = None
252
305
  self._tools = _ToolRegistry()
@@ -276,21 +329,27 @@ class CRPClient:
276
329
  if self.provider is not None:
277
330
  resolved_provider = self.provider
278
331
  else:
279
- # Try orchestrator auto-detection; fall back to a silent provider
280
- # so the client remains instantiable even with no LLM configured.
281
- try:
282
- resolved_provider = _auto_detect_provider(model=self.model)
283
- except ValueError:
284
- resolved_provider = CustomProvider(
285
- generate_fn=lambda msgs: ("", "stop"),
286
- count_tokens_fn=lambda t: len(t.split()),
287
- context_size=4096,
288
- name="sdk-fallback",
289
- )
332
+ # First try the explicit application profile; fall back to
333
+ # orchestrator auto-detection; finally a silent provider so the
334
+ # client remains instantiable even with no LLM configured.
335
+ resolved_provider = _provider_from_profile(self.app_profile)
336
+ if resolved_provider is None:
337
+ try:
338
+ resolved_provider = _auto_detect_provider(
339
+ model=self.model or (self.app_profile.provider_model if self.app_profile else None),
340
+ )
341
+ except ValueError:
342
+ resolved_provider = CustomProvider(
343
+ generate_fn=lambda msgs: ("", "stop"),
344
+ count_tokens_fn=lambda t: len(t.split()),
345
+ context_size=4096,
346
+ name="sdk-fallback",
347
+ )
290
348
 
291
349
  self._orchestrator = CRPOrchestrator(
292
350
  provider=resolved_provider,
293
351
  config=core_config,
352
+ app_profile=self.app_profile,
294
353
  )
295
354
  self._apply_safety_profile()
296
355
  return self._orchestrator
@@ -620,6 +679,14 @@ class CRPClient:
620
679
  raise ValueError(f"Tool '{name}' not registered. Registered: {list(self._tools.tools.keys())}")
621
680
  return self._tools.tools[name](*args, **kwargs)
622
681
 
682
+ def derive_profile(
683
+ self,
684
+ messages: list[dict[str, Any]],
685
+ tools: list[dict[str, Any]] | None = None,
686
+ ) -> ApplicationProfile:
687
+ """Derive an application capability contract from observed messages."""
688
+ return build_profile_from_messages(messages, tools=tools)
689
+
623
690
  # ------------------------------------------------------------------
624
691
  # Session / visibility API (SPEC-038)
625
692
  # ------------------------------------------------------------------
@@ -876,7 +943,20 @@ class CRPClient:
876
943
  if self._tools.tools and orch._provider.supports_tools():
877
944
  return self._dispatch_with_tools(system, prompt, effective_depth, **kwargs)
878
945
 
946
+ # Profile-driven relay strategy selection (SPEC-008 extension).
947
+ strategy = orch._select_relay_strategy(has_registered_tools=bool(self._tools.tools))
879
948
  dispatch_kwargs = self._depth_kwargs(effective_depth, kwargs)
949
+ if strategy == "tools":
950
+ # Tool-mediated dispatch uses its own output-budget logic; only
951
+ # forward the explicit tool-round cap to avoid passing unknown
952
+ # provider parameters through.
953
+ return orch.dispatch_with_tools(
954
+ system, prompt,
955
+ max_tool_rounds=int(kwargs.get("max_tool_rounds", 10)),
956
+ )
957
+ if strategy != "push":
958
+ return orch.dispatch_with_strategy(strategy, system, prompt, **dispatch_kwargs)
959
+
880
960
  return orch.dispatch(
881
961
  system_prompt=system,
882
962
  task_input=prompt,