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