crprotocol 4.3.2__tar.gz → 5.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- crprotocol-5.1.0/.coverage.konvidi.pid29996.XQNEr1Cx.HLpP21RTVxfh +0 -0
- crprotocol-5.1.0/.coverage.konvidi.pid29996.Xr8Aseyx.HNQIp837rWOh +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/workflows/ci.yml +1 -1
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.gitignore +2 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/AGENTS.md +15 -5
- {crprotocol-4.3.2 → crprotocol-5.1.0}/AI Agent adoption/CRP-SKILL.md +1 -1
- crprotocol-4.3.2/site-docs/llms-full.txt → crprotocol-5.1.0/AI Agent adoption/llms-full.txt +1 -1
- {crprotocol-4.3.2 → crprotocol-5.1.0}/AI Agent adoption/llms.txt +1 -1
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CHANGELOG.md +133 -0
- crprotocol-5.1.0/CRP_SLM_PROTOCOL_PROPOSAL.md +292 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRPv4_Implementation_Rounds.md +6 -3
- crprotocol-5.1.0/CRPv5_FINALISATION_TRACKING.md +200 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/PKG-INFO +23 -20
- {crprotocol-4.3.2 → crprotocol-5.1.0}/RAILWAY_DEPLOYMENT_GUIDE.md +8 -6
- {crprotocol-4.3.2 → crprotocol-5.1.0}/RAILWAY_VARIABLES.md +25 -17
- {crprotocol-4.3.2 → crprotocol-5.1.0}/README.md +22 -19
- crprotocol-5.1.0/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-049-slm-agent-execution.md +346 -0
- crprotocol-5.1.0/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-050-tool-capability-fabric.md +638 -0
- crprotocol-5.1.0/WASA_AI_CRITICAL_GAP_AUDIT.md +261 -0
- crprotocol-5.1.0/_MConverter.eu_agentic_ai_slm_report.agent.final.footnote.md +1147 -0
- crprotocol-5.1.0/agentic_ai_slm_report.agent.final.footnote.docx +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/__init__.py +17 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/_version.py +1 -1
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/orchestrator.py +1 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/stage3_gliner.py +15 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/headers/names.py +16 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/resources/__init__.py +10 -0
- crprotocol-5.1.0/crp/resources/governor.py +147 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/scan/github_app.py +11 -3
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/scan/remediation.py +8 -1
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/sdk/client.py +114 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/__init__.py +13 -0
- crprotocol-5.1.0/crp/security/clarify.py +96 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/cso.py +43 -0
- crprotocol-5.1.0/crp/stl/__init__.py +111 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/stl/classifier.py +65 -5
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/stl/frame_builder.py +14 -0
- crprotocol-5.1.0/crp/stl/operation_state.py +224 -0
- crprotocol-5.1.0/crp/stl/positioned.py +541 -0
- crprotocol-5.1.0/crp/stl/tool_positioner.py +225 -0
- crprotocol-5.1.0/crp/tools/__init__.py +62 -0
- crprotocol-5.1.0/crp/tools/adapters.py +93 -0
- crprotocol-5.1.0/crp/tools/capability_fabric.py +312 -0
- crprotocol-5.1.0/crp/tools/descriptor.py +229 -0
- crprotocol-5.1.0/crp/tools/executor.py +221 -0
- crprotocol-5.1.0/crp/tools/profiles.py +33 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/auth.py +12 -6
- crprotocol-5.1.0/crp_test_groups/group1.txt +20 -0
- crprotocol-5.1.0/crp_test_groups/group2.txt +20 -0
- crprotocol-5.1.0/crp_test_groups/group3.txt +20 -0
- crprotocol-5.1.0/crp_test_groups/group4.txt +20 -0
- crprotocol-5.1.0/examples/crp_demos/e2e_v5_test.py +314 -0
- crprotocol-5.1.0/examples/crp_demos/positioned_8b_validation.py +146 -0
- crprotocol-5.1.0/examples/crp_demos/positioned_benchmark.py +232 -0
- crprotocol-5.1.0/examples/crp_demos/quality_benchmark.py +216 -0
- crprotocol-5.1.0/examples/crp_demos/safety_checkpoint_test.py +192 -0
- crprotocol-5.1.0/examples/crp_demos/sqb_kimi_judge.py +82 -0
- crprotocol-5.1.0/examples/crp_demos/sqb_positioned.py +155 -0
- crprotocol-5.1.0/examples/crp_demos/v4/run_demo.ps1 +44 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/v4/server.py +188 -2
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/v4/static/app.js +132 -1
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/v4/static/index.html +83 -8
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/v4/static/style.css +99 -0
- crprotocol-5.1.0/local-llm-resource-management-report.md +321 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/mkdocs.yml +2 -1
- crprotocol-5.1.0/schemas/capability-descriptor.json +156 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/aiuc-1.md +468 -468
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/activation.md +44 -44
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/adapters.md +12 -12
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/advanced.md +100 -100
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/agent.md +44 -44
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/ckf.md +92 -92
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/cli.md +36 -36
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/comply.md +116 -116
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/config.md +12 -12
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/config_schema.md +12 -12
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/continuation.md +100 -92
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/core.md +180 -172
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/envelope.md +76 -76
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/extraction.md +108 -108
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/gateway.md +36 -36
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/headers.md +60 -60
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/index.md +44 -43
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/integrations.md +44 -36
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/license_guard.md +12 -12
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/observability.md +60 -60
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/policy.md +76 -76
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/provenance.md +132 -124
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/providers.md +92 -92
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/resources.md +52 -44
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/scan.md +36 -36
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/schemas.md +12 -12
- crprotocol-5.1.0/site-docs/api/modules/sdk.md +60 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/security.md +156 -148
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/state.md +212 -212
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/modules/stl.md +76 -52
- crprotocol-5.1.0/site-docs/api/modules/tools.md +52 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/control-evidence.md +194 -194
- crprotocol-4.3.2/site-docs/crpv4-roadmap.md → crprotocol-5.1.0/site-docs/crpv5-roadmap.md +201 -199
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/sdk.md +59 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/index.md +494 -489
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/products/comply.md +1 -1
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/context-sources.md +2 -2
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/index.md +101 -101
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/sdk/index.md +34 -5
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/sdk/tools-and-agents.md +100 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/testing/benchmarks.md +73 -13
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/testing/running-tests.md +2 -2
- crprotocol-5.1.0/slides.md +153 -0
- crprotocol-5.1.0/sqb_results/positioned_kimi.json +56 -0
- crprotocol-5.1.0/sqb_results/quality_benchmark.json +64 -0
- crprotocol-5.1.0/sqb_results/sqb_positioned_kimi.json +45 -0
- crprotocol-5.1.0/sqb_results/sqb_positioned_local_w6.json +45 -0
- crprotocol-5.1.0/sqb_results/v5_local_8b.json +208 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_comply_quota_gate.py +5 -4
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_mcp_auth.py +38 -2
- crprotocol-5.1.0/tests/test_dispatch_positioned.py +108 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_gap_fixes_live.py +73 -19
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_github_app.py +19 -0
- crprotocol-5.1.0/tests/test_governor_clarify.py +170 -0
- crprotocol-5.1.0/tests/test_operation_state.py +104 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_orchestrator_perf.py +20 -2
- crprotocol-5.1.0/tests/test_positioned.py +256 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_smoke.py +1 -1
- crprotocol-5.1.0/tests/test_tcf.py +258 -0
- crprotocol-4.3.2/crp/stl/__init__.py +0 -33
- crprotocol-4.3.2/site-docs/api/modules/sdk.md +0 -28
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.dockerignore +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/CODEOWNERS +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/FUNDING.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/ISSUE_TEMPLATE/spec-clarification.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/workflows/docs.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/workflows/link-check-config.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/workflows/link-check.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.github/workflows/validate-schemas.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.kimi/skills/crp-auth-expert/SKILL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.kimi/skills/crp-comply-expert/SKILL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.kimi/skills/crp-gateway-expert/SKILL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.kimi/skills/crp-v4-expert/SKILL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.kimi/skills/crp-v4-specs/SKILL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.kimi/skills/programmatic-video-production/SKILL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.kimi/skills/programmatic-video-production/references/tool-comparison.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/.pre-commit-config.yaml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/3.1.0 +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/AI Agent adoption/CRP-AGENT-ADOPTION-STRATEGY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/AI Agent adoption/CRP-MCP-SERVER-SPECIFICATION.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/BENCHMARKS.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CNAME +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CODE_OF_CONDUCT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CONTRIBUTING.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP Comply LLM connection methods issues prompt.txt +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP protocol ecosystem figure.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP-COMPLY-AI-SAFETY-PLAN.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP-COMPLY-UPGRADE-REPORT-v2.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP-COMPLY-UPGRADE-REPORT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP-SHARED-HERO-POSITIONING.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP-v4-SPRINT-REPORT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP-v4-VISUAL-AUDIT-RATING.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP_CAPABILITIES.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP_Comply_github_app_details.txt +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRP_protocol_FULL_transparent_white.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/CRPv4_realised_deliverables.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/D1_CRP_Protocol_Marketing_Update.docx +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/Dockerfile +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/GOVERNANCE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/HOSTING_POSITIONING.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/INTERNAL_DOCS.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/LICENSE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/NOTICE +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SECURITY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SITE_NAVIGATION_AND_PUBLISHING.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-BUILD-PROMPT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-CODER-BRIEF.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-GATEWAY-BLUEPRINT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-MASTER-INDEX.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/CRP-SDK-REFERENCE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-FEASIBILITY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-IANA-RESPONSE-STRATEGY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-IETF-EMAIL-TEMPLATES.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-PUBLIC-CHECKLIST.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SITE-STRATEGY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-001-core-protocol.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-002-headers.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-003-envelope.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-004-continuation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-005-dpe.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-006-safety-policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-007-session-token.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-008-dispatch.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-009-ckf.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-010-regulatory-mapping.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-011-audit-trail.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-012-multi-agent-safety.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-013-github-action.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-014-conformance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-015-security-privacy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-016-gateway-service.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-017-zero-ckf-mode.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-018-air.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-019-cognitive-quality.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-020-cognitive-load-distribution.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-021-reasoning-orchestration.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-022-execution-fabric.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-023-amplification-boundary.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-024-coverage-differential-retrieval.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-025-graph-retrieval.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-026-semantic-quality-benchmark.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-027-retrieval-integrity.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-028-conversational-context.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-029-ephemeral-tool-context.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-030-cognitive-state-relay.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-031-semantic-task-layer.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-032-developer-experience.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-033-safety-control-plane.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-034-safety-coverage.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-035-context-lifecycle.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-036-scan-remediation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-037-unified-config.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-038-storage-backends.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-039-semantic-code-ingestion.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-040-crp-comply.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-041-adoption-ecosystem.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SPEC-HOSTING-CONTROL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-COMPLETE-PACKAGE/crp-coder-package/specs/CRP-SUBMISSION-GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-MASTER-INDEX.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-SPEC-040-crp-comply.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS-2.06.2026/CRP-SPEC-041-adoption-ecosystem.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-FEASIBILITY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-IETF-EMAIL-TEMPLATES.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-PUBLIC-CHECKLIST.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SITE-STRATEGY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-001-core-protocol.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-002-headers.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-003-envelope.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-004-continuation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-005-dpe.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-006-safety-policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-007-session-token.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-008-dispatch.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-009-ckf.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-010-regulatory-mapping.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-011-audit-trail.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-012-multi-agent-safety.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-013-github-action.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-014-conformance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-015-security-privacy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-016-gateway-service.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-017-zero-ckf-mode.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SPEC-HOSTING-CONTROL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-SUBMISSION-GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/CRP-V3-IMPLEMENTATION-PLAN.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/Overview of all documents.docx +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/SUBMISSION-GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/TRACKING_OF_PROGRESS.MD +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/crp-headers-spec.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/crp-product-ecosystem.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_27-05-2027/crp-v3-complete-spec.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/Automated prompt-response review, questions, actions and insights.txt +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-AUTH-MIGRATION-SPRINT-SUMMARY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-AUTH-POSTGRESQL-MIGRATION-PLAN.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-AUTH-USER-MANAGEMENT-SOLUTION.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-BUILD-PROMPT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-CODER-BRIEF.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-COMPLY-BUILDER-PROMPT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-COMPLY-UPGRADE-HANDOFF.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-ECOSYSTEM-BOUNDARIES.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-GATEWAY-BLUEPRINT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-GATEWAY-PRODUCT-OVERVIEW.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-GITHUB-APP-GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-GITHUB-CONNECTIVITY-SOLUTION.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-MARKET-STRATEGY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-MASTER-INDEX.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-RAILWAY-SETUP-GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-SDK-REFERENCE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-STRIPE-SETUP-GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-V4-UPGRADE-PROMPT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/CRP-v4-PHASED-IMPLEMENTATION-REPORT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/adversarially-robust-safety.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/mfa_plan.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-FEASIBILITY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-IANA-RESPONSE-STRATEGY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-IETF-EMAIL-TEMPLATES.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-PUBLIC-CHECKLIST.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SITE-STRATEGY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-001-core-protocol.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-002-headers.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-003-envelope.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-004-continuation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-005-dpe.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-006-safety-policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-007-session-token.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-008-dispatch.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-009-ckf.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-010-regulatory-mapping.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-011-audit-trail.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-012-multi-agent-safety.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-013-github-action.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-014-conformance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-015-security-privacy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-016-gateway-service.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-017-zero-ckf-mode.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-018-air.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-019-cognitive-quality.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-020-cognitive-load-distribution.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-021-reasoning-orchestration.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-022-execution-fabric.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-023-amplification-boundary.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-024-coverage-differential-retrieval.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-025-graph-retrieval.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-026-semantic-quality-benchmark.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-027-retrieval-integrity.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-028-conversational-context.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-029-ephemeral-tool-context.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-030-cognitive-state-relay.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-031-semantic-task-layer.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-032-developer-experience.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-033-safety-control-plane.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-034-safety-coverage.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-035-context-lifecycle.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-036-scan-remediation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-037-unified-config.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-038-storage-backends.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-039-semantic-code-ingestion.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-040-crp-comply.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-041-adoption-ecosystem.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-042-comply-upgrade-integration.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-043-gateway-runtime-product.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-044-authoritative-domain-agent.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-045-knowledge-learning.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-046-user-defined-cognition.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-047-monetisation-payments.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-048-comply-lowcode-github.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-HOSTING-CONTROL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/SPECS_5_06_2026_CRP_v4/specs/CRP-SUBMISSION-GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/STRIPE_MONETISATION.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/TRADEMARK.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/android-chrome-192x192.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/android-chrome-512x512.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/apple-touch-icon.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/__main__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/_typing.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/activation/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/activation/mode.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/activation/onboarding.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/activation/policy_adjust.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/activation/stages.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/adapters.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/auto_ingest.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/cqs.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/cross_window.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/curator.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/feedback.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/hierarchical.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/meta_learning.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/parallel.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/review_cycle.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/scale_mode.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/advanced/source_grounding.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/agent/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/agent/budget.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/agent/chain.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/agent/oversight.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/agent/propagation.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/cdgr.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/community.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/fabric.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/gc.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/graph_edges.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/graph_walk.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/merge.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/pattern_query.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/pubsub.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/ckf/semantic.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/cli/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/cli/main.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/cli/sidecar.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/cli/startup.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/billing/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/billing/checkout.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/billing/constants.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/billing/entitlements.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/billing/metering.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/billing/reconciliation.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/billing/webhook.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/checkpoint_inbox.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/gateway_client.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/gateway_proxy.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/github_routes.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/header_mapping.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/no_code.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/quota_gate.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/comply/signup.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/config.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/config_schema.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/completion.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/degradation.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/document_map.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/flow.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/gap.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/input_planner.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/manager.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/quality_monitor.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/stitch.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/trigger.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/continuation/voice.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/app_profile.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/batch.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/circuit_breaker.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/config.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/context_enforcer.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/context_source.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/context_tools.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/dispatch_router.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/errors.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/extraction_facade.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/facilitator.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/idempotency.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/ledger_backends.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/manifest_derive.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/manifest_ledger.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/relay_strategies.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/security_manager.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/session.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/task_intent.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/core/window.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/envelope/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/envelope/builder.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/envelope/cdr.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/envelope/decomposer.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/envelope/formatter.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/envelope/packer.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/envelope/reranker.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/envelope/retrieval_integrity.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/envelope/scoring.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/complexity.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/contradiction.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/pipeline.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/quality_gate.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/stage1_regex.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/stage2_statistical.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/stage4_uie.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/stage5_discourse.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/stage6_llm.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/structured_output.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/extraction/types.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/gateway/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/gateway/api.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/gateway/key_vault.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/gateway/router.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/headers/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/headers/conditional.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/headers/emit.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/headers/halt.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/headers/middleware.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/headers/parse.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/integrations/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/integrations/_common.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/integrations/anthropic_hook.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/integrations/app_discovery.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/integrations/langchain_hook.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/integrations/openai_hook.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/license_guard.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/observability/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/observability/audit.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/observability/events.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/observability/metrics.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/observability/quality.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/observability/structured_logging.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/observability/telemetry.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/policy/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/policy/enforce.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/policy/grammar.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/policy/inheritance.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/policy/mode.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/policy/model.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/policy/nonce.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/policy/profiles.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/policy/report.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/_embeddings.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/_types.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/amplifiers.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/attribution_scorer.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/calibration.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/claim_detector.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/contradiction_detector.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/distortion_detector.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/entailment_verifier.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/fabrication_detector.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/hallucination_scorer.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/omission_analyzer.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/provenance_chain.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/report_generator.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/rqa.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/rqa_stages.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/provenance/window_chain.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/anthropic.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/base.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/custom.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/diagnostic.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/discovery.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/llamacpp.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/manager.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/ollama.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/openai.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/providers/tokenizers.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/py.typed +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/resources/adaptive_allocator.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/resources/cost_model.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/resources/overhead_manager.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/resources/resource_manager.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/scan/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/scan/semantic_ingestion.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/scan/templates/README.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/cost-estimate.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/crp-error.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/envelope-preview.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/persisted-state-header.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/quality-report.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/session-handle.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/session-status.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/stream-event.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/schemas/task-intent.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/sdk/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/sdk/dynamic.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/sdk/proxies.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/sdk/proxies_extra.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/sdk/proxies_more.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/sdk/response.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/audit_trail.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/binding.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/checkpoint.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/compliance.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/consent.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/control_plane.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/coverage.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/embedding_defense.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/encryption.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/injection.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/integrity.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/privacy.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/quarantine.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/rbac.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/safety_manifest.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/session_token.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/security/validation.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/backends/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/backends/base.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/backends/memory.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/backends/redis.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/backends/s3.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/backends/sqlite.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/cold_storage.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/compaction.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/coverage_set.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/critical_state.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/event_log.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/fact.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/horizons.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/scratch_buffer.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/serialization.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/session_cleanup.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/snapshot.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/storage/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/storage/ephemeral_store.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/storage/hot_cache.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/storage/inverted_index.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/storage/rolling_log.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/storage/router.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/state/warm_store.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/stl/depth_model.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/stl/goal_compass.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp/stl/orchestrator.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_envelope_budget +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/.env.example +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/.env.hosted.template +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/agent_tools.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/backend_client.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/billing.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/capabilities.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/checkpoint_policy.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/checkpoint_service.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/completions.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/comply_tools.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/config_tools.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/base.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/comply.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/console.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/email.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/fcm.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/gmail.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/pagerduty.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/slack.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/sms.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/connectors/webhook.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/corpus.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/dpe_tools.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/gateway_tools.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/headers_lint.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/local_tools.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/permissions.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/prompts.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/resources.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/safety_tools.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/scaffold.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/scan_tools.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/server.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_mcp/types.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_shared/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_shared/audit.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_shared/auth.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_shared/crp_headers.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_shared/db.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_shared/passkey.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_shared/schema.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/crp_shared/session_token.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/AUDIT_REPORT_ROUND_1_SITE_FIXES.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/AUDIT_REPORT_ROUND_2_VISUAL_IMPROVEMENTS.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/Analysis_of_benchmark_results.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_AVAILABILITY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_CHECKPOINTS_SETUP_GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_DEMO_VIDEO_SCRIPT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_MCP_ACTIONABLE_DEPLOYMENT_GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_MCP_CONNECTORS_SETUP_GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_MCP_ENVIRONMENT_MAPPING.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_MCP_PRODUCTION_CHECKLIST.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_MCP_SECURITY_AND_CHECKPOINTS_REPORT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_SCAN_ACTION_GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_SCAN_ACTION_PLAN.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_SCAN_MARKETPLACE_AND_PARTNERSHIP.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_SDK_CONTEXT_SAFETY_GAP_REPORT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_SPEC_REALITY_MAP.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/CRP_V3_COMPLETENESS.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/DEMO_REPRODUCTION_AND_VIDEO_GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/DOCS_PLATFORM_EVALUATION.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/DOCS_QUALITY_STRATEGY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/GATEWAY_BACKEND_INTEGRATION.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/GATEWAY_RAILWAY_DEPLOY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/GITHUB_ACTION_PUBLISH.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/LINKEDIN_LAUNCH_SERIES.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/OPERATIONS_RUNBOOK.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/SEO_AEO_GEO_STRATEGY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/UX_ACCESSIBILITY_IMPROVEMENTS.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/VS_CODE_EXTENSION_PUBLISH.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/docs/WASA_INTEGRATION_TUTORIAL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/async_usage.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/benchmark_continuation.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/choose_provider.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/comply_demo.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/README.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/_benchmark_results/20260601_140350_comparison.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/_benchmark_results/20260601_140350_crp_document.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/_benchmark_results/20260601_140350_hierarchical_document.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/_benchmark_results/20260601_140350_injection_document.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/_benchmark_results/20260601_140350_rag_document.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/comparison_backend.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/pipeline.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/run_benchmark.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/server.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/sqb_benchmark.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/static/app.js +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/static/comparison.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/static/context.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/static/context.js +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/static/index.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/static/safety.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/static/safety.js +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/static/style.css +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/strategies/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/strategies/base.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/strategies/crp_strategy.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/strategies/hierarchical_strategy.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/strategies/injection_strategy.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/crp_demos/strategies/rag_strategy.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/demo_app/README.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/demo_app/demo.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/demo_app/demo_v1.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/extraction-pipeline.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/ingestion.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/local-model.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/multi-provider.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/multi_turn.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/quickstart.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/quickstart.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/scribe_demo.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/session-resumption.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/examples/streaming.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/favicon-16x16.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/favicon-32x32.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/favicon.ico +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/hooks/mkdocs_hooks.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/media/FINAL_CRP_Full_logo-transparent.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/message for AI safety.txt +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/migrations/001_initial.sql +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/overrides/404.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/overrides/main.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/overrides/partials/logo.html +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/pyproject.toml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/rfcs/0000-template.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/rfcs/0001-initial-release.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/cost-estimate.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/crp-error.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/envelope-preview.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/openapi.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/persisted-state-header.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/quality-report.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/session-handle.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/session-status.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/stream-event.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/schemas/task-intent.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/audit_docs.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/audit_docstrings.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/auto_docstrings.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/demo_varied_tests.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/gen_changelog.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/generate_api_reference.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/probe_safety.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/probe_varied_use_cases.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/validate_crp_mcp.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/scripts/verify_v4_demo.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/BingSiteAuth.xml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/CNAME +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/activation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/advanced.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/agent.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/ckf.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/cli.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/client.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/compliance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/comply.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/config.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/continuation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/core.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/cso.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/dispatch.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/envelope.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/errors.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/events.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/extraction.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/gateway.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/headers.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/observability.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/provenance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/providers.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/reasoning.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/resources.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/safety.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/scan.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/schemas.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/security.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/api/state.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/CRP_protocol_ecosystem_transparent.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/favicon/android-chrome-192x192.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/favicon/android-chrome-512x512.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/favicon/apple-touch-icon.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/favicon/favicon-16x16.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/favicon/favicon-32x32.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/favicon/favicon.ico +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/favicon/site.webmanifest +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/logo-full-readme.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/logo-full.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/logo-small.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/assets/og-image.png +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/capabilities.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/cite.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/compliance/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/compliance/eu-ai-act.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/compliance/gdpr.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/compliance/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/compliance/iso-42001.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/compliance/nist-ai-rmf.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/compliance/security.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/contributing.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/faq.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/getting-started/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/getting-started/cli.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/getting-started/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/getting-started/installation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/getting-started/licensing.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/getting-started/local-models.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/getting-started/operating-the-ecosystem.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/getting-started/providers.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/getting-started/quickstart.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/demo-app.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/gateway-railway.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/ingestion.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/multi-turn.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/sdk-phases.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/session-persistence.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/sidecar.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/guides/streaming.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/javascripts/ticker.js +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/legal/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/legal/ai-policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/legal/cookie-policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/legal/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/legal/information-security-policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/legal/privacy-policy.md +0 -0
- {crprotocol-4.3.2/AI Agent adoption → crprotocol-5.1.0/site-docs}/llms-full.txt +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/llms.txt +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/pricing.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/products/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/products/gateway.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/products/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/products/scan.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/products/scribe.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/products/visualise.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/ckf.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/conformance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/continuation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/core.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/dispatch-strategies.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/envelope.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/extraction.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/headers.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/meta-learning.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/multi-agent.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/provenance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/quality-tiers.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/research.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/safety-policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/session-token.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/protocol/zero-ckf-mode.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/robots.txt +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/safety/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/safety/black-box.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/safety/coverage.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/safety/dpe.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/safety/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/safety/safety-policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/sdk/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/sdk/ai-safety.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/sdk/async.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/sdk/configuration.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/sdk/context-management.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/sdk/errors.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-001-core-protocol.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-002-headers.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-003-envelope.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-004-continuation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-005-dpe.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-006-safety-policy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-007-session-token.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-008-dispatch.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-009-ckf.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-010-regulatory-mapping.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-011-audit-trail.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-012-multi-agent-safety.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-013-github-action.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-014-conformance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-015-security-privacy.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-016-gateway-service.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-017-zero-ckf-mode.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-018-air.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-019-cognitive-quality.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-020-cognitive-load-distribution.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-021-reasoning-orchestration.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-022-execution-fabric.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-023-amplification-boundary.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-024-coverage-differential-retrieval.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-025-graph-retrieval.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-026-semantic-quality-benchmark.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-027-retrieval-integrity.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-028-conversational-context.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-029-ephemeral-tool-context.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-030-cognitive-state-relay.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-031-semantic-task-layer.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-032-developer-experience.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-033-safety-control-plane.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-034-safety-coverage.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-035-context-lifecycle.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-036-scan-remediation.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-037-unified-config.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-038-storage-backends.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-039-semantic-code-ingestion.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-040-crp-comply.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-041-adoption-ecosystem.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-042-comply-upgrade-integration.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-043-gateway-runtime-product.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-044-authoritative-domain-agent.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-045-knowledge-learning.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-046-user-defined-cognition.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-047-monetisation-payments.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-048-comply-lowcode-github.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SPEC-HOSTING-CONTROL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/CRP-SUBMISSION-GUIDE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/spec/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/standards.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/stylesheets/extra.css +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/tags.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/terms-of-service.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/testing/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/testing/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/testing/reproduce.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/topics/.meta.yml +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/topics/ai-compliance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/topics/ai-governance.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/topics/ai-safety.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/topics/context-management.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/topics/crp-vs-rag-mcp.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/topics/index.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/who-is-it-for.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/site-docs/why-crp.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/skills/visual-expert/SKILL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/specification/01_RESEARCH_FOUNDATIONS.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/specification/02_CORE_PROTOCOL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/specification/03_CONTEXT_ENVELOPE.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/specification/04_TOKEN_GENERATION_PROTOCOL.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/specification/05_SYSTEM_WIDE_INTEGRATION.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/specification/06_IMPLEMENTATION_PLAN.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/specification/07_SECURITY.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/specification/08_MONETIZATION.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/specification/09_DEPLOYMENT.md +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/__init__.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/levels.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/runner.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/test_conformance.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/vectors/agent.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/vectors/dpe.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/vectors/headers.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/vectors/hmac.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/vectors/safety_policy.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conformance/vectors/session.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/conftest.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/killer_test/crp_killer_report.json +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/killer_test/crp_killer_report.txt +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/killer_test/crp_killer_test.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/killer_test/debug_gap.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/killer_test/debug_gap2.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_adaptive_allocator.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_adversarial_provenance.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_agentic.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_app_profile.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_app_profile_integration.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_audit.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_audit_integration.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_benchmarks.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_checkpoint_inbox.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_ckf_gate.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_compliance_security.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_compliance_wiring.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_comply_billing.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_comply_gateway_proxy.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_context_enforcer.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_context_source.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_headers.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_mcp.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_mcp_backends.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_mcp_billing.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_mcp_checkpoint.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_mcp_checkpoint_policy.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_mcp_connectors.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_mcp_coverage.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_crp_mcp_permissions.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_cso.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_decision_provenance.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_decision_provenance_engine.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_discovery_provider_bridge.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_entailment_risk.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_fidelity_verification.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_gaps_2_3.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_gateway.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_gateway_client.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_github_routes.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_horizons.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_input_continuation.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_integration.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_ip_protection.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_live_comprehensive.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_live_full_capture.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_live_long_generation.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_live_verification.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_manifest_ledger.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_no_code.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_phase1.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_phase2.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_phase3.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_phase4.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_phase5.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_phase6.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_phase7.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_phase8.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_phase9.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_production_hardening.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_relay_strategies.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_resource_manager.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_retrieval_integrity.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_safety_control_plane.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_scan_r3.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_scoring_robustness.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_scratch_buffer.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_sdk_dynamic.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_sdk_extra_namespaces.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_sdk_generated_reference.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_sdk_level0.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_sdk_level2.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_sdk_more_namespaces.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_sdk_namespaces.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_security_modules.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_session_token.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_signup.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_stl.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_tool_relay.py +0 -0
- {crprotocol-4.3.2 → crprotocol-5.1.0}/tests/test_unified_config.py +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
## Project Overview
|
|
10
10
|
|
|
11
|
-
**Context Relay Protocol (CRP)** is an open Python SDK and protocol specification for
|
|
11
|
+
**Context Relay Protocol (CRP) for Agentic AI** is an open Python SDK and protocol specification for agentic context and tool orchestration across LLM invocations. It acts as a middleware layer that wraps existing LLM calls and structures the surrounding agentic ecosystem to provide:
|
|
12
12
|
|
|
13
13
|
- **Unbounded context** — auto-ingests documents larger than any model's context window
|
|
14
14
|
- **Unbounded generation** — automatic continuation when output hits physical limits
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
**Package name on PyPI:** `crprotocol`
|
|
19
19
|
**License:** Elastic License 2.0 (code) / CC BY-SA 4.0 (specification documents)
|
|
20
20
|
|
|
21
|
-
The core value proposition: instead of one shared context window where everything competes for token budget, CRP gives each LLM call its own dedicated window with a curated "envelope" of relevant historical facts extracted from prior windows.
|
|
21
|
+
The core value proposition: instead of one shared context window where everything competes for token budget, CRP gives each LLM call its own dedicated window with a curated "envelope" of relevant historical facts, selected tools, and operation goals extracted from prior windows.
|
|
22
22
|
|
|
23
23
|
**v4 adds:** the quality layer (CDR/CDGR/CSO), the positioning layer (STL), and the product revenue loop (Gateway visual console, Comply upgrade, Scan remediation + payments).
|
|
24
24
|
|
|
@@ -245,7 +245,7 @@ The core value proposition: instead of one shared context window where everythin
|
|
|
245
245
|
|
|
246
246
|
---
|
|
247
247
|
|
|
248
|
-
## Complete Spec Index (v4 —
|
|
248
|
+
## Complete Spec Index (v4 — 49 Specifications)
|
|
249
249
|
|
|
250
250
|
All v4 specs are in `SPECS_5_06_2026_CRP_v4/specs/` (main repo). v3 specs are in `crprotocol-specs/` (separate repo).
|
|
251
251
|
|
|
@@ -299,9 +299,11 @@ All v4 specs are in `SPECS_5_06_2026_CRP_v4/specs/` (main repo). v3 specs are in
|
|
|
299
299
|
| SPEC-046 | User-Defined Cognition | Frontier | **NEW v4** | Deferred (R5) |
|
|
300
300
|
| SPEC-047 | Monetisation & Payments | Revenue — Tier 3 | **NEW v4** | B (R3) |
|
|
301
301
|
| SPEC-048 | Comply Low-Code + GitHub App | Product — Tier 3 | **NEW v4** | B (R3) |
|
|
302
|
+
| SPEC-049 | SLM Agent Execution Profile | Cross-cutting — Agentic Execution | **NEW v4.1** | B (R3+) |
|
|
303
|
+
| SPEC-050 | Tool Capability Fabric & Operation Orchestration | Cross-cutting — Agentic Execution | **NEW v4.1** | B (R3+) |
|
|
302
304
|
|
|
303
305
|
**Additional v4 documents in `SPECS_5_06_2026_CRP_v4/`:**
|
|
304
|
-
|
|
306
|
+
- `CRP-BUILD-PROMPT.md` — Build instructions
|
|
305
307
|
- `CRP-CODER-BRIEF.md` — Coder brief with gap analysis
|
|
306
308
|
- `CRP-ECOSYSTEM-BOUNDARIES.md` — Ecosystem boundaries
|
|
307
309
|
- `CRP-GATEWAY-BLUEPRINT.md` — 22-step Gateway lifecycle blueprint
|
|
@@ -351,6 +353,8 @@ crp/
|
|
|
351
353
|
│ ├── depth_model.py
|
|
352
354
|
│ ├── frame_builder.py
|
|
353
355
|
│ ├── goal_compass.py
|
|
356
|
+
│ ├── operation_state.py ← NEW (SPEC-050) — operation state machine
|
|
357
|
+
│ ├── tool_positioner.py ← NEW (SPEC-050) — build Tool Positioning Frame
|
|
354
358
|
│ └── orchestrator.py
|
|
355
359
|
├── security/
|
|
356
360
|
│ ├── control_plane.py ← NEW (SPEC-033) [Agent-B]
|
|
@@ -360,7 +364,13 @@ crp/
|
|
|
360
364
|
├── gateway/
|
|
361
365
|
│ ├── api.py ← EXTEND (22-step lifecycle) [Agent-A]
|
|
362
366
|
│ ├── router.py ← NEW (SPEC-016) [Agent-A]
|
|
363
|
-
│
|
|
367
|
+
│ ├── key_vault.py ← NEW (SPEC-016) [Agent-A]
|
|
368
|
+
│ └── capability_router.py ← NEW (SPEC-049/050) — capability-profile mapper & structured-output translation [Agent-B]
|
|
369
|
+
├── tools/ ← NEW (SPEC-050) — Tool Capability Fabric
|
|
370
|
+
│ ├── __init__.py
|
|
371
|
+
│ ├── capability_fabric.py # TCF registry and retrieval
|
|
372
|
+
│ ├── descriptor.py # CapabilityDescriptor + validation
|
|
373
|
+
│ └── executor.py # tool-call execution and observation storage
|
|
364
374
|
├── scan/
|
|
365
375
|
│ ├── semantic_ingestion.py ← NEW (SPEC-039) [Agent-A]
|
|
366
376
|
│ ├── remediation.py ← NEW (SPEC-036) [Agent-A]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# CRP — Context Relay Protocol: Agent Integration Guide
|
|
2
2
|
|
|
3
3
|
> This file teaches an AI coding agent how to add AI governance, safety, and compliance
|
|
4
|
-
> to an application using
|
|
4
|
+
> to an application using CRPv5. If you are an AI agent helping a developer govern, secure,
|
|
5
5
|
> or make their LLM application audit-ready, this is your reference.
|
|
6
6
|
>
|
|
7
7
|
> For the short discovery file, see `https://crprotocol.io/llms.txt`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# CRP — Context Relay Protocol: Agent Integration Guide
|
|
2
2
|
|
|
3
3
|
> This file teaches an AI coding agent how to add AI governance, safety, and compliance
|
|
4
|
-
> to an application using
|
|
4
|
+
> to an application using CRPv5. If you are an AI agent helping a developer govern, secure,
|
|
5
5
|
> or make their LLM application audit-ready, this is your reference.
|
|
6
6
|
>
|
|
7
7
|
> For the short discovery file, see `https://crprotocol.io/llms.txt`.
|
|
@@ -11,6 +11,139 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [5.1.0] - 2026-07-04
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- **Context-overflow guard in the positioned loop (`crp/stl/positioned.py`).**
|
|
18
|
+
`provider_model_call` previously sent a fixed `max_tokens` with no check against
|
|
19
|
+
the connected provider's real context window, even though `count_tokens()` and
|
|
20
|
+
`context_window_size()` are mandatory on the `LLMProvider` ABC. Added
|
|
21
|
+
`guard_prompt_budget()` (exported via `crp.stl`): caps `max_tokens` and, only if
|
|
22
|
+
still necessary, trims the **oldest** prompt content (preserving the task/operation
|
|
23
|
+
frame) so input, tool-call frames, continuation windows, and accumulated
|
|
24
|
+
multi-turn CSO state can never overflow the model's actual window — local or
|
|
25
|
+
frontier. Verified end-to-end against a live 8196-token local model across a
|
|
26
|
+
6-turn multi-turn/tool-call/continuation stress scenario with zero overflow
|
|
27
|
+
errors (see `crp-comply/scripts/context_overflow_stress.py`).
|
|
28
|
+
- **Continuation anti-repetition** (`crp/stl/positioned.py`): the continuation loop
|
|
29
|
+
now feeds a `DocumentMap`-derived table of covered sections into each window's
|
|
30
|
+
prompt and applies an n-gram repetition guard (retry once, then stop) — reduces
|
|
31
|
+
4-gram repetition on Kimi to a 3.66% mean across the SQB test cases (was
|
|
32
|
+
15–30% under the naive continuation harness).
|
|
33
|
+
- **GitHub App: wrong installation-repos endpoint** (`crp/scan/github_app.py`).
|
|
34
|
+
`list_repos()` called `GET /installations/{installation_id}/repositories`,
|
|
35
|
+
which is not a real GitHub API route (always 404, regardless of a valid
|
|
36
|
+
installation ID/token). The correct endpoint is `GET /installation/repositories`
|
|
37
|
+
(singular, no ID in the path — the installation is implied entirely by the
|
|
38
|
+
installation access token used for auth). Also switched the auth header to
|
|
39
|
+
`Bearer` (matching `X-GitHub-Api-Version: 2022-11-28`) for consistency with
|
|
40
|
+
`installation_token()`. Added a URL-asserting regression test — the previous
|
|
41
|
+
test mocked `requests.get` without checking the actual URL, so it never
|
|
42
|
+
caught this.
|
|
43
|
+
- **`crp.scan.remediation.RemediationEngine.open_pr()` crashed in production**
|
|
44
|
+
whenever `crp.scan.github_app` was importable (i.e. always, once installed):
|
|
45
|
+
it called `GithubAppClient()` with no arguments, but the class requires
|
|
46
|
+
`app_id` + `private_key_pem`. Fixed to use the existing
|
|
47
|
+
`GithubAppClient.from_env()` factory, catching `RuntimeError` (env vars not
|
|
48
|
+
configured) alongside the existing `ImportError` (module not installed) —
|
|
49
|
+
both now return the same graceful fallback string instead of crashing.
|
|
50
|
+
- **`crp_mcp.auth.ClerkTokenVerifier` / `authenticate()` used non-existent
|
|
51
|
+
`AccessToken` fields.** The real `mcp.server.auth.provider.AccessToken`
|
|
52
|
+
pydantic model only has `token`/`client_id`/`scopes`/`expires_at`/`resource`
|
|
53
|
+
— no `subject` or `claims` field. Constructing it with those kwargs silently
|
|
54
|
+
dropped them, and `authenticate()` reading `access_token.claims` would raise
|
|
55
|
+
`AttributeError` in production whenever FastMCP's auth middleware path was
|
|
56
|
+
taken (not caught, not covered by any prior test). Fixed to store the
|
|
57
|
+
resolved user id in `client_id` and re-derive claims via
|
|
58
|
+
`_verify_token(access_token.token)` (the JWKS client is already cached).
|
|
59
|
+
Added a regression test exercising the FastMCP-context path directly.
|
|
60
|
+
- **`.github/workflows/ci.yml` never installed the `[mcp]` extras** (mcp,
|
|
61
|
+
pyyaml, httpx, `pyjwt[crypto]`, stripe, google-auth) — only `[dev]`. This
|
|
62
|
+
meant `crp_mcp`/comply/scan tests that depend on those packages could never
|
|
63
|
+
correctly run in CI. Changed to `pip install -e ".[full,mcp,dev]"`.
|
|
64
|
+
- **Windows GLiNER/PyTorch native crash (fatal access violation during
|
|
65
|
+
`GLiNER.from_pretrained()`).** Root-caused as a Windows OpenMP
|
|
66
|
+
duplicate-runtime conflict — numpy, scipy, scikit-learn, and torch each
|
|
67
|
+
bundle their own OpenMP DLL, and loading more than one in the same process
|
|
68
|
+
can crash natively when GLiNER's model weights are loaded. Not a CRP logic
|
|
69
|
+
bug, but genuinely fixable rather than merely a "disable stage 3"
|
|
70
|
+
workaround: `crp/__init__.py` now sets `KMP_DUPLICATE_LIB_OK=TRUE` and
|
|
71
|
+
`OMP_NUM_THREADS=1` (Windows-only, before any other CRP import, so it takes
|
|
72
|
+
effect before numpy/scipy/torch are first loaded), and
|
|
73
|
+
`crp/extraction/stage3_gliner.py` additionally caps `torch.set_num_threads(1)`
|
|
74
|
+
at the GLiNER model-load call site. Verified via a repeated fresh-load
|
|
75
|
+
stress test (15/15 clean runs) with zero effect on Linux/macOS.
|
|
76
|
+
- Several previously-failing tests were stale rather than indicating real
|
|
77
|
+
bugs, and have been corrected to match intentional prior refactors:
|
|
78
|
+
`test_gap_fixes_live.py` (7 tests) checked `CRPOrchestrator.dispatch`
|
|
79
|
+
directly via `inspect.getsource()`, but `dispatch()` is now a thin
|
|
80
|
+
thread-safety wrapper around `_dispatch_locked()` (added for reentrant
|
|
81
|
+
locking) — updated to inspect `_dispatch_locked`; two more assumed eager
|
|
82
|
+
embedding-model loading, which is intentionally lazy by default
|
|
83
|
+
(`eager_load_models`) — updated to opt in explicitly.
|
|
84
|
+
`test_comply_quota_gate.py` (2 tests) hardcoded a stale `"2026-06"` billing
|
|
85
|
+
period key that no longer matches `period_key()`'s real current-month
|
|
86
|
+
output — updated to call `period_key()`. `test_orchestrator_perf.py`'s
|
|
87
|
+
Ollama-probe-timeout test assumed no local Ollama instance is ever running —
|
|
88
|
+
now mocks `urllib.request.urlopen` so it is deterministic regardless of the
|
|
89
|
+
host machine. `test_sdk_generated_reference.py` (2 tests) failed because
|
|
90
|
+
`site-docs/api/modules/` was out of sync with the current module list
|
|
91
|
+
(`crp.tools` was added without regenerating docs) — regenerated via
|
|
92
|
+
`scripts/generate_api_reference.py`.
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
CRP v5 turns the protocol from an inference-governance layer into a full
|
|
97
|
+
**agentic execution** layer for small/local language models. The doctrine is
|
|
98
|
+
*positioning, not injection*: the model is placed on one isolated operation at a
|
|
99
|
+
time with only the 1–3 tools that operation needs — it never sees the tool
|
|
100
|
+
catalogue — and a durable Cognitive State Object carries findings forward so
|
|
101
|
+
hundreds of tool calls compose into one coherent answer without flooding the
|
|
102
|
+
context window. Validated end-to-end on `meta-llama-3.1-8b-instruct` (LM Studio).
|
|
103
|
+
|
|
104
|
+
### Added
|
|
105
|
+
- **Tool Capability Fabric (TCF)** — `crp/tools/` (CRP-SPEC-050). Capability
|
|
106
|
+
descriptors, registry + semantic/policy-filtered retrieval, executor, and a
|
|
107
|
+
`ToolResultExtractor` that turns raw tool output into typed observations.
|
|
108
|
+
`fabric_from_callables()` auto-registers `@client.tool` functions.
|
|
109
|
+
- **Semantic Task Layer positioned loop** — `crp/stl/positioned.py`
|
|
110
|
+
(`run_positioned`). The live STL spine that classifies a request into the
|
|
111
|
+
canonical 10-operation taxonomy (`RETRIEVE, ANALYSE, COMPARE, SYNTHESISE,
|
|
112
|
+
GENERATE, VERIFY, TRANSFORM, PLAN, CLARIFY, REVISE`), positions the model on
|
|
113
|
+
one operation at a time, and assembles a coherent final response.
|
|
114
|
+
- **Operation State Machine** — `crp/stl/operation_state.py` + Tool Positioner
|
|
115
|
+
(`crp/stl/tool_positioner.py`). Emits an HMAC-chained, streamable visibility
|
|
116
|
+
event stream (`intent_classified → operation_positioned → tool_selected →
|
|
117
|
+
tool_executed → observation_stored → operation_verified → integrated →
|
|
118
|
+
complete`) — the same mechanism powers live UI and audit.
|
|
119
|
+
- **CSO observation store** — `crp/state/cso.py` stores each tool result as a
|
|
120
|
+
typed `EstablishedFact(provenance=TOOL)`, decoupled from the prompt window, so
|
|
121
|
+
the working set stays bounded (O(N), not O(N²)) independent of session length.
|
|
122
|
+
- **Resource Governor** — `crp/resources/governor.py`. Proactive,
|
|
123
|
+
device-tier-aware capping of frame size, tool concurrency, continuation and
|
|
124
|
+
depth. Prime directive: *slow and steady over fast and failing* — it throttles
|
|
125
|
+
and serialises rather than risking OOM; it never refuses a call.
|
|
126
|
+
- **CLARIFY + Checkpoint consolidation** — `crp/security/clarify.py`. CLARIFY is
|
|
127
|
+
a first-class operation that raises a checkpoint when the model lacks
|
|
128
|
+
information or authority, gating destructive/mutating tools (Invariant 10
|
|
129
|
+
graceful fallback retained).
|
|
130
|
+
- **SDK surface** — `CRPClient.dispatch_positioned()` runs the positioned loop
|
|
131
|
+
with the client's provider; returns a `PositionedResult` exposing `.text`,
|
|
132
|
+
`.cso`, `.event_stream`, `.observation_count`, `.headers`, `.halted`.
|
|
133
|
+
- **Agent execution headers** — `CRP-Agent-Execution-Mode: positioned-tool-loop`,
|
|
134
|
+
`CRP-Agent-Operation-State/Plan/Type`, `CRP-Tool-Observation-Count`,
|
|
135
|
+
`CRP-STL-Frame-Tokens`, `CRP-Agent-Capability-Profile` (CRP-SPEC-049).
|
|
136
|
+
- **Specifications** — CRP-SPEC-049 (SLM Agent Execution Profile) and
|
|
137
|
+
CRP-SPEC-050 (Tool Capability Fabric) promoted from Draft to Stable.
|
|
138
|
+
- **Demo** — `examples/crp_demos/positioned_8b_validation.py` validates the live
|
|
139
|
+
loop on a local SLM and prints the event stream, CSO observations, bounded
|
|
140
|
+
window metrics and header surface.
|
|
141
|
+
|
|
142
|
+
### Notes
|
|
143
|
+
- No `CRP-*` header ever reaches the LLM provider (Axiom 4 preserved).
|
|
144
|
+
- Frontier models remain explicit providers; there is no silent auto-routing
|
|
145
|
+
(D4).
|
|
146
|
+
|
|
14
147
|
## [4.3.2] - 2026-06-26
|
|
15
148
|
|
|
16
149
|
### Added
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
# CRP Agentic AI Protocol — SLM Execution Reframe
|
|
2
|
+
|
|
3
|
+
> **Status:** revised proposal — aligned with CRP-SPEC-049 (SLM Agent Execution Profile) and CRP-SPEC-050 (Tool Capability Fabric)
|
|
4
|
+
> **Target:** CRP v4.1+ and `crp-comply` v0.2.x
|
|
5
|
+
> **Companion research:** [`crp-comply/SLM_INTEGRATION_RESEARCH.md`](https://github.com/AutoCyber-AI/crp-comply/blob/master/SLM_INTEGRATION_RESEARCH.md) and [`crp-comply/LOCAL_8B_MODEL_ANALYSIS.md`](https://github.com/AutoCyber-AI/crp-comply/blob/master/LOCAL_8B_MODEL_ANALYSIS.md)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. TL;DR
|
|
10
|
+
|
|
11
|
+
The current CRP Comply agent loop fails on 8 B local models because it was designed as if the model should be the planner, tool selector, and executor at the same time. The fix is **not** to limit the model or to fall back to a frontier model. The fix is to make CRP the **agentic AI protocol** — the protocol layer that reasons *around* the model so the model only has to generate the next focused output.
|
|
12
|
+
|
|
13
|
+
The concrete additions are:
|
|
14
|
+
|
|
15
|
+
1. **Tool Capability Fabric (TCF)** — a protocol-level registry and retrieval system that selects the 1–3 capabilities the current operation actually needs (CRP-SPEC-050).
|
|
16
|
+
2. **Operation State Machine** — explicit tracking of where the agent is (`OPERATION_POSITIONED`, `TOOL_SELECTED`, `TOOL_EXECUTED`, `OPERATION_VERIFIED`, etc.) so the protocol, not the model, manages progress (CRP-SPEC-050).
|
|
17
|
+
3. **Tool Positioning Frame** — the minimal set of tools and schemas presented to the model for one STL operation, keeping tool selection out of the prompt (CRP-SPEC-050).
|
|
18
|
+
4. **Capability advertisement** — `CRP-Agent-Capability-Profile` (`frontier` / `capable-local` / `small-local`) and `CRP-Agent-Model-Capabilities` tell the protocol how much scaffolding to provide, not what the model is forbidden from doing (CRP-SPEC-049).
|
|
19
|
+
5. **Structured-decoding directives** — CRP carries JSON-schema / grammar hints that the gateway translates into provider-specific constrained decoding (CRP-SPEC-049).
|
|
20
|
+
6. **Prompt-cache lifecycle hints** — CRP tells the inference server which prefix must stay byte-stable so llama.cpp / vLLM / SGLang can reuse KV state across turns (CRP-SPEC-049).
|
|
21
|
+
7. **Preventive safety** — the safety gate inspects the operation frame and tool parameters *before* generation/execution, and returns the problematic frame if it must halt (CRP-SPEC-050).
|
|
22
|
+
8. **No hybrid auto-routing** — the assigned model does the work. Frontier models are explicit providers, not silent fallbacks (CRP-SPEC-049 §4.9).
|
|
23
|
+
|
|
24
|
+
These changes are formalised as **CRP-SPEC-049** and **CRP-SPEC-050**.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 2. Reframing: CRP as the agentic AI protocol
|
|
29
|
+
|
|
30
|
+
CRP's founding insight is **positioning, not injection**: instead of dumping everything into one context window, the protocol places the LLM on a focused task with a curated envelope. The SLM problem is the extreme version of the same insight: a small model needs *more* positioning, not less.
|
|
31
|
+
|
|
32
|
+
> **The smaller the model, the more the surrounding protocol must do.**
|
|
33
|
+
|
|
34
|
+
CRP is therefore repositioned as:
|
|
35
|
+
|
|
36
|
+
> **CRP — Context Relay Protocol for Agentic AI**
|
|
37
|
+
> *The protocol that places every LLM on exactly the right task, with exactly the right context and tools, at exactly the right time — so even small local models operate as part of an extremely capable agent ecosystem.*
|
|
38
|
+
|
|
39
|
+
The competitive map becomes clean:
|
|
40
|
+
|
|
41
|
+
- **MCP** exposes tools.
|
|
42
|
+
- **A2A** connects agents.
|
|
43
|
+
- **CRP** positions every agent on the right task, context, and tools — the missing layer that makes MCP and A2A work at scale, especially for SLMs.
|
|
44
|
+
|
|
45
|
+
This is a reframe, not a full rebrand. The CRP acronym, package name (`crprotocol`), and code base are preserved.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 3. Why SLMs can outperform their weight class
|
|
50
|
+
|
|
51
|
+
Recent work consistently shows that ecosystem factors let small models punch above their parameter count:
|
|
52
|
+
|
|
53
|
+
- **TinyAgent** (Erdogan et al., EMNLP 2024): a 1.1 B / 7 B fine-tuned model with tool retrieval and constrained decoding surpasses GPT-4-Turbo on a narrow tool space.
|
|
54
|
+
- **Gorilla** (Patil et al., NeurIPS 2024): a 7 B retrieval-aware model reduces API hallucinations from 78 % to 11 % by retrieving the right API docs at inference time.
|
|
55
|
+
- **ToolLLM / ToolChain\*** (Qin et al., 2023; Zhu et al.): depth-first search decision trees and A\* planning over tool-action spaces let smaller models solve multi-step tool-use problems.
|
|
56
|
+
- **Tool-to-Agent Retrieval** (arXiv 2511.01854): joint retrieval over tools and parent agents in a shared vector space outperforms both tool-only and agent-only retrieval.
|
|
57
|
+
- **RATS / Dynamic Tool Allocation**: separating "find the capability" from "execute the task" is now an established production pattern.
|
|
58
|
+
- **XGrammar-2**: raises Llama-3.2-3B correct-call rates from ~33 % to ~78 % and schema validity to 100 % when structured decoding is enforced.
|
|
59
|
+
|
|
60
|
+
The unifying pattern: **tool selection and task sequencing belong outside the model**. CRP already has the primitives to do this (STL, CSO, CKF, CDR, DPE, safety budget, audit chain). What is missing is the **tool orchestration layer** that ties them together.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 4. The tool-injection problem
|
|
65
|
+
|
|
66
|
+
Current agent frameworks (OpenAI function calling, LangChain tools, MCP) inject every tool schema into the system prompt and ask the model to choose. This is the injection pattern CRP was designed to avoid:
|
|
67
|
+
|
|
68
|
+
- Tool schemas consume 10 K–50 K tokens.
|
|
69
|
+
- The model must reason about tool semantics *and* task semantics simultaneously.
|
|
70
|
+
- Tool outputs are dumped back into the same context window, contaminating later reasoning.
|
|
71
|
+
- There is no protocol-level record of *why* a tool was selected at that point.
|
|
72
|
+
|
|
73
|
+
CRP's alternative is **protocol-level tool orchestration**:
|
|
74
|
+
|
|
75
|
+
1. The STL classifies the current cognitive operation (`RETRIEVE`, `ANALYSE`, `COMPARE`, ...).
|
|
76
|
+
2. The TCF returns capabilities that serve that operation type.
|
|
77
|
+
3. A policy filter removes disallowed capabilities.
|
|
78
|
+
4. A dependency resolver builds the minimal execution DAG.
|
|
79
|
+
5. The protocol composes a **Tool Positioning Frame** with 1–3 capabilities.
|
|
80
|
+
6. The model emits the tool call with constrained decoding.
|
|
81
|
+
7. The orchestrator executes the call, validates the result, and stores the observation in the CSO as a typed fact.
|
|
82
|
+
|
|
83
|
+
The model never sees the full tool catalogue. It sees only the tools the protocol has determined are relevant to *this* operation.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 5. The Tool Capability Fabric (TCF)
|
|
88
|
+
|
|
89
|
+
The TCF is a protocol-level registry of every tool, MCP server capability, sub-agent, and callable primitive available to a session. Each entry is a **Capability Descriptor** with:
|
|
90
|
+
|
|
91
|
+
- `capability_id`, `kind`, `version`
|
|
92
|
+
- `operation_types` — which STL operations it serves
|
|
93
|
+
- `input_schema` / `output_schema`
|
|
94
|
+
- `produces_facts`, `consumes_facts`
|
|
95
|
+
- `dependencies`, `mutually_exclusive_with`
|
|
96
|
+
- `cost_profile` — tokens, latency, safety class
|
|
97
|
+
- `data_residency`, `allowed_policy_domains`
|
|
98
|
+
- `embedding_vector`, `embedding_model`
|
|
99
|
+
- `metadata`
|
|
100
|
+
|
|
101
|
+
The canonical JSON Schema is in `schemas/capability-descriptor.json`.
|
|
102
|
+
|
|
103
|
+
For each operation, the TCF runs a selection algorithm:
|
|
104
|
+
|
|
105
|
+
1. Filter by operation type.
|
|
106
|
+
2. Apply the policy pre-filter (allowlist/blocklist/residency/safety class).
|
|
107
|
+
3. Score by semantic similarity, schema compatibility, intent overlap, and inverse cost.
|
|
108
|
+
4. Resolve dependencies and mutual exclusions.
|
|
109
|
+
5. Select the top-K capabilities, where K is determined by the model's capability profile.
|
|
110
|
+
|
|
111
|
+
The result is a **Tool Positioning Frame** — a compact prompt fragment that tells the model exactly which tools it may use for this operation and what each returns.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 6. Operation State Machine
|
|
116
|
+
|
|
117
|
+
CRP explicitly tracks the lifecycle of an agentic task in the session token / CSO:
|
|
118
|
+
|
|
119
|
+
| State | Meaning |
|
|
120
|
+
|-------|---------|
|
|
121
|
+
| `INTENT_CLASSIFIED` | STL mapped the request to an operation plan |
|
|
122
|
+
| `OPERATION_POSITIONED` | Operation Frame + Tool Positioning Frame built |
|
|
123
|
+
| `TOOL_SELECTED` | Model emitted a valid tool-selection output |
|
|
124
|
+
| `TOOL_EXECUTED` | Capability ran; observation stored in CSO |
|
|
125
|
+
| `OPERATION_VERIFIED` | DPE / safety verifier checked output |
|
|
126
|
+
| `INTEGRATED` | Result merged into CSO; next operation prepared |
|
|
127
|
+
| `COMPLETE` | Final response assembled |
|
|
128
|
+
| `HALTED` | Preventive safety or failure halt |
|
|
129
|
+
|
|
130
|
+
This state machine is exposed via `CRP-Agent-Operation-State`, `CRP-Agent-Operation-Type`, and `CRP-Agent-Operation-Plan`. It lets observability, the UI, and safety know exactly where the agent is at any moment.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## 7. Preventive safety
|
|
135
|
+
|
|
136
|
+
Current `halt-on` returns HTTP 451 after detecting a problem. For agentic tool use, safety must be **preventive**: the frame is inspected *before* the model generates output or the tool executes.
|
|
137
|
+
|
|
138
|
+
The safety gate checks:
|
|
139
|
+
|
|
140
|
+
- Is the capability allowed by policy / allowlist / data residency?
|
|
141
|
+
- Do the tool arguments violate parameter-level rules?
|
|
142
|
+
- Does the operation type require an oversight token?
|
|
143
|
+
- Does the operation-state transition violate the plan?
|
|
144
|
+
|
|
145
|
+
If a gate fires, the response is HTTP 451 with the **actual problematic frame**:
|
|
146
|
+
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"crp_halt_reason": "PREVENTIVE_SAFETY_VIOLATION",
|
|
150
|
+
"halt_point": "TOOL_SELECTED",
|
|
151
|
+
"problematic_frame": {
|
|
152
|
+
"operation_type": "RETRIEVE",
|
|
153
|
+
"capability_id": "web_search",
|
|
154
|
+
"violation": "data_residency_policy_EU_only",
|
|
155
|
+
"blocked_parameter": "region=us-east-1"
|
|
156
|
+
},
|
|
157
|
+
"session_id": "crp_sess_...",
|
|
158
|
+
"audit_trail_uri": "https://comply.crprotocol.io/t/..."
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
The LLM never receives the problematic frame, so it cannot generate an AI-unsafe response from it.
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 8. No hybrid auto-routing
|
|
167
|
+
|
|
168
|
+
The first draft of this proposal included `CRP-Routing-Target: hybrid` and automatic escalation to frontier models. That approach is rejected because:
|
|
169
|
+
|
|
170
|
+
- It violates the SLM-first design principle.
|
|
171
|
+
- It is unacceptable for air-gapped, privacy-first, and cost-constrained deployments.
|
|
172
|
+
- It hides the real problem: the protocol should make the local model capable, not give up on it.
|
|
173
|
+
|
|
174
|
+
CRP-SPEC-049 therefore **removes** `CRP-Routing-Target`, `CRP-Routing-Decision`, and the `CRP-Agent-Model-Tier` limiting label. Instead:
|
|
175
|
+
|
|
176
|
+
- The assigned model is the model that does the work.
|
|
177
|
+
- Frontier models are configured explicitly as providers.
|
|
178
|
+
- The protocol amplifies the local model through STL decomposition, TCF retrieval, CSO state relay, verifier operations, and constrained decoding.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 9. SLM Amplification Rule
|
|
183
|
+
|
|
184
|
+
The protocol follows a simple rule:
|
|
185
|
+
|
|
186
|
+
> **For every halving of effective model capability, double the use of positioning, tool retrieval, operation decomposition, and verification.**
|
|
187
|
+
|
|
188
|
+
| Model class | Profile | Ecosystem scaffolding |
|
|
189
|
+
|-------------|---------|----------------------|
|
|
190
|
+
| Frontier (70B+) | `frontier` | Full tool frame; model may plan and reflect |
|
|
191
|
+
| Capable local (8B–14B) | `capable-local` | 3–4 tools per frame; STL plan; verifier on ANALYSE/EVALUATE |
|
|
192
|
+
| Small local (≤8B) | `small-local` | 1–2 tools per frame; strict structured output; explicit state machine; CSO carries all progress |
|
|
193
|
+
|
|
194
|
+
This is **amplification**, not limitation. The protocol adds structure so the model can focus on the one cognitive job it is positioned to do.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 10. Protocol surface (summary)
|
|
199
|
+
|
|
200
|
+
### Added / reshaped headers
|
|
201
|
+
|
|
202
|
+
- `CRP-Agent-Capability-Profile` (`frontier` / `capable-local` / `small-local`)
|
|
203
|
+
- `CRP-Agent-Model-Capabilities` (`tool-call`, `grammar`, `prefix-cache`, ...)
|
|
204
|
+
- `CRP-Agent-Tool-Subset` (tools enabled for this window)
|
|
205
|
+
- `CRP-Agent-Execution-Mode` (`single-shot`, `planner-actor`, `react`, `verifier`, `retrieval-then-answer`, `positioned-tool-loop`)
|
|
206
|
+
- `CRP-Agent-Loop-Guard` (safety bounds, not capability limits)
|
|
207
|
+
- `CRP-LLM-Structured-Output-Mode` / `CRP-LLM-Structured-Output-Schema`
|
|
208
|
+
- `CRP-LLM-Prompt-Cache-Hint`
|
|
209
|
+
- `CRP-Agent-Operation-State` / `CRP-Agent-Operation-Type` / `CRP-Agent-Operation-Plan`
|
|
210
|
+
- `CRP-Tool-Positioning-Frame` / `CRP-Tool-Observation-Count`
|
|
211
|
+
- `CRP-Tool-Allowlist` / `CRP-Tool-Blocklist`
|
|
212
|
+
- `CRP-Structured-Output-Contract`
|
|
213
|
+
- `CRP-Safety-Preventive-Halt`
|
|
214
|
+
|
|
215
|
+
### Removed headers
|
|
216
|
+
|
|
217
|
+
- `CRP-Agent-Model-Tier` — replaced by capability profile.
|
|
218
|
+
- `CRP-Routing-Target` / `CRP-Routing-Decision` — hybrid routing removed.
|
|
219
|
+
|
|
220
|
+
### Session token / CSO additions
|
|
221
|
+
|
|
222
|
+
- `capability_profile`, `operation_state`, `operation_type`, `operation_plan_hash`
|
|
223
|
+
- `tcf_selection` — selected capability IDs and why
|
|
224
|
+
- `tool_observations` — typed facts from executed capabilities
|
|
225
|
+
- `preventive_halt_history` — record of halted frames
|
|
226
|
+
- `structured_output_contract`
|
|
227
|
+
|
|
228
|
+
Full normative definitions are in CRP-SPEC-049 and CRP-SPEC-050.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 11. Implementation roadmap
|
|
233
|
+
|
|
234
|
+
### Phase 1 — Reframe and specify (now)
|
|
235
|
+
|
|
236
|
+
- Update README and AGENTS.md tagline to "Context Relay Protocol for Agentic AI."
|
|
237
|
+
- Publish CRP-SPEC-049 (revised) and CRP-SPEC-050 (new).
|
|
238
|
+
- Publish `schemas/capability-descriptor.json`.
|
|
239
|
+
- Add new header constants to `crp/headers/names.py`.
|
|
240
|
+
|
|
241
|
+
### Phase 2 — Tool Capability Fabric and operation state machine
|
|
242
|
+
|
|
243
|
+
- Implement `crp/tools/capability_fabric.py`, `descriptor.py`, `executor.py`.
|
|
244
|
+
- Implement `crp/stl/operation_state.py` and `tool_positioner.py`.
|
|
245
|
+
- Extend `crp/state/cso.py` with `tool_observations` and `preventive_halt_history`.
|
|
246
|
+
|
|
247
|
+
### Phase 3 — Tool positioning frame and constrained execution
|
|
248
|
+
|
|
249
|
+
- Build Tool Positioning Frame composer.
|
|
250
|
+
- Translate `CRP-Structured-Output-Contract` to OpenAI/Ollama/vLLM/SGLang/llama.cpp.
|
|
251
|
+
- Enforce byte-stable prefixes for KV-cache reuse.
|
|
252
|
+
|
|
253
|
+
### Phase 4 — Preventive safety
|
|
254
|
+
|
|
255
|
+
- Extend `CRP-Safety-Policy` grammar with `allow-tools`, `block-tools`, `require-oversight-for`, `block-parameter`.
|
|
256
|
+
- Implement safety gate that inspects operation frame and tool parameters.
|
|
257
|
+
- Add preventive halt response format and audit logging.
|
|
258
|
+
|
|
259
|
+
### Phase 5 — CRP Comply agent rewrite
|
|
260
|
+
|
|
261
|
+
- Replace the single ReAct loop with STL-driven operation state machine.
|
|
262
|
+
- Register all Comply tools in the TCF with operation-type tags.
|
|
263
|
+
- Use TCF retrieval to select 1–3 tools per operation for the SLM path.
|
|
264
|
+
- Add verifier operation and constrained decoding.
|
|
265
|
+
- Remove frontier fallback; local model is the assigned provider.
|
|
266
|
+
|
|
267
|
+
### Phase 6 — Benchmark and prove the claim
|
|
268
|
+
|
|
269
|
+
- Build benchmark comparing:
|
|
270
|
+
- Baseline: 8B model with all 13 tools injected.
|
|
271
|
+
- CRP agentic: 8B model with TCF + STL + CSO + verifier.
|
|
272
|
+
- Measure: task success rate, token consumption, latency, schema validity, safety halt rate.
|
|
273
|
+
- Publish results in BENCHMARKS.md.
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## 12. Why this is a defensible strategic move
|
|
278
|
+
|
|
279
|
+
- **No existing protocol owns "agentic positioning."** MCP owns tool access; A2A/ACP own agent-agent messaging; CRP can own the layer that decides *what the model should do with what context and tools*.
|
|
280
|
+
- **SLM-first is a differentiated moat.** Most protocols are designed for frontier models and then retrofitted. Building for the smallest model first forces token efficiency and clean separation of concerns.
|
|
281
|
+
- **The codebase is already 80 % there.** CKF, CDR, CDGR, CSO, STL, safety budget, and audit chain are the hard parts. The TCF and operation state machine are the missing glue.
|
|
282
|
+
- **The market timing is right.** Local/edge SLM deployment is accelerating; enterprises need a protocol that makes small models trustworthy and capable without cloud dependency.
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## 13. References
|
|
287
|
+
|
|
288
|
+
- `SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-049-slm-agent-execution.md`
|
|
289
|
+
- `SPECS_5_06_2026_CRP_v4/specs/CRP-SPEC-050-tool-capability-fabric.md`
|
|
290
|
+
- `schemas/capability-descriptor.json`
|
|
291
|
+
- `crp-comply/SLM_INTEGRATION_RESEARCH.md`
|
|
292
|
+
- `crp-comply/LOCAL_8B_MODEL_ANALYSIS.md`
|
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
**Target:** CRP v4.0.0
|
|
6
6
|
**PyPI publish token (use only after v4.0.0 fully passes SQB gate):**
|
|
7
7
|
```
|
|
8
|
-
|
|
8
|
+
[REDACTED 2026-07-02 -- this token was committed in plaintext and has been
|
|
9
|
+
removed. Treat it as compromised; rotate on PyPI if not already rotated.
|
|
10
|
+
NEVER commit publish tokens to the repository -- pass via TWINE_PASSWORD
|
|
11
|
+
env var or an untracked local file instead.]
|
|
9
12
|
```
|
|
10
13
|
|
|
11
14
|
---
|
|
@@ -169,7 +172,7 @@ git push origin v4.0.0
|
|
|
169
172
|
|
|
170
173
|
#### 2e. PyPI publish
|
|
171
174
|
```cmd
|
|
172
|
-
.venv\Scripts\python.exe -m twine upload dist/crprotocol-4.0.0-*.whl --username __token__ --password
|
|
175
|
+
.venv\Scripts\python.exe -m twine upload dist/crprotocol-4.0.0-*.whl --username __token__ --password %PYPI_TOKEN%
|
|
173
176
|
```
|
|
174
177
|
|
|
175
178
|
### PYTEST NOTE (for B4.1)
|
|
@@ -1385,7 +1388,7 @@ Document all v4.0.0 changes:
|
|
|
1385
1388
|
pip install twine
|
|
1386
1389
|
python -m twine upload dist/crprotocol-4.0.0-*.whl \
|
|
1387
1390
|
--username __token__ \
|
|
1388
|
-
--password
|
|
1391
|
+
--password "$PYPI_TOKEN"
|
|
1389
1392
|
```
|
|
1390
1393
|
|
|
1391
1394
|
#### B4.4 — GitHub Push
|