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