agent-os-kernel 1.1.0__py3-none-any.whl → 1.3.0__py3-none-any.whl
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.
- agent_os/__init__.py +66 -4
- agent_os/agents_compat.py +286 -0
- agent_os/base_agent.py +308 -0
- agent_os/cli.py +1079 -19
- agent_os/integrations/__init__.py +37 -2
- agent_os/integrations/openai_adapter.py +502 -0
- agent_os/integrations/semantic_kernel_adapter.py +569 -0
- agent_os/stateless.py +349 -0
- agent_os_kernel-1.3.0.dist-info/METADATA +676 -0
- agent_os_kernel-1.3.0.dist-info/RECORD +1053 -0
- {agent_os_kernel-1.1.0.dist-info → agent_os_kernel-1.3.0.dist-info}/entry_points.txt +0 -1
- modules/amb/.github/workflows/ci.yml +102 -0
- modules/amb/.github/workflows/publish.yml +146 -0
- modules/amb/.gitignore +134 -0
- modules/amb/CHANGELOG.md +118 -0
- modules/amb/CONTRIBUTING.md +141 -0
- modules/amb/LICENSE +21 -0
- modules/amb/README.md +188 -0
- modules/amb/amb_core/__init__.py +175 -0
- modules/amb/amb_core/adapters/__init__.py +55 -0
- modules/amb/amb_core/adapters/aws_sqs_broker.py +374 -0
- modules/amb/amb_core/adapters/azure_servicebus_broker.py +338 -0
- modules/amb/amb_core/adapters/kafka_broker.py +258 -0
- modules/amb/amb_core/adapters/nats_broker.py +283 -0
- modules/amb/amb_core/adapters/rabbitmq_broker.py +233 -0
- modules/amb/amb_core/adapters/redis_broker.py +260 -0
- modules/amb/amb_core/broker.py +143 -0
- modules/amb/amb_core/bus.py +479 -0
- modules/amb/amb_core/cloudevents.py +507 -0
- modules/amb/amb_core/dlq.py +343 -0
- modules/amb/amb_core/hf_utils.py +534 -0
- modules/amb/amb_core/memory_broker.py +408 -0
- modules/amb/amb_core/models.py +139 -0
- modules/amb/amb_core/persistence.py +527 -0
- modules/amb/amb_core/schema.py +292 -0
- modules/amb/amb_core/tracing.py +356 -0
- modules/amb/examples/advanced_features.py +223 -0
- modules/amb/examples/backpressure_demo.py +225 -0
- modules/amb/examples/basic_usage.py +117 -0
- modules/amb/examples/tracing_demo.py +104 -0
- modules/amb/experiments/README.md +52 -0
- modules/amb/experiments/reproduce_results.py +467 -0
- modules/amb/experiments/results.json +324 -0
- modules/amb/paper/README.md +40 -0
- modules/amb/paper/paper.tex +365 -0
- modules/amb/paper/whitepaper.md +377 -0
- modules/amb/pyproject.toml +117 -0
- modules/amb/tests/__init__.py +1 -0
- modules/amb/tests/test_backpressure_priority.py +280 -0
- modules/amb/tests/test_bus.py +198 -0
- modules/amb/tests/test_cloudevents.py +443 -0
- modules/amb/tests/test_features.py +531 -0
- modules/amb/tests/test_models.py +74 -0
- modules/amb/tests/test_tracing.py +254 -0
- modules/atr/.github/workflows/ci.yml +101 -0
- modules/atr/.github/workflows/publish.yml +140 -0
- modules/atr/.gitignore +134 -0
- modules/atr/.pre-commit-config.yaml +37 -0
- modules/atr/CHANGELOG.md +39 -0
- modules/atr/CONTRIBUTING.md +96 -0
- modules/atr/IMPLEMENTATION_SUMMARY.md +143 -0
- modules/atr/README.md +180 -0
- modules/atr/atr/__init__.py +638 -0
- modules/atr/atr/access.py +346 -0
- modules/atr/atr/composition.py +643 -0
- modules/atr/atr/decorator.py +355 -0
- modules/atr/atr/executor.py +382 -0
- modules/atr/atr/health.py +555 -0
- modules/atr/atr/hf_utils.py +447 -0
- modules/atr/atr/injection.py +420 -0
- modules/atr/atr/metrics.py +438 -0
- modules/atr/atr/policies.py +401 -0
- modules/atr/atr/py.typed +2 -0
- modules/atr/atr/registry.py +450 -0
- modules/atr/atr/schema.py +478 -0
- modules/atr/atr/tools/safe/__init__.py +73 -0
- modules/atr/atr/tools/safe/calculator.py +380 -0
- modules/atr/atr/tools/safe/datetime_tool.py +441 -0
- modules/atr/atr/tools/safe/file_reader.py +400 -0
- modules/atr/atr/tools/safe/http_client.py +314 -0
- modules/atr/atr/tools/safe/json_parser.py +372 -0
- modules/atr/atr/tools/safe/text_tool.py +526 -0
- modules/atr/atr/tools/safe/toolkit.py +173 -0
- modules/atr/docs/PYPI_SETUP.md +113 -0
- modules/atr/examples/README.md +27 -0
- modules/atr/examples/demo.py +144 -0
- modules/atr/examples/sandbox_demo.py +218 -0
- modules/atr/experiments/README.md +69 -0
- modules/atr/experiments/reproduce_results.py +509 -0
- modules/atr/experiments/results/.gitkeep +0 -0
- modules/atr/experiments/results/results_20260123_140334.json +71 -0
- modules/atr/paper/README.md +36 -0
- modules/atr/paper/figures/.gitkeep +0 -0
- modules/atr/paper/references.bib +84 -0
- modules/atr/paper/structure.tex +293 -0
- modules/atr/paper/whitepaper.md +234 -0
- modules/atr/pyproject.toml +148 -0
- modules/atr/requirements.txt +1 -0
- modules/atr/setup.py +30 -0
- modules/atr/tests/__init__.py +1 -0
- modules/atr/tests/test_decorator.py +317 -0
- modules/atr/tests/test_executor.py +245 -0
- modules/atr/tests/test_integration_executor.py +184 -0
- modules/atr/tests/test_registry.py +312 -0
- modules/atr/tests/test_schema.py +182 -0
- modules/atr/tests/test_v2_features.py +708 -0
- modules/caas/.dockerignore +63 -0
- modules/caas/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- modules/caas/.github/ISSUE_TEMPLATE/custom.md +10 -0
- modules/caas/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- modules/caas/.github/workflows/ci.yml +100 -0
- modules/caas/.github/workflows/lint.yml +39 -0
- modules/caas/.github/workflows/publish-pypi.yml +124 -0
- modules/caas/.gitignore +73 -0
- modules/caas/.pre-commit-config.yaml +33 -0
- modules/caas/CHANGELOG.md +58 -0
- modules/caas/CONTRIBUTING.md +346 -0
- modules/caas/Dockerfile +41 -0
- modules/caas/LICENSE +21 -0
- modules/caas/MANIFEST.in +11 -0
- modules/caas/README.md +158 -0
- modules/caas/benchmarks/README.md +255 -0
- modules/caas/benchmarks/create_hf_dataset.py +502 -0
- modules/caas/benchmarks/data/sample_corpus/README.md +86 -0
- modules/caas/benchmarks/data/sample_corpus/auth_module.py +211 -0
- modules/caas/benchmarks/data/sample_corpus/contribution_guide.md +185 -0
- modules/caas/benchmarks/data/sample_corpus/remote_work_policy.html +57 -0
- modules/caas/benchmarks/hf_dataset/README.md +214 -0
- modules/caas/benchmarks/hf_dataset/caas_benchmark_corpus.py +73 -0
- modules/caas/benchmarks/hf_dataset/corpus_preview.json +193 -0
- modules/caas/benchmarks/results/README.md +66 -0
- modules/caas/benchmarks/results/evaluation_2026-01-20.json +121 -0
- modules/caas/benchmarks/run_evaluation.py +561 -0
- modules/caas/benchmarks/statistical_tests.py +289 -0
- modules/caas/benchmarks/verify_sample_corpus.py +83 -0
- modules/caas/docker-compose.yml +38 -0
- modules/caas/docs/CONTEXT_TRIAD.md +462 -0
- modules/caas/docs/CONTRIBUTING.md +346 -0
- modules/caas/docs/ETHICS_AND_LIMITATIONS.md +336 -0
- modules/caas/docs/HEURISTIC_ROUTER.md +442 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY.md +363 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_CONTEXT_TRIAD.md +277 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_HEURISTIC_ROUTER.md +231 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_METADATA_INJECTION.md +258 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_PRAGMATIC_TRUTH.md +212 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_TRUST_GATEWAY.md +319 -0
- modules/caas/docs/LAYER_1_PRIMITIVE.md +202 -0
- modules/caas/docs/METADATA_INJECTION.md +404 -0
- modules/caas/docs/PRAGMATIC_TRUTH.md +431 -0
- modules/caas/docs/RELATED_WORK.md +312 -0
- modules/caas/docs/RELEASE_CHECKLIST.md +219 -0
- modules/caas/docs/RELEASE_GUIDE.md +285 -0
- modules/caas/docs/REPRODUCIBILITY.md +386 -0
- modules/caas/docs/SLIDING_WINDOW.md +387 -0
- modules/caas/docs/STRUCTURE_AWARE_INDEXING.md +158 -0
- modules/caas/docs/TESTING.md +259 -0
- modules/caas/docs/THREAT_MODEL.md +247 -0
- modules/caas/docs/TRUST_GATEWAY.md +575 -0
- modules/caas/docs/VFS.md +298 -0
- modules/caas/examples/agents/enterprise_security_agent.py +414 -0
- modules/caas/examples/agents/intelligent_document_analyzer.py +380 -0
- modules/caas/examples/demos/demo.py +309 -0
- modules/caas/examples/demos/demo_context_triad.py +225 -0
- modules/caas/examples/demos/demo_conversation_manager.py +285 -0
- modules/caas/examples/demos/demo_heuristic_router.py +133 -0
- modules/caas/examples/demos/demo_metadata_injection.py +198 -0
- modules/caas/examples/demos/demo_pragmatic_truth.py +303 -0
- modules/caas/examples/demos/demo_structure_aware.py +140 -0
- modules/caas/examples/demos/demo_time_decay.py +247 -0
- modules/caas/examples/demos/demo_trust_gateway.py +383 -0
- modules/caas/examples/multi_agent/README.md +159 -0
- modules/caas/examples/multi_agent/research_team.py +369 -0
- modules/caas/examples/multi_agent/vfs_collaboration.py +393 -0
- modules/caas/examples/usage/auth_module.py +142 -0
- modules/caas/examples/usage/usage_example.py +173 -0
- modules/caas/experiments/README.md +42 -0
- modules/caas/experiments/reproduce_results.py +462 -0
- modules/caas/paper/ARXIV_METADATA.md +145 -0
- modules/caas/paper/ARXIV_README.md +47 -0
- modules/caas/paper/CHECKLIST.md +103 -0
- modules/caas/paper/GITHUB_RELEASE_NOTES.md +105 -0
- modules/caas/paper/README.md +71 -0
- modules/caas/paper/abstract.md +24 -0
- modules/caas/paper/arxiv_submission.tar +0 -0
- modules/caas/paper/arxiv_submission.zip +0 -0
- modules/caas/paper/build_pdf.py +355 -0
- modules/caas/paper/experiments.md +149 -0
- modules/caas/paper/figures/.gitkeep +0 -0
- modules/caas/paper/figures/README.md +237 -0
- modules/caas/paper/figures/fig1_system_architecture.png +0 -0
- modules/caas/paper/figures/fig1_system_architecture.svg +198 -0
- modules/caas/paper/figures/fig2_context_triad.png +0 -0
- modules/caas/paper/figures/fig2_context_triad.svg +105 -0
- modules/caas/paper/figures/fig3_ablation_results.png +0 -0
- modules/caas/paper/figures/fig3_ablation_results.svg +113 -0
- modules/caas/paper/figures/fig4_routing_latency.png +0 -0
- modules/caas/paper/figures/fig4_routing_latency.svg +97 -0
- modules/caas/paper/intro.md +103 -0
- modules/caas/paper/latex/figures/fig1_system_architecture.png +0 -0
- modules/caas/paper/latex/figures/fig2_context_triad.png +0 -0
- modules/caas/paper/latex/figures/fig3_ablation_results.png +0 -0
- modules/caas/paper/latex/figures/fig4_routing_latency.png +0 -0
- modules/caas/paper/latex/main.tex +468 -0
- modules/caas/paper/latex/references.bib +140 -0
- modules/caas/paper/method.md +350 -0
- modules/caas/paper/outline.md +123 -0
- modules/caas/paper/related_work.md +101 -0
- modules/caas/paper/tables/.gitkeep +0 -0
- modules/caas/paper/tables/results_tables.md +50 -0
- modules/caas/pyproject.toml +172 -0
- modules/caas/requirements.txt +11 -0
- modules/caas/src/caas/__init__.py +232 -0
- modules/caas/src/caas/api/__init__.py +7 -0
- modules/caas/src/caas/api/server.py +1326 -0
- modules/caas/src/caas/caching.py +832 -0
- modules/caas/src/caas/cli.py +208 -0
- modules/caas/src/caas/conversation.py +221 -0
- modules/caas/src/caas/decay.py +118 -0
- modules/caas/src/caas/detection/__init__.py +7 -0
- modules/caas/src/caas/detection/detector.py +236 -0
- modules/caas/src/caas/enrichment.py +127 -0
- modules/caas/src/caas/gateway/__init__.py +24 -0
- modules/caas/src/caas/gateway/trust_gateway.py +471 -0
- modules/caas/src/caas/hf_utils.py +477 -0
- modules/caas/src/caas/ingestion/__init__.py +21 -0
- modules/caas/src/caas/ingestion/processors.py +251 -0
- modules/caas/src/caas/ingestion/structure_parser.py +185 -0
- modules/caas/src/caas/models.py +354 -0
- modules/caas/src/caas/pragmatic_truth.py +441 -0
- modules/caas/src/caas/routing/__init__.py +8 -0
- modules/caas/src/caas/routing/heuristic_router.py +242 -0
- modules/caas/src/caas/storage/__init__.py +7 -0
- modules/caas/src/caas/storage/store.py +450 -0
- modules/caas/src/caas/triad.py +472 -0
- modules/caas/src/caas/tuning/__init__.py +7 -0
- modules/caas/src/caas/tuning/tuner.py +322 -0
- modules/caas/src/caas/vfs/__init__.py +12 -0
- modules/caas/src/caas/vfs/filesystem.py +450 -0
- modules/caas/tests/__init__.py +3 -0
- modules/caas/tests/conftest.py +8 -0
- modules/caas/tests/test_caching.py +628 -0
- modules/caas/tests/test_context_triad.py +385 -0
- modules/caas/tests/test_conversation_manager.py +289 -0
- modules/caas/tests/test_functionality.py +215 -0
- modules/caas/tests/test_heuristic_router.py +370 -0
- modules/caas/tests/test_metadata_injection.py +328 -0
- modules/caas/tests/test_pragmatic_truth.py +322 -0
- modules/caas/tests/test_structure_aware_indexing.py +283 -0
- modules/caas/tests/test_time_decay.py +268 -0
- modules/caas/tests/test_trust_gateway.py +445 -0
- modules/caas/tests/test_vfs.py +298 -0
- modules/cmvk/.github/FUNDING.yml +9 -0
- modules/cmvk/.github/dependabot.yml +54 -0
- modules/cmvk/.github/workflows/ci.yml +205 -0
- modules/cmvk/.github/workflows/publish.yml +143 -0
- modules/cmvk/.gitignore +147 -0
- modules/cmvk/.pre-commit-config.yaml +58 -0
- modules/cmvk/CHANGELOG.md +146 -0
- modules/cmvk/CITATION.cff +48 -0
- modules/cmvk/CONTRIBUTING.md +229 -0
- modules/cmvk/Dockerfile +87 -0
- modules/cmvk/HF_MODEL_CARD.md +185 -0
- modules/cmvk/LICENSE +21 -0
- modules/cmvk/README.md +149 -0
- modules/cmvk/SECURITY.md +114 -0
- modules/cmvk/config/prompts/generator_v1.txt +23 -0
- modules/cmvk/config/prompts/verifier_hostile.txt +32 -0
- modules/cmvk/config/settings.yaml +40 -0
- modules/cmvk/coverage_html/.gitignore +2 -0
- modules/cmvk/coverage_html/class_index.html +658 -0
- modules/cmvk/coverage_html/coverage_html_cb_188fc9a4.js +735 -0
- modules/cmvk/coverage_html/favicon_32_cb_c827f16f.png +0 -0
- modules/cmvk/coverage_html/function_index.html +1978 -0
- modules/cmvk/coverage_html/index.html +255 -0
- modules/cmvk/coverage_html/keybd_closed_cb_900cfef5.png +0 -0
- modules/cmvk/coverage_html/status.json +1 -0
- modules/cmvk/coverage_html/style_cb_5c747636.css +389 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38___init___py.html +315 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_audit_py.html +499 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_benchmarks_py.html +575 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_constitutional_py.html +1001 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_hf_utils_py.html +398 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_metrics_py.html +570 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_profiles_py.html +397 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_types_py.html +109 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_verification_py.html +1053 -0
- modules/cmvk/docs/DIAGRAMS.md +325 -0
- modules/cmvk/docs/architecture.md +345 -0
- modules/cmvk/docs/features.md +308 -0
- modules/cmvk/docs/getting_started.md +279 -0
- modules/cmvk/docs/innovation_layer.md +377 -0
- modules/cmvk/docs/safety.md +281 -0
- modules/cmvk/docs/traceability.md +150 -0
- modules/cmvk/examples/basic_example.py +62 -0
- modules/cmvk/examples/demo_complete_pipeline.py +209 -0
- modules/cmvk/examples/demo_innovation_layer.py +197 -0
- modules/cmvk/examples/example.py +112 -0
- modules/cmvk/examples/model_diversity_comparison.py +110 -0
- modules/cmvk/examples/real_api_integration.py +121 -0
- modules/cmvk/examples/test_full_pipeline.py +303 -0
- modules/cmvk/experiments/FEATURE_2_LATERAL_THINKING.md +187 -0
- modules/cmvk/experiments/README.md +216 -0
- modules/cmvk/experiments/ablation_runner.py +666 -0
- modules/cmvk/experiments/baseline_runner.py +158 -0
- modules/cmvk/experiments/blind_spot_benchmark.py +364 -0
- modules/cmvk/experiments/datasets/README.md +85 -0
- modules/cmvk/experiments/datasets/humaneval_50.json +352 -0
- modules/cmvk/experiments/datasets/humaneval_full.json +1150 -0
- modules/cmvk/experiments/datasets/humaneval_sample.json +32 -0
- modules/cmvk/experiments/datasets/sabotage.json +262 -0
- modules/cmvk/experiments/datasets/sample.json +40 -0
- modules/cmvk/experiments/demo_with_traces.py +110 -0
- modules/cmvk/experiments/efficiency_curve.py +259 -0
- modules/cmvk/experiments/experiment_runner.py +243 -0
- modules/cmvk/experiments/paper_data_generator.py +183 -0
- modules/cmvk/experiments/reproduce_results.py +407 -0
- modules/cmvk/experiments/reproducible_runner.py +352 -0
- modules/cmvk/experiments/sabotage_stress_test.py +311 -0
- modules/cmvk/experiments/test_lateral_thinking.py +116 -0
- modules/cmvk/experiments/test_prosecutor.py +41 -0
- modules/cmvk/experiments/visualize_results.py +735 -0
- modules/cmvk/logs/traces/demo_HumanEval_0_20260121-204900.json +36 -0
- modules/cmvk/notebooks/analysis.ipynb +124 -0
- modules/cmvk/paper/PAPER.md +561 -0
- modules/cmvk/paper/arxiv_checklist.md +230 -0
- modules/cmvk/paper/cmvk_neurips.aux +77 -0
- modules/cmvk/paper/cmvk_neurips.bbl +81 -0
- modules/cmvk/paper/cmvk_neurips.blg +48 -0
- modules/cmvk/paper/cmvk_neurips.out +16 -0
- modules/cmvk/paper/cmvk_neurips.pdf +0 -0
- modules/cmvk/paper/cmvk_neurips.tex +309 -0
- modules/cmvk/paper/figures/ablation.png +0 -0
- modules/cmvk/paper/figures/ablation.svg +39 -0
- modules/cmvk/paper/figures/architecture.png +0 -0
- modules/cmvk/paper/figures/architecture.svg +115 -0
- modules/cmvk/paper/figures/results_bar.png +0 -0
- modules/cmvk/paper/figures/results_bar.svg +70 -0
- modules/cmvk/paper/generate_figures.py +383 -0
- modules/cmvk/paper/neurips_2024.sty +101 -0
- modules/cmvk/paper/references.bib +98 -0
- modules/cmvk/paper/structure.tex +200 -0
- modules/cmvk/pyproject.toml +189 -0
- modules/cmvk/requirements-dev.txt +19 -0
- modules/cmvk/requirements.txt +14 -0
- modules/cmvk/src/cmvk/__init__.py +216 -0
- modules/cmvk/src/cmvk/audit.py +400 -0
- modules/cmvk/src/cmvk/benchmarks.py +476 -0
- modules/cmvk/src/cmvk/constitutional.py +902 -0
- modules/cmvk/src/cmvk/hf_utils.py +299 -0
- modules/cmvk/src/cmvk/metrics.py +471 -0
- modules/cmvk/src/cmvk/profiles.py +298 -0
- modules/cmvk/src/cmvk/py.typed +0 -0
- modules/cmvk/src/cmvk/types.py +10 -0
- modules/cmvk/src/cmvk/verification.py +954 -0
- modules/cmvk/src/cross_model_verification_kernel/__init__.py +91 -0
- modules/cmvk/src/cross_model_verification_kernel/__main__.py +10 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/__init__.py +16 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/base_agent.py +142 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/generator_openai.py +223 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/verifier_anthropic.py +448 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/verifier_gemini.py +481 -0
- modules/cmvk/src/cross_model_verification_kernel/cli.py +570 -0
- modules/cmvk/src/cross_model_verification_kernel/core/__init__.py +26 -0
- modules/cmvk/src/cross_model_verification_kernel/core/graph_memory.py +308 -0
- modules/cmvk/src/cross_model_verification_kernel/core/kernel.py +413 -0
- modules/cmvk/src/cross_model_verification_kernel/core/trace_logger.py +75 -0
- modules/cmvk/src/cross_model_verification_kernel/core/types.py +121 -0
- modules/cmvk/src/cross_model_verification_kernel/datasets/__init__.py +20 -0
- modules/cmvk/src/cross_model_verification_kernel/datasets/humaneval_loader.py +271 -0
- modules/cmvk/src/cross_model_verification_kernel/generator.py +118 -0
- modules/cmvk/src/cross_model_verification_kernel/kernel.py +292 -0
- modules/cmvk/src/cross_model_verification_kernel/models.py +111 -0
- modules/cmvk/src/cross_model_verification_kernel/py.typed +1 -0
- modules/cmvk/src/cross_model_verification_kernel/simple_kernel.py +185 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/__init__.py +94 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/huggingface_upload.py +394 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/sandbox.py +159 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/statistics.py +468 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/visualizer.py +312 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/web_search.py +86 -0
- modules/cmvk/src/cross_model_verification_kernel/verifier.py +257 -0
- modules/cmvk/tests/__init__.py +3 -0
- modules/cmvk/tests/conftest.py +61 -0
- modules/cmvk/tests/integration/__init__.py +1 -0
- modules/cmvk/tests/integration/test_anthropic_verifier.py +269 -0
- modules/cmvk/tests/integration/test_integration.py +53 -0
- modules/cmvk/tests/integration/test_lateral_thinking_integration.py +199 -0
- modules/cmvk/tests/integration/test_lateral_thinking_witness.py +208 -0
- modules/cmvk/tests/integration/test_prosecutor_mode.py +131 -0
- modules/cmvk/tests/test_constitutional.py +611 -0
- modules/cmvk/tests/test_enhanced_features.py +603 -0
- modules/cmvk/tests/test_verification.py +255 -0
- modules/cmvk/tests/unit/__init__.py +1 -0
- modules/cmvk/tests/unit/test_agents.py +64 -0
- modules/cmvk/tests/unit/test_cli.py +224 -0
- modules/cmvk/tests/unit/test_core.py +126 -0
- modules/cmvk/tests/unit/test_humaneval_loader.py +197 -0
- modules/cmvk/tests/unit/test_kernel.py +255 -0
- modules/cmvk/tests/unit/test_reproducibility.py +160 -0
- modules/cmvk/tests/unit/test_trace_logger.py +115 -0
- modules/cmvk/tests/unit/test_visualizer.py +218 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/bug_report.yml +82 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/config.yml +11 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/feature_request.yml +104 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/question.yml +70 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/security_vulnerability.yml +84 -0
- modules/control-plane/.github/discussions.yml +73 -0
- modules/control-plane/.github/pull_request_template.md +82 -0
- modules/control-plane/.github/workflows/publish.yml +146 -0
- modules/control-plane/.github/workflows/release.yml +39 -0
- modules/control-plane/.github/workflows/tests.yml +58 -0
- modules/control-plane/.gitignore +55 -0
- modules/control-plane/CHANGELOG.md +203 -0
- modules/control-plane/CONTRIBUTING.md +311 -0
- modules/control-plane/CONTRIBUTORS.md +88 -0
- modules/control-plane/Dockerfile +82 -0
- modules/control-plane/LICENSE +21 -0
- modules/control-plane/MANIFEST.in +17 -0
- modules/control-plane/README.md +1264 -0
- modules/control-plane/ROADMAP.md +228 -0
- modules/control-plane/SECURITY.md +210 -0
- modules/control-plane/SUPPORT.md +106 -0
- modules/control-plane/acp-cli.py +212 -0
- modules/control-plane/benchmark/README.md +257 -0
- modules/control-plane/benchmark/__init__.py +19 -0
- modules/control-plane/benchmark/red_team_dataset.py +517 -0
- modules/control-plane/benchmark.py +563 -0
- modules/control-plane/build_and_publish.sh +130 -0
- modules/control-plane/docker-compose.yml +74 -0
- modules/control-plane/docs/ABLATION_STUDIES.md +528 -0
- modules/control-plane/docs/ADAPTER_GUIDE.md +544 -0
- modules/control-plane/docs/ADVANCED_FEATURES.md +543 -0
- modules/control-plane/docs/AIOS_COMPARISON.md +296 -0
- modules/control-plane/docs/BIBLIOGRAPHY.md +367 -0
- modules/control-plane/docs/CASE_STUDIES.md +645 -0
- modules/control-plane/docs/DOCKER_DEPLOYMENT.md +184 -0
- modules/control-plane/docs/ECOSYSTEM_STATUS.md +98 -0
- modules/control-plane/docs/HF_MODEL_CARD.md +168 -0
- modules/control-plane/docs/KERNEL_V1_RELEASE.md +454 -0
- modules/control-plane/docs/LAYER3_FRAMEWORK.md +227 -0
- modules/control-plane/docs/LIMITATIONS.md +523 -0
- modules/control-plane/docs/PYPI_PUBLISHING.md +195 -0
- modules/control-plane/docs/README.md +58 -0
- modules/control-plane/docs/RELATED_WORK.md +319 -0
- modules/control-plane/docs/RELEASE_v1.1.0.md +252 -0
- modules/control-plane/docs/REPRODUCIBILITY.md +540 -0
- modules/control-plane/docs/RESEARCH_FOUNDATION.md +197 -0
- modules/control-plane/docs/api/CORE.md +270 -0
- modules/control-plane/docs/architecture/architecture.md +120 -0
- modules/control-plane/docs/community/ANNOUNCEMENT_TEMPLATES.md +52 -0
- modules/control-plane/docs/guides/IMPLEMENTATION.md +225 -0
- modules/control-plane/docs/guides/PHILOSOPHY.md +354 -0
- modules/control-plane/docs/guides/QUICKSTART.md +217 -0
- modules/control-plane/examples/README.md +138 -0
- modules/control-plane/examples/a2a_demo.py +410 -0
- modules/control-plane/examples/adapter_demo.py +347 -0
- modules/control-plane/examples/advanced_features.py +403 -0
- modules/control-plane/examples/basic_usage.py +261 -0
- modules/control-plane/examples/benchmark_demo.py +186 -0
- modules/control-plane/examples/compliance_demo.py +333 -0
- modules/control-plane/examples/configuration.py +265 -0
- modules/control-plane/examples/getting_started.py +178 -0
- modules/control-plane/examples/hibernation_and_time_travel_demo.py +406 -0
- modules/control-plane/examples/interactive_tutorial.ipynb +497 -0
- modules/control-plane/examples/kernel_interceptor_demo.py +202 -0
- modules/control-plane/examples/kernel_v1_demo.py +273 -0
- modules/control-plane/examples/langchain_demo.py +281 -0
- modules/control-plane/examples/lifecycle_demo.py +724 -0
- modules/control-plane/examples/mcp_demo.py +378 -0
- modules/control-plane/examples/ml_safety_demo.py +157 -0
- modules/control-plane/examples/multimodal_demo.py +347 -0
- modules/control-plane/examples/observability_demo.py +370 -0
- modules/control-plane/examples/use_cases.py +336 -0
- modules/control-plane/experiments/long_horizon_purge.py +235 -0
- modules/control-plane/experiments/multi_agent_rag.py +165 -0
- modules/control-plane/experiments/reproduce_results.py +667 -0
- modules/control-plane/paper/ARXIV_SUBMISSION_INFO.txt +122 -0
- modules/control-plane/paper/ETHICS_STATEMENT.md +248 -0
- modules/control-plane/paper/PAPER_CHECKLIST.md +72 -0
- modules/control-plane/paper/Paper.pdf +0 -0
- modules/control-plane/paper/README.md +71 -0
- modules/control-plane/paper/appendix.md +152 -0
- modules/control-plane/paper/architecture.md +15 -0
- modules/control-plane/paper/arxiv/figures/ablation_chart.png +0 -0
- modules/control-plane/paper/arxiv/figures/architecture.png +0 -0
- modules/control-plane/paper/arxiv/figures/constraint_graphs.png +0 -0
- modules/control-plane/paper/arxiv/figures/results_chart.png +0 -0
- modules/control-plane/paper/arxiv/main.aux +97 -0
- modules/control-plane/paper/arxiv/main.bbl +112 -0
- modules/control-plane/paper/arxiv/main.blg +48 -0
- modules/control-plane/paper/arxiv/main.out +33 -0
- modules/control-plane/paper/arxiv/main.pdf +0 -0
- modules/control-plane/paper/arxiv/main.tex +479 -0
- modules/control-plane/paper/arxiv/references.bib +234 -0
- modules/control-plane/paper/arxiv_submission.tar +0 -0
- modules/control-plane/paper/arxiv_submission.zip +0 -0
- modules/control-plane/paper/build.sh +68 -0
- modules/control-plane/paper/figures/README.md +47 -0
- modules/control-plane/paper/figures/ablation_chart.pdf +0 -0
- modules/control-plane/paper/figures/ablation_chart.png +0 -0
- modules/control-plane/paper/figures/architecture.pdf +0 -0
- modules/control-plane/paper/figures/architecture.png +0 -0
- modules/control-plane/paper/figures/constraint_graphs.pdf +0 -0
- modules/control-plane/paper/figures/constraint_graphs.png +0 -0
- modules/control-plane/paper/figures/generate_figures.py +252 -0
- modules/control-plane/paper/figures/results_chart.pdf +0 -0
- modules/control-plane/paper/figures/results_chart.png +0 -0
- modules/control-plane/paper/main.md +273 -0
- modules/control-plane/paper/main.tex +214 -0
- modules/control-plane/paper/main_arxiv.aux +53 -0
- modules/control-plane/paper/main_arxiv.out +17 -0
- modules/control-plane/paper/main_arxiv.pdf +0 -0
- modules/control-plane/paper/main_arxiv.tex +264 -0
- modules/control-plane/paper/references.bib +234 -0
- modules/control-plane/pyproject.toml +124 -0
- modules/control-plane/reproducibility/ABLATIONS.md +136 -0
- modules/control-plane/reproducibility/README.md +288 -0
- modules/control-plane/reproducibility/commands.md +467 -0
- modules/control-plane/reproducibility/docker_config/Dockerfile +39 -0
- modules/control-plane/reproducibility/experiment_configs/purge_config.json +46 -0
- modules/control-plane/reproducibility/experiment_configs/rag_config.json +36 -0
- modules/control-plane/reproducibility/hardware_specs.md +317 -0
- modules/control-plane/reproducibility/requirements_frozen.txt +0 -0
- modules/control-plane/reproducibility/run_all_experiments.sh +45 -0
- modules/control-plane/reproducibility/seeds.json +106 -0
- modules/control-plane/scripts/prepare_pypi.py +46 -0
- modules/control-plane/scripts/prepare_release.py +176 -0
- modules/control-plane/scripts/upload_dataset_to_hf.py +316 -0
- modules/control-plane/setup.py +69 -0
- modules/control-plane/src/agent_control_plane/__init__.py +639 -0
- modules/control-plane/src/agent_control_plane/a2a_adapter.py +541 -0
- modules/control-plane/src/agent_control_plane/adapter.py +415 -0
- modules/control-plane/src/agent_control_plane/agent_hibernation.py +364 -0
- modules/control-plane/src/agent_control_plane/agent_kernel.py +464 -0
- modules/control-plane/src/agent_control_plane/compliance.py +718 -0
- modules/control-plane/src/agent_control_plane/constraint_graphs.py +475 -0
- modules/control-plane/src/agent_control_plane/control_plane.py +848 -0
- modules/control-plane/src/agent_control_plane/example_executors.py +193 -0
- modules/control-plane/src/agent_control_plane/execution_engine.py +229 -0
- modules/control-plane/src/agent_control_plane/flight_recorder.py +600 -0
- modules/control-plane/src/agent_control_plane/governance_layer.py +432 -0
- modules/control-plane/src/agent_control_plane/hf_utils.py +561 -0
- modules/control-plane/src/agent_control_plane/interfaces/__init__.py +53 -0
- modules/control-plane/src/agent_control_plane/interfaces/kernel_interface.py +359 -0
- modules/control-plane/src/agent_control_plane/interfaces/plugin_interface.py +495 -0
- modules/control-plane/src/agent_control_plane/interfaces/protocol_interfaces.py +385 -0
- modules/control-plane/src/agent_control_plane/kernel_space.py +707 -0
- modules/control-plane/src/agent_control_plane/langchain_adapter.py +422 -0
- modules/control-plane/src/agent_control_plane/lifecycle.py +3111 -0
- modules/control-plane/src/agent_control_plane/mcp_adapter.py +517 -0
- modules/control-plane/src/agent_control_plane/ml_safety.py +560 -0
- modules/control-plane/src/agent_control_plane/multimodal.py +724 -0
- modules/control-plane/src/agent_control_plane/mute_agent.py +419 -0
- modules/control-plane/src/agent_control_plane/observability.py +785 -0
- modules/control-plane/src/agent_control_plane/orchestrator.py +480 -0
- modules/control-plane/src/agent_control_plane/plugin_registry.py +748 -0
- modules/control-plane/src/agent_control_plane/policy_engine.py +525 -0
- modules/control-plane/src/agent_control_plane/shadow_mode.py +307 -0
- modules/control-plane/src/agent_control_plane/signals.py +491 -0
- modules/control-plane/src/agent_control_plane/supervisor_agents.py +427 -0
- modules/control-plane/src/agent_control_plane/time_travel_debugger.py +554 -0
- modules/control-plane/src/agent_control_plane/tool_registry.py +350 -0
- modules/control-plane/src/agent_control_plane/vfs.py +695 -0
- modules/control-plane/tests/README.md +33 -0
- modules/control-plane/tests/test_a2a_adapter.py +336 -0
- modules/control-plane/tests/test_adapter.py +422 -0
- modules/control-plane/tests/test_advanced_features.py +389 -0
- modules/control-plane/tests/test_benchmark.py +223 -0
- modules/control-plane/tests/test_compliance.py +214 -0
- modules/control-plane/tests/test_control_plane.py +295 -0
- modules/control-plane/tests/test_hibernation.py +274 -0
- modules/control-plane/tests/test_kernel_interception.py +284 -0
- modules/control-plane/tests/test_langchain_adapter.py +258 -0
- modules/control-plane/tests/test_lifecycle.py +1174 -0
- modules/control-plane/tests/test_mcp_adapter.py +293 -0
- modules/control-plane/tests/test_ml_safety.py +142 -0
- modules/control-plane/tests/test_multimodal.py +317 -0
- modules/control-plane/tests/test_new_features.py +435 -0
- modules/control-plane/tests/test_observability.py +338 -0
- modules/control-plane/tests/test_time_travel.py +387 -0
- modules/emk/.github/workflows/ci.yml +105 -0
- modules/emk/.github/workflows/publish.yml +144 -0
- modules/emk/.gitignore +74 -0
- modules/emk/CHANGELOG.md +41 -0
- modules/emk/CONTRIBUTING.md +295 -0
- modules/emk/IMPLEMENTATION.md +174 -0
- modules/emk/LICENSE +21 -0
- modules/emk/MANIFEST.in +8 -0
- modules/emk/README.md +135 -0
- modules/emk/RELEASE_NOTES.md +82 -0
- modules/emk/SECURITY.md +52 -0
- modules/emk/codecov.yml +39 -0
- modules/emk/docs/MEMORY_MANAGEMENT.md +285 -0
- modules/emk/emk/__init__.py +106 -0
- modules/emk/emk/hf_utils.py +419 -0
- modules/emk/emk/indexer.py +144 -0
- modules/emk/emk/py.typed +0 -0
- modules/emk/emk/schema.py +204 -0
- modules/emk/emk/sleep_cycle.py +345 -0
- modules/emk/emk/store.py +479 -0
- modules/emk/examples/basic_usage.py +123 -0
- modules/emk/examples/memory_features_demo.py +154 -0
- modules/emk/experiments/README.md +59 -0
- modules/emk/experiments/reproduce_results.py +461 -0
- modules/emk/experiments/results.json +61 -0
- modules/emk/paper/structure.tex +192 -0
- modules/emk/paper/whitepaper.md +273 -0
- modules/emk/pyproject.toml +91 -0
- modules/emk/setup.py +5 -0
- modules/emk/tests/test_file_adapter.py +195 -0
- modules/emk/tests/test_indexer.py +174 -0
- modules/emk/tests/test_init.py +55 -0
- modules/emk/tests/test_negative_memory.py +83 -0
- modules/emk/tests/test_schema.py +150 -0
- modules/emk/tests/test_semantic_rules.py +175 -0
- modules/emk/tests/test_sleep_cycle.py +335 -0
- modules/emk/tests/test_store_anti_patterns.py +239 -0
- modules/iatp/.github/workflows/docker-build.yml +124 -0
- modules/iatp/.github/workflows/publish.yml +174 -0
- modules/iatp/.github/workflows/python-package.yml +121 -0
- modules/iatp/.gitignore +67 -0
- modules/iatp/.pre-commit-config.yaml +64 -0
- modules/iatp/CHANGELOG.md +120 -0
- modules/iatp/Dockerfile +91 -0
- modules/iatp/IMPLEMENTATION_SUMMARY.md +218 -0
- modules/iatp/MANIFEST.in +9 -0
- modules/iatp/README.md +180 -0
- modules/iatp/docker/Dockerfile.agent +27 -0
- modules/iatp/docker/Dockerfile.sidecar-python +86 -0
- modules/iatp/docker/README.md +258 -0
- modules/iatp/docker-compose.yml +194 -0
- modules/iatp/docs/ARCHITECTURE.md +243 -0
- modules/iatp/docs/CLI_GUIDE.md +220 -0
- modules/iatp/docs/DEPLOYMENT.md +304 -0
- modules/iatp/examples/README.md +132 -0
- modules/iatp/examples/backend_agent.py +39 -0
- modules/iatp/examples/client.py +168 -0
- modules/iatp/examples/demo_attestation_reputation.py +274 -0
- modules/iatp/examples/demo_client.py +240 -0
- modules/iatp/examples/demo_rbac.py +143 -0
- modules/iatp/examples/integration_demo.py +245 -0
- modules/iatp/examples/manifests/coder_agent.json +20 -0
- modules/iatp/examples/manifests/reviewer_agent.json +19 -0
- modules/iatp/examples/manifests/secure_bank.json +14 -0
- modules/iatp/examples/manifests/standard_agent.json +14 -0
- modules/iatp/examples/manifests/untrusted_honeypot.json +14 -0
- modules/iatp/examples/run_secure_bank_sidecar.py +85 -0
- modules/iatp/examples/run_sidecar.py +105 -0
- modules/iatp/examples/run_untrusted_sidecar.py +77 -0
- modules/iatp/examples/secure_bank_agent.py +138 -0
- modules/iatp/examples/test_untrusted.py +82 -0
- modules/iatp/examples/untrusted_agent.py +119 -0
- modules/iatp/experiments/README.md +58 -0
- modules/iatp/experiments/cascading_hallucination/README.md +149 -0
- modules/iatp/experiments/cascading_hallucination/agent_a_user.py +41 -0
- modules/iatp/experiments/cascading_hallucination/agent_b_summarizer.py +54 -0
- modules/iatp/experiments/cascading_hallucination/agent_c_database.py +47 -0
- modules/iatp/experiments/cascading_hallucination/proof_of_concept.py +290 -0
- modules/iatp/experiments/cascading_hallucination/run_experiment.py +226 -0
- modules/iatp/experiments/cascading_hallucination/sidecar_c.py +61 -0
- modules/iatp/experiments/reproduce_results.py +574 -0
- modules/iatp/experiments/results.json +2336 -0
- modules/iatp/iatp/__init__.py +164 -0
- modules/iatp/iatp/attestation.py +401 -0
- modules/iatp/iatp/cli.py +253 -0
- modules/iatp/iatp/hf_utils.py +469 -0
- modules/iatp/iatp/ipc_pipes.py +578 -0
- modules/iatp/iatp/main.py +410 -0
- modules/iatp/iatp/models/__init__.py +445 -0
- modules/iatp/iatp/policy_engine.py +335 -0
- modules/iatp/iatp/py.typed +2 -0
- modules/iatp/iatp/recovery.py +319 -0
- modules/iatp/iatp/security/__init__.py +268 -0
- modules/iatp/iatp/sidecar/__init__.py +517 -0
- modules/iatp/iatp/telemetry/__init__.py +162 -0
- modules/iatp/iatp/tests/__init__.py +1 -0
- modules/iatp/iatp/tests/test_attestation.py +368 -0
- modules/iatp/iatp/tests/test_cli.py +129 -0
- modules/iatp/iatp/tests/test_models.py +128 -0
- modules/iatp/iatp/tests/test_policy_engine.py +345 -0
- modules/iatp/iatp/tests/test_recovery.py +279 -0
- modules/iatp/iatp/tests/test_security.py +220 -0
- modules/iatp/iatp/tests/test_sidecar.py +165 -0
- modules/iatp/iatp/tests/test_telemetry.py +173 -0
- modules/iatp/paper/BLOG.md +307 -0
- modules/iatp/paper/PAPER.md +236 -0
- modules/iatp/paper/RFC_SUBMISSION.md +299 -0
- modules/iatp/paper/whitepaper.md +369 -0
- modules/iatp/proto/README.md +200 -0
- modules/iatp/proto/generate_stubs.py +81 -0
- modules/iatp/proto/iatp.proto +552 -0
- modules/iatp/pyproject.toml +180 -0
- modules/iatp/requirements-dev.txt +2 -0
- modules/iatp/requirements.txt +6 -0
- modules/iatp/setup.py +60 -0
- modules/iatp/sidecar/README.md +487 -0
- modules/iatp/sidecar/go/Dockerfile +32 -0
- modules/iatp/sidecar/go/README.md +237 -0
- modules/iatp/sidecar/go/go.mod +8 -0
- modules/iatp/sidecar/go/main.go +488 -0
- modules/iatp/spec/001-handshake.md +436 -0
- modules/iatp/spec/002-reversibility.md +394 -0
- modules/iatp/spec/schema/capability_manifest.json +266 -0
- modules/iatp/test_integration.py +310 -0
- modules/mcp-kernel-server/README.md +261 -0
- modules/mcp-kernel-server/pyproject.toml +60 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/__init__.py +26 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/cli.py +229 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/resources.py +215 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/server.py +562 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/tools.py +1172 -0
- modules/mute-agent/.github/workflows/safety_check.yml +45 -0
- modules/mute-agent/.gitignore +53 -0
- modules/mute-agent/ARCHITECTURE.md +531 -0
- modules/mute-agent/BENCHMARK_GUIDE.md +384 -0
- modules/mute-agent/COMPLETION_SUMMARY.md +293 -0
- modules/mute-agent/EXPERIMENT_SUMMARY.md +318 -0
- modules/mute-agent/IMPLEMENTATION_SUMMARY.md +212 -0
- modules/mute-agent/LICENSE +21 -0
- modules/mute-agent/PHASE3_SUMMARY.md +297 -0
- modules/mute-agent/README.md +360 -0
- modules/mute-agent/STEEL_MAN_RESULTS.md +353 -0
- modules/mute-agent/USAGE.md +505 -0
- modules/mute-agent/V2_IMPLEMENTATION_SUMMARY.md +253 -0
- modules/mute-agent/V2_STEEL_MAN_IMPLEMENTATION.md +274 -0
- modules/mute-agent/VERIFICATION_REPORT.md +435 -0
- modules/mute-agent/charts/cost_comparison.png +0 -0
- modules/mute-agent/charts/cost_vs_ambiguity.png +0 -0
- modules/mute-agent/charts/metrics_comparison.png +0 -0
- modules/mute-agent/charts/scenario_breakdown.png +0 -0
- modules/mute-agent/charts/trace_attack_blocked.html +140 -0
- modules/mute-agent/charts/trace_attack_blocked.png +0 -0
- modules/mute-agent/charts/trace_failure.html +140 -0
- modules/mute-agent/charts/trace_failure.png +0 -0
- modules/mute-agent/charts/trace_success.html +140 -0
- modules/mute-agent/charts/trace_success.png +0 -0
- modules/mute-agent/examples/__init__.py +1 -0
- modules/mute-agent/examples/advanced_example.py +384 -0
- modules/mute-agent/examples/graph_debugger_demo.py +241 -0
- modules/mute-agent/examples/listener_example.py +297 -0
- modules/mute-agent/examples/simple_example.py +242 -0
- modules/mute-agent/examples/steel_man_demo.py +297 -0
- modules/mute-agent/experiments/README.md +135 -0
- modules/mute-agent/experiments/__init__.py +3 -0
- modules/mute-agent/experiments/agent_comparison.csv +6 -0
- modules/mute-agent/experiments/agent_comparison_50runs.csv +6 -0
- modules/mute-agent/experiments/ambiguity_test.py +335 -0
- modules/mute-agent/experiments/ambiguity_test_results.csv +31 -0
- modules/mute-agent/experiments/ambiguity_test_results_50runs.csv +51 -0
- modules/mute-agent/experiments/baseline_agent.py +189 -0
- modules/mute-agent/experiments/benchmark.py +402 -0
- modules/mute-agent/experiments/demo.py +172 -0
- modules/mute-agent/experiments/generate_cost_curve.py +474 -0
- modules/mute-agent/experiments/jailbreak_test.py +137 -0
- modules/mute-agent/experiments/latent_state_scenario.py +361 -0
- modules/mute-agent/experiments/mute_agent_experiment.py +349 -0
- modules/mute-agent/experiments/run_extended_experiment.py +40 -0
- modules/mute-agent/experiments/run_v2_experiments.py +266 -0
- modules/mute-agent/experiments/run_v2_experiments_auto.py +247 -0
- modules/mute-agent/experiments/v2_scenarios/README.md +214 -0
- modules/mute-agent/experiments/v2_scenarios/__init__.py +4 -0
- modules/mute-agent/experiments/v2_scenarios/scenario_1_deep_dependency.py +325 -0
- modules/mute-agent/experiments/v2_scenarios/scenario_2_adversarial.py +328 -0
- modules/mute-agent/experiments/v2_scenarios/scenario_3_false_positive.py +303 -0
- modules/mute-agent/experiments/v2_scenarios/scenario_4_performance.py +319 -0
- modules/mute-agent/experiments/visualize.py +400 -0
- modules/mute-agent/mute_agent/__init__.py +66 -0
- modules/mute-agent/mute_agent/core/__init__.py +1 -0
- modules/mute-agent/mute_agent/core/execution_agent.py +164 -0
- modules/mute-agent/mute_agent/core/handshake_protocol.py +199 -0
- modules/mute-agent/mute_agent/core/reasoning_agent.py +236 -0
- modules/mute-agent/mute_agent/knowledge_graph/__init__.py +1 -0
- modules/mute-agent/mute_agent/knowledge_graph/graph_elements.py +63 -0
- modules/mute-agent/mute_agent/knowledge_graph/multidimensional_graph.py +168 -0
- modules/mute-agent/mute_agent/knowledge_graph/subgraph.py +222 -0
- modules/mute-agent/mute_agent/listener/__init__.py +41 -0
- modules/mute-agent/mute_agent/listener/adapters/__init__.py +29 -0
- modules/mute-agent/mute_agent/listener/adapters/base_adapter.py +187 -0
- modules/mute-agent/mute_agent/listener/adapters/caas_adapter.py +342 -0
- modules/mute-agent/mute_agent/listener/adapters/control_plane_adapter.py +434 -0
- modules/mute-agent/mute_agent/listener/adapters/iatp_adapter.py +330 -0
- modules/mute-agent/mute_agent/listener/adapters/scak_adapter.py +249 -0
- modules/mute-agent/mute_agent/listener/listener.py +608 -0
- modules/mute-agent/mute_agent/listener/state_observer.py +434 -0
- modules/mute-agent/mute_agent/listener/threshold_config.py +311 -0
- modules/mute-agent/mute_agent/super_system/__init__.py +1 -0
- modules/mute-agent/mute_agent/super_system/router.py +202 -0
- modules/mute-agent/mute_agent/visualization/__init__.py +8 -0
- modules/mute-agent/mute_agent/visualization/graph_debugger.py +495 -0
- modules/mute-agent/requirements-dev.txt +6 -0
- modules/mute-agent/requirements.txt +9 -0
- modules/mute-agent/setup.py +64 -0
- modules/mute-agent/src/__init__.py +0 -0
- modules/mute-agent/src/agents/__init__.py +0 -0
- modules/mute-agent/src/agents/baseline_agent.py +524 -0
- modules/mute-agent/src/agents/interactive_agent.py +113 -0
- modules/mute-agent/src/agents/mute_agent.py +622 -0
- modules/mute-agent/src/benchmarks/__init__.py +0 -0
- modules/mute-agent/src/benchmarks/evaluator.py +481 -0
- modules/mute-agent/src/benchmarks/scenarios.json +985 -0
- modules/mute-agent/src/core/__init__.py +0 -0
- modules/mute-agent/src/core/mock_state.py +320 -0
- modules/mute-agent/src/core/tools.py +441 -0
- modules/nexus/__init__.py +49 -0
- modules/nexus/arbiter.py +357 -0
- modules/nexus/client.py +464 -0
- modules/nexus/dmz.py +417 -0
- modules/nexus/escrow.py +428 -0
- modules/nexus/exceptions.py +284 -0
- modules/nexus/registry.py +391 -0
- modules/nexus/reputation.py +423 -0
- modules/nexus/schemas/__init__.py +49 -0
- modules/nexus/schemas/compliance.py +274 -0
- modules/nexus/schemas/escrow.py +249 -0
- modules/nexus/schemas/manifest.py +223 -0
- modules/nexus/schemas/receipt.py +206 -0
- modules/observability/README.md +192 -0
- modules/observability/alertmanager/alertmanager.yml +116 -0
- modules/observability/alerts/agent-os-alerts.yaml +197 -0
- modules/observability/docker-compose.yml +128 -0
- modules/observability/grafana/dashboards/agent-os-amb.json +448 -0
- modules/observability/grafana/dashboards/agent-os-cmvk.json +441 -0
- modules/observability/grafana/dashboards/agent-os-overview.json +268 -0
- modules/observability/grafana/dashboards/agent-os-performance.json +15 -0
- modules/observability/grafana/dashboards/agent-os-safety.json +50 -0
- modules/observability/grafana/provisioning/dashboards/dashboards.yml +15 -0
- modules/observability/grafana/provisioning/datasources/datasources.yml +33 -0
- modules/observability/otel/otel-collector-config.yml +61 -0
- modules/observability/prometheus/prometheus.yml +63 -0
- modules/observability/pyproject.toml +53 -0
- modules/observability/scripts/export_dashboards.py +55 -0
- modules/observability/src/agent_os_observability/__init__.py +25 -0
- modules/observability/src/agent_os_observability/dashboards.py +896 -0
- modules/observability/src/agent_os_observability/metrics.py +396 -0
- modules/observability/src/agent_os_observability/server.py +221 -0
- modules/observability/src/agent_os_observability/tracer.py +226 -0
- modules/primitives/.gitignore +8 -0
- modules/primitives/README.md +62 -0
- modules/primitives/agent_primitives/__init__.py +22 -0
- modules/primitives/agent_primitives/failures.py +82 -0
- modules/primitives/agent_primitives/py.typed +0 -0
- modules/primitives/pyproject.toml +68 -0
- modules/scak/.github/copilot-instructions.md +396 -0
- modules/scak/.github/workflows/release.yml +117 -0
- modules/scak/.gitignore +32 -0
- modules/scak/CHANGELOG.md +173 -0
- modules/scak/CITATION.cff +62 -0
- modules/scak/CONTRIBUTING.md +429 -0
- modules/scak/Dockerfile +58 -0
- modules/scak/ENTERPRISE_FEATURES.md +518 -0
- modules/scak/IMPLEMENTATION_SUMMARY.md +206 -0
- modules/scak/LIMITATIONS.md +565 -0
- modules/scak/MANIFEST.in +16 -0
- modules/scak/NOVELTY.md +535 -0
- modules/scak/README.md +928 -0
- modules/scak/RESEARCH.md +670 -0
- modules/scak/agent_kernel/__init__.py +66 -0
- modules/scak/agent_kernel/analyzer.py +432 -0
- modules/scak/agent_kernel/auditor.py +31 -0
- modules/scak/agent_kernel/completeness_auditor.py +234 -0
- modules/scak/agent_kernel/detector.py +200 -0
- modules/scak/agent_kernel/kernel.py +741 -0
- modules/scak/agent_kernel/memory_manager.py +82 -0
- modules/scak/agent_kernel/models.py +372 -0
- modules/scak/agent_kernel/nudge_mechanism.py +260 -0
- modules/scak/agent_kernel/outcome_analyzer.py +335 -0
- modules/scak/agent_kernel/patcher.py +579 -0
- modules/scak/agent_kernel/semantic_analyzer.py +313 -0
- modules/scak/agent_kernel/semantic_purge.py +346 -0
- modules/scak/agent_kernel/simulator.py +447 -0
- modules/scak/agent_kernel/teacher.py +82 -0
- modules/scak/agent_kernel/triage.py +149 -0
- modules/scak/build_and_publish.ps1 +74 -0
- modules/scak/build_and_publish.sh +74 -0
- modules/scak/cli.py +471 -0
- modules/scak/dashboard.py +462 -0
- modules/scak/datasets/DATASET_CARD.md +219 -0
- modules/scak/datasets/README.md +143 -0
- modules/scak/datasets/gaia_vague_queries/vague_queries.json +262 -0
- modules/scak/datasets/hf_upload/README.md +219 -0
- modules/scak/datasets/hf_upload/scak_gaia_laziness.jsonl +50 -0
- modules/scak/datasets/prepare_hf_datasets.py +145 -0
- modules/scak/datasets/red_team/jailbreak_patterns.json +202 -0
- modules/scak/docker-compose.yml +99 -0
- modules/scak/docs/Adaptive-Memory-Hierarchy.md +319 -0
- modules/scak/docs/Data-Contracts-and-Schemas.md +285 -0
- modules/scak/docs/Dual-Loop-Architecture.md +344 -0
- modules/scak/docs/Enhanced-Features.md +612 -0
- modules/scak/docs/LANGCHAIN_INTEGRATION.md +572 -0
- modules/scak/docs/README.md +128 -0
- modules/scak/docs/Reference-Implementations.md +163 -0
- modules/scak/docs/SCAK_V2.md +374 -0
- modules/scak/docs/Three-Failure-Types.md +178 -0
- modules/scak/examples/basic_example.py +155 -0
- modules/scak/examples/circuit_breaker_lazy_eval_demo.py +243 -0
- modules/scak/examples/langchain_integration_example.py +339 -0
- modules/scak/examples/layer4_demo.py +243 -0
- modules/scak/examples/production_features_demo.py +353 -0
- modules/scak/examples/quick_demo.py +79 -0
- modules/scak/examples/scak_v2_demo.py +252 -0
- modules/scak/experiments/README.md +438 -0
- modules/scak/experiments/ablation_studies/README.md +192 -0
- modules/scak/experiments/ablation_studies/ablation_no_audit.py +116 -0
- modules/scak/experiments/ablation_studies/ablation_no_purge.py +133 -0
- modules/scak/experiments/chaos_engineering/README.md +332 -0
- modules/scak/experiments/context_efficiency_test.py +328 -0
- modules/scak/experiments/gaia_benchmark/README.md +208 -0
- modules/scak/experiments/laziness_benchmark.py +179 -0
- modules/scak/experiments/long_horizon_task_experiment.py +252 -0
- modules/scak/experiments/multi_agent_rag_experiment.py +284 -0
- modules/scak/experiments/results/ablation_table.md +12 -0
- modules/scak/experiments/results/long_horizon.json +36 -0
- modules/scak/experiments/results/multi_agent_rag.json +66 -0
- modules/scak/experiments/run_comprehensive_ablations.py +332 -0
- modules/scak/experiments/test_auditor_patcher_integration.py +251 -0
- modules/scak/notebooks/getting_started.ipynb +33 -0
- modules/scak/paper/ARXIV_SUBMISSION_METADATA.txt +109 -0
- modules/scak/paper/PAPER_CHECKLIST.md +304 -0
- modules/scak/paper/Paper.pdf +0 -0
- modules/scak/paper/README.md +113 -0
- modules/scak/paper/appendix.md +351 -0
- modules/scak/paper/arxiv/bibliography.bib +284 -0
- modules/scak/paper/arxiv/fig1_ooda_architecture.pdf +0 -0
- modules/scak/paper/arxiv/fig2_memory_hierarchy.pdf +0 -0
- modules/scak/paper/arxiv/fig3_gaia_results.pdf +0 -0
- modules/scak/paper/arxiv/fig4_ablation_heatmap.pdf +0 -0
- modules/scak/paper/arxiv/fig5_context_reduction.pdf +0 -0
- modules/scak/paper/arxiv/fig6_mttr_boxplot.pdf +0 -0
- modules/scak/paper/arxiv/main.aux +103 -0
- modules/scak/paper/arxiv/main.bbl +113 -0
- modules/scak/paper/arxiv/main.blg +55 -0
- modules/scak/paper/arxiv/main.out +31 -0
- modules/scak/paper/arxiv/main.pdf +0 -0
- modules/scak/paper/arxiv/main.tex +482 -0
- modules/scak/paper/arxiv_submission/bibliography.bib +284 -0
- modules/scak/paper/arxiv_submission/fig1_ooda_architecture.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig2_memory_hierarchy.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig3_gaia_results.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig4_ablation_heatmap.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig5_context_reduction.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig6_mttr_boxplot.pdf +0 -0
- modules/scak/paper/arxiv_submission/main.aux +103 -0
- modules/scak/paper/arxiv_submission/main.bbl +113 -0
- modules/scak/paper/arxiv_submission/main.blg +55 -0
- modules/scak/paper/arxiv_submission/main.out +31 -0
- modules/scak/paper/arxiv_submission/main.pdf +0 -0
- modules/scak/paper/arxiv_submission/main.tex +482 -0
- modules/scak/paper/arxiv_submission.tar.gz +0 -0
- modules/scak/paper/bibliography.bib +284 -0
- modules/scak/paper/build.sh +55 -0
- modules/scak/paper/figures/README.md +32 -0
- modules/scak/paper/figures/fig1_ooda_architecture.md +75 -0
- modules/scak/paper/figures/fig1_ooda_architecture.pdf +0 -0
- modules/scak/paper/figures/fig1_ooda_architecture.png +0 -0
- modules/scak/paper/figures/fig2_memory_hierarchy.md +83 -0
- modules/scak/paper/figures/fig2_memory_hierarchy.pdf +0 -0
- modules/scak/paper/figures/fig2_memory_hierarchy.png +0 -0
- modules/scak/paper/figures/fig3_gaia_results.md +64 -0
- modules/scak/paper/figures/fig3_gaia_results.pdf +0 -0
- modules/scak/paper/figures/fig3_gaia_results.png +0 -0
- modules/scak/paper/figures/fig4_ablation_heatmap.md +64 -0
- modules/scak/paper/figures/fig4_ablation_heatmap.pdf +0 -0
- modules/scak/paper/figures/fig4_ablation_heatmap.png +0 -0
- modules/scak/paper/figures/fig5_context_reduction.md +71 -0
- modules/scak/paper/figures/fig5_context_reduction.pdf +0 -0
- modules/scak/paper/figures/fig5_context_reduction.png +0 -0
- modules/scak/paper/figures/fig6_mttr_boxplot.md +80 -0
- modules/scak/paper/figures/fig6_mttr_boxplot.pdf +0 -0
- modules/scak/paper/figures/fig6_mttr_boxplot.png +0 -0
- modules/scak/paper/figures/generate_figures.py +463 -0
- modules/scak/paper/main.aux +103 -0
- modules/scak/paper/main.bbl +113 -0
- modules/scak/paper/main.blg +55 -0
- modules/scak/paper/main.md +192 -0
- modules/scak/paper/main.out +31 -0
- modules/scak/paper/main.pdf +0 -0
- modules/scak/paper/main.tex +482 -0
- modules/scak/reproducibility/ABLATIONS.md +225 -0
- modules/scak/reproducibility/Dockerfile.reproducibility +34 -0
- modules/scak/reproducibility/README.md +421 -0
- modules/scak/reproducibility/requirements-pinned.txt +32 -0
- modules/scak/reproducibility/run_all_experiments.py +395 -0
- modules/scak/reproducibility/seed_control.py +53 -0
- modules/scak/reproducibility/statistical_analysis.py +302 -0
- modules/scak/requirements.txt +50 -0
- modules/scak/setup.py +93 -0
- modules/scak/src/__init__.py +124 -0
- modules/scak/src/agents/__init__.py +13 -0
- modules/scak/src/agents/conflict_resolution.py +732 -0
- modules/scak/src/agents/orchestrator.py +761 -0
- modules/scak/src/agents/pubsub.py +484 -0
- modules/scak/src/agents/shadow_teacher.py +344 -0
- modules/scak/src/agents/swarm.py +661 -0
- modules/scak/src/agents/worker.py +357 -0
- modules/scak/src/integrations/__init__.py +81 -0
- modules/scak/src/integrations/cmvk_adapter.py +430 -0
- modules/scak/src/integrations/control_plane_adapter.py +601 -0
- modules/scak/src/integrations/langchain_integration.py +902 -0
- modules/scak/src/interfaces/__init__.py +59 -0
- modules/scak/src/interfaces/llm_clients.py +505 -0
- modules/scak/src/interfaces/openapi_tools.py +611 -0
- modules/scak/src/interfaces/plugin_system.py +605 -0
- modules/scak/src/interfaces/protocols.py +365 -0
- modules/scak/src/interfaces/telemetry.py +464 -0
- modules/scak/src/interfaces/tool_registry.py +547 -0
- modules/scak/src/kernel/__init__.py +100 -0
- modules/scak/src/kernel/auditor.py +305 -0
- modules/scak/src/kernel/circuit_breaker.py +398 -0
- modules/scak/src/kernel/core.py +724 -0
- modules/scak/src/kernel/distributed.py +667 -0
- modules/scak/src/kernel/evolution.py +455 -0
- modules/scak/src/kernel/failover.py +621 -0
- modules/scak/src/kernel/governance.py +710 -0
- modules/scak/src/kernel/governance_v2.py +603 -0
- modules/scak/src/kernel/lazy_evaluator.py +514 -0
- modules/scak/src/kernel/load_testing.py +633 -0
- modules/scak/src/kernel/memory.py +945 -0
- modules/scak/src/kernel/patcher.py +581 -0
- modules/scak/src/kernel/rubric.py +419 -0
- modules/scak/src/kernel/schemas.py +390 -0
- modules/scak/src/kernel/skill_mapper.py +309 -0
- modules/scak/src/kernel/triage.py +149 -0
- modules/scak/src/mocks/__init__.py +99 -0
- modules/scak/tests/__init__.py +1 -0
- modules/scak/tests/test_circuit_breaker.py +403 -0
- modules/scak/tests/test_conflict_resolution.py +287 -0
- modules/scak/tests/test_dual_loop.py +463 -0
- modules/scak/tests/test_enhanced_features.py +421 -0
- modules/scak/tests/test_failover_and_load.py +438 -0
- modules/scak/tests/test_governance.py +185 -0
- modules/scak/tests/test_kernel.py +359 -0
- modules/scak/tests/test_langchain_integration.py +451 -0
- modules/scak/tests/test_lazy_evaluator.py +465 -0
- modules/scak/tests/test_llm_clients.py +122 -0
- modules/scak/tests/test_memory_controller.py +528 -0
- modules/scak/tests/test_orchestrator.py +181 -0
- modules/scak/tests/test_phase3_integration.py +265 -0
- modules/scak/tests/test_pubsub_swarm.py +203 -0
- modules/scak/tests/test_reference_implementations.py +240 -0
- modules/scak/tests/test_rubric.py +363 -0
- modules/scak/tests/test_scak_v2.py +651 -0
- modules/scak/tests/test_skill_mapper.py +217 -0
- modules/scak/tests/test_specific_failures.py +393 -0
- modules/scak/tests/test_tool_registry.py +264 -0
- modules/scak/tests/test_tools_and_plugins.py +303 -0
- modules/scak/tests/test_triage.py +596 -0
- modules/scak/tests/test_write_through.py +319 -0
- agent_os_kernel-1.1.0.dist-info/METADATA +0 -400
- agent_os_kernel-1.1.0.dist-info/RECORD +0 -12
- {agent_os_kernel-1.1.0.dist-info → agent_os_kernel-1.3.0.dist-info}/WHEEL +0 -0
- {agent_os_kernel-1.1.0.dist-info → agent_os_kernel-1.3.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Demo script showing Metadata Injection (Contextual Enrichment) in action.
|
|
3
|
+
|
|
4
|
+
This demonstrates the solution to the "Context Amnesia" problem.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import uuid
|
|
8
|
+
from caas.models import ContentFormat
|
|
9
|
+
from caas.ingestion import ProcessorFactory
|
|
10
|
+
from caas.detection import DocumentTypeDetector
|
|
11
|
+
from caas.tuning import WeightTuner
|
|
12
|
+
from caas.storage import DocumentStore, ContextExtractor
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def print_separator(title):
|
|
16
|
+
"""Print a formatted separator."""
|
|
17
|
+
print("\n" + "=" * 70)
|
|
18
|
+
print(f" {title}")
|
|
19
|
+
print("=" * 70 + "\n")
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def demo_metadata_injection():
|
|
23
|
+
"""Demonstrate metadata injection with a real-world example."""
|
|
24
|
+
|
|
25
|
+
print_separator("METADATA INJECTION DEMO")
|
|
26
|
+
print("Solving the 'Context Amnesia' Problem")
|
|
27
|
+
print("=" * 70)
|
|
28
|
+
|
|
29
|
+
# Create a realistic financial report
|
|
30
|
+
html_content = b"""
|
|
31
|
+
<html>
|
|
32
|
+
<head><title>Q3 2024 Financial Report</title></head>
|
|
33
|
+
<body>
|
|
34
|
+
<h1>Q3 2024 Financial Results</h1>
|
|
35
|
+
<p>Executive summary of quarterly performance.</p>
|
|
36
|
+
|
|
37
|
+
<h2>Revenue Analysis</h2>
|
|
38
|
+
<p>Comprehensive breakdown of revenue across regions.</p>
|
|
39
|
+
|
|
40
|
+
<h3>North America</h3>
|
|
41
|
+
<p>Revenue in North America increased by 5% compared to last quarter,
|
|
42
|
+
driven by strong sales in the technology sector.</p>
|
|
43
|
+
|
|
44
|
+
<h3>Europe</h3>
|
|
45
|
+
<p>European markets showed robust growth of 8%, with particular
|
|
46
|
+
strength in renewable energy investments.</p>
|
|
47
|
+
|
|
48
|
+
<h3>Asia Pacific</h3>
|
|
49
|
+
<p>Asia Pacific revenue grew by 12%, marking the highest growth
|
|
50
|
+
rate across all regions.</p>
|
|
51
|
+
|
|
52
|
+
<h2>Expense Management</h2>
|
|
53
|
+
<p>Analysis of operational expenses.</p>
|
|
54
|
+
|
|
55
|
+
<h3>Operating Costs</h3>
|
|
56
|
+
<p>Operating costs decreased by 3% through efficiency improvements
|
|
57
|
+
and strategic cost optimization.</p>
|
|
58
|
+
|
|
59
|
+
<h2>Future Outlook</h2>
|
|
60
|
+
<p>We project continued growth in Q4 2024, with expected revenue
|
|
61
|
+
increase of 6-8% across all regions.</p>
|
|
62
|
+
</body>
|
|
63
|
+
</html>
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
# Process the document
|
|
67
|
+
processor = ProcessorFactory.get_processor(ContentFormat.HTML)
|
|
68
|
+
doc_id = str(uuid.uuid4())
|
|
69
|
+
metadata = {"id": doc_id, "title": "Q3 2024 Earnings Report"}
|
|
70
|
+
document = processor.process(html_content, metadata)
|
|
71
|
+
|
|
72
|
+
# Detect type and tune
|
|
73
|
+
detector = DocumentTypeDetector()
|
|
74
|
+
document.detected_type = detector.detect(document)
|
|
75
|
+
|
|
76
|
+
tuner = WeightTuner()
|
|
77
|
+
document = tuner.tune(document)
|
|
78
|
+
|
|
79
|
+
# Store document
|
|
80
|
+
store = DocumentStore()
|
|
81
|
+
store.add(document)
|
|
82
|
+
|
|
83
|
+
print(f"📄 Processed Document: {document.title}")
|
|
84
|
+
print(f"📊 Document Type: {document.detected_type.value}")
|
|
85
|
+
print(f"📑 Sections Found: {len(document.sections)}")
|
|
86
|
+
|
|
87
|
+
# Show section hierarchy
|
|
88
|
+
print_separator("SECTION HIERARCHY")
|
|
89
|
+
for section in document.sections:
|
|
90
|
+
hierarchy = []
|
|
91
|
+
if section.chapter:
|
|
92
|
+
hierarchy.append(f"Chapter: {section.chapter}")
|
|
93
|
+
if section.parent_section:
|
|
94
|
+
hierarchy.append(f"Parent: {section.parent_section}")
|
|
95
|
+
hierarchy.append(f"Section: {section.title}")
|
|
96
|
+
|
|
97
|
+
print(f" • {' → '.join(hierarchy)}")
|
|
98
|
+
|
|
99
|
+
# Demo 1: WITHOUT metadata enrichment
|
|
100
|
+
print_separator("WITHOUT METADATA ENRICHMENT (Context Amnesia)")
|
|
101
|
+
|
|
102
|
+
extractor_plain = ContextExtractor(store, enrich_metadata=False)
|
|
103
|
+
plain_context, plain_meta = extractor_plain.extract_context(
|
|
104
|
+
doc_id,
|
|
105
|
+
query="revenue increase",
|
|
106
|
+
max_tokens=300
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
print("Query: 'revenue increase'")
|
|
110
|
+
print("\nRetrieved Context (Plain):")
|
|
111
|
+
print("-" * 70)
|
|
112
|
+
print(plain_context[:400])
|
|
113
|
+
print("-" * 70)
|
|
114
|
+
|
|
115
|
+
print("\n❌ Problem: Isolated chunks lose context!")
|
|
116
|
+
print(" - Which document is this from?")
|
|
117
|
+
print(" - What chapter?")
|
|
118
|
+
print(" - What's the full hierarchy?")
|
|
119
|
+
print(" → AI Response: 'Revenue increased by some amount, but unclear which region or time period.'")
|
|
120
|
+
|
|
121
|
+
# Demo 2: WITH metadata enrichment
|
|
122
|
+
print_separator("WITH METADATA ENRICHMENT (Context Preserved)")
|
|
123
|
+
|
|
124
|
+
extractor_enriched = ContextExtractor(store, enrich_metadata=True)
|
|
125
|
+
enriched_context, enriched_meta = extractor_enriched.extract_context(
|
|
126
|
+
doc_id,
|
|
127
|
+
query="revenue increase",
|
|
128
|
+
max_tokens=300
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
print("Query: 'revenue increase'")
|
|
132
|
+
print("\nRetrieved Context (Enriched):")
|
|
133
|
+
print("-" * 70)
|
|
134
|
+
print(enriched_context[:600])
|
|
135
|
+
print("-" * 70)
|
|
136
|
+
|
|
137
|
+
print("\n✅ Solution: Metadata provides full context!")
|
|
138
|
+
print(" ✓ Document: Q3 2024 Earnings Report")
|
|
139
|
+
print(" ✓ Chapter: Q3 2024 Financial Results")
|
|
140
|
+
print(" ✓ Section: North America / Europe / Asia Pacific")
|
|
141
|
+
print(" → AI Response: 'In Q3 2024, North America revenue increased by 5%, Europe by 8%, and Asia Pacific by 12%.'")
|
|
142
|
+
|
|
143
|
+
# Show metadata comparison
|
|
144
|
+
print_separator("METADATA COMPARISON")
|
|
145
|
+
|
|
146
|
+
print("Plain Context:")
|
|
147
|
+
print(f" • Metadata Enriched: {plain_meta['metadata_enriched']}")
|
|
148
|
+
print(f" • Character Count: {len(plain_context)}")
|
|
149
|
+
print(f" • Context Quality: ⭐⭐ (Low)")
|
|
150
|
+
|
|
151
|
+
print("\nEnriched Context:")
|
|
152
|
+
print(f" • Metadata Enriched: {enriched_meta['metadata_enriched']}")
|
|
153
|
+
print(f" • Character Count: {len(enriched_context)}")
|
|
154
|
+
print(f" • Overhead: +{len(enriched_context) - len(plain_context)} chars ({((len(enriched_context) / len(plain_context) - 1) * 100):.0f}% increase)")
|
|
155
|
+
print(f" • Context Quality: ⭐⭐⭐⭐⭐ (High)")
|
|
156
|
+
|
|
157
|
+
# Demo 3: Different query showing hierarchy importance
|
|
158
|
+
print_separator("HIERARCHICAL CONTEXT IN ACTION")
|
|
159
|
+
|
|
160
|
+
# Query about operating costs
|
|
161
|
+
context3, meta3 = extractor_enriched.extract_context(
|
|
162
|
+
doc_id,
|
|
163
|
+
query="costs decreased",
|
|
164
|
+
max_tokens=200
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
print("Query: 'costs decreased'")
|
|
168
|
+
print("\nEnriched Result:")
|
|
169
|
+
print("-" * 70)
|
|
170
|
+
print(context3[:400])
|
|
171
|
+
print("-" * 70)
|
|
172
|
+
|
|
173
|
+
print("\n✅ Full Context Preserved:")
|
|
174
|
+
print(" • The AI knows: 'Operating Costs' is under 'Expense Management' in 'Q3 2024 Financial Results'")
|
|
175
|
+
print(" • Without metadata, the AI would see: 'decreased by 3%' (what decreased?)")
|
|
176
|
+
|
|
177
|
+
# Summary
|
|
178
|
+
print_separator("SUMMARY")
|
|
179
|
+
|
|
180
|
+
print("📊 Metadata Injection Benefits:")
|
|
181
|
+
print(" ✅ Eliminates 'Context Amnesia'")
|
|
182
|
+
print(" ✅ Preserves document hierarchy")
|
|
183
|
+
print(" ✅ Improves AI response accuracy")
|
|
184
|
+
print(" ✅ Enables precise citations")
|
|
185
|
+
print(" ✅ Better search and retrieval")
|
|
186
|
+
print()
|
|
187
|
+
print("💡 Token Overhead:")
|
|
188
|
+
print(f" • Additional tokens per chunk: ~19 tokens")
|
|
189
|
+
print(f" • Total overhead for 3 chunks: ~57 tokens")
|
|
190
|
+
print(f" • Negligible compared to context window (4K-128K tokens)")
|
|
191
|
+
print()
|
|
192
|
+
print("🎯 Recommendation: Keep enrichment ENABLED (default)")
|
|
193
|
+
print()
|
|
194
|
+
print("=" * 70)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
if __name__ == "__main__":
|
|
198
|
+
demo_metadata_injection()
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Demo: Pragmatic Truth (Real > Official)
|
|
3
|
+
|
|
4
|
+
Demonstrates how the system handles conflicts between official documentation
|
|
5
|
+
and practical reality, providing transparent citations and both perspectives.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import uuid
|
|
9
|
+
from datetime import datetime, timedelta
|
|
10
|
+
|
|
11
|
+
from caas.models import (
|
|
12
|
+
ContentFormat,
|
|
13
|
+
DocumentType,
|
|
14
|
+
SourceType,
|
|
15
|
+
SourceCitation,
|
|
16
|
+
Section,
|
|
17
|
+
Document,
|
|
18
|
+
)
|
|
19
|
+
from caas.storage import DocumentStore, ContextExtractor
|
|
20
|
+
from caas.pragmatic_truth import CitationFormatter
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def create_official_api_doc() -> Document:
|
|
24
|
+
"""Create an official API documentation document."""
|
|
25
|
+
doc_id = str(uuid.uuid4())
|
|
26
|
+
return Document(
|
|
27
|
+
id=doc_id,
|
|
28
|
+
title="API Documentation v2.1 - Rate Limits",
|
|
29
|
+
content="Official documentation for API rate limits.",
|
|
30
|
+
format=ContentFormat.HTML,
|
|
31
|
+
detected_type=DocumentType.API_DOCUMENTATION,
|
|
32
|
+
sections=[
|
|
33
|
+
Section(
|
|
34
|
+
title="Rate Limits",
|
|
35
|
+
content=(
|
|
36
|
+
"The API supports up to 100 requests per minute per API key. "
|
|
37
|
+
"This limit is enforced at the gateway level and is documented "
|
|
38
|
+
"in the official specification. Exceeding this limit will result "
|
|
39
|
+
"in HTTP 429 (Too Many Requests) responses."
|
|
40
|
+
),
|
|
41
|
+
weight=1.8,
|
|
42
|
+
source_citation=SourceCitation(
|
|
43
|
+
source_type=SourceType.OFFICIAL_DOCS,
|
|
44
|
+
source_name="API Documentation v2.1",
|
|
45
|
+
source_url="https://api.example.com/docs/rate-limits",
|
|
46
|
+
timestamp=(datetime.utcnow() - timedelta(days=180)).isoformat()
|
|
47
|
+
)
|
|
48
|
+
),
|
|
49
|
+
Section(
|
|
50
|
+
title="Error Handling",
|
|
51
|
+
content=(
|
|
52
|
+
"When rate limits are exceeded, the API returns a 429 status code "
|
|
53
|
+
"with a Retry-After header indicating when requests can resume."
|
|
54
|
+
),
|
|
55
|
+
weight=1.5,
|
|
56
|
+
source_citation=SourceCitation(
|
|
57
|
+
source_type=SourceType.OFFICIAL_DOCS,
|
|
58
|
+
source_name="API Documentation v2.1",
|
|
59
|
+
source_url="https://api.example.com/docs/errors",
|
|
60
|
+
timestamp=(datetime.utcnow() - timedelta(days=180)).isoformat()
|
|
61
|
+
)
|
|
62
|
+
),
|
|
63
|
+
],
|
|
64
|
+
metadata={"source_type": "official_docs"},
|
|
65
|
+
ingestion_timestamp=(datetime.utcnow() - timedelta(days=180)).isoformat()
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def create_slack_conversation() -> Document:
|
|
70
|
+
"""Create a document from Slack team conversations."""
|
|
71
|
+
doc_id = str(uuid.uuid4())
|
|
72
|
+
return Document(
|
|
73
|
+
id=doc_id,
|
|
74
|
+
title="Slack #engineering - API Stability Issues",
|
|
75
|
+
content="Team conversation about API rate limit issues.",
|
|
76
|
+
format=ContentFormat.TEXT,
|
|
77
|
+
detected_type=DocumentType.UNKNOWN,
|
|
78
|
+
sections=[
|
|
79
|
+
Section(
|
|
80
|
+
title="Real Rate Limit Issue",
|
|
81
|
+
content=(
|
|
82
|
+
"Hey team, just a heads up - the API actually crashes after about "
|
|
83
|
+
"50 requests per minute, not 100 like the docs say. We've hit this "
|
|
84
|
+
"in production multiple times this week. The official limit is 100, "
|
|
85
|
+
"but in practice the server becomes unstable around 50-60. "
|
|
86
|
+
"Use 50 as your actual limit until this is fixed."
|
|
87
|
+
),
|
|
88
|
+
weight=2.0, # High weight because it's recent practical info
|
|
89
|
+
source_citation=SourceCitation(
|
|
90
|
+
source_type=SourceType.TEAM_CHAT,
|
|
91
|
+
source_name="Slack #engineering",
|
|
92
|
+
source_url="slack://channel/engineering/msg456789",
|
|
93
|
+
timestamp=(datetime.utcnow() - timedelta(days=2)).isoformat(),
|
|
94
|
+
excerpt="API crashes after 50 requests, not 100..."
|
|
95
|
+
)
|
|
96
|
+
),
|
|
97
|
+
Section(
|
|
98
|
+
title="Workaround",
|
|
99
|
+
content=(
|
|
100
|
+
"For now, we're using a circuit breaker pattern with a 45 req/min "
|
|
101
|
+
"limit in our client library. It's not ideal, but it prevents the "
|
|
102
|
+
"crashes. Filed ticket #3421 to get this fixed on the backend."
|
|
103
|
+
),
|
|
104
|
+
weight=1.7,
|
|
105
|
+
source_citation=SourceCitation(
|
|
106
|
+
source_type=SourceType.TEAM_CHAT,
|
|
107
|
+
source_name="Slack #engineering",
|
|
108
|
+
source_url="slack://channel/engineering/msg456790",
|
|
109
|
+
timestamp=(datetime.utcnow() - timedelta(days=2)).isoformat()
|
|
110
|
+
)
|
|
111
|
+
),
|
|
112
|
+
],
|
|
113
|
+
metadata={"source_type": "team_chat"},
|
|
114
|
+
ingestion_timestamp=(datetime.utcnow() - timedelta(days=2)).isoformat()
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def create_runbook() -> Document:
|
|
119
|
+
"""Create an operational runbook document."""
|
|
120
|
+
doc_id = str(uuid.uuid4())
|
|
121
|
+
return Document(
|
|
122
|
+
id=doc_id,
|
|
123
|
+
title="Production Runbook - API Issues",
|
|
124
|
+
content="Operational procedures for handling API issues.",
|
|
125
|
+
format=ContentFormat.MARKDOWN,
|
|
126
|
+
detected_type=DocumentType.TUTORIAL,
|
|
127
|
+
sections=[
|
|
128
|
+
Section(
|
|
129
|
+
title="Rate Limit Troubleshooting",
|
|
130
|
+
content=(
|
|
131
|
+
"If experiencing 429 errors:\n"
|
|
132
|
+
"1. Check current request rate (should be under 50/min, NOT 100)\n"
|
|
133
|
+
"2. Implement exponential backoff\n"
|
|
134
|
+
"3. The documented limit of 100/min causes server instability\n"
|
|
135
|
+
"4. Keep traffic under 50/min for reliable operation"
|
|
136
|
+
),
|
|
137
|
+
weight=1.9,
|
|
138
|
+
source_citation=SourceCitation(
|
|
139
|
+
source_type=SourceType.RUNBOOK,
|
|
140
|
+
source_name="Production Runbook",
|
|
141
|
+
source_url="https://wiki.company.com/runbooks/api",
|
|
142
|
+
timestamp=(datetime.utcnow() - timedelta(days=30)).isoformat()
|
|
143
|
+
)
|
|
144
|
+
),
|
|
145
|
+
],
|
|
146
|
+
metadata={"source_type": "runbook"},
|
|
147
|
+
ingestion_timestamp=(datetime.utcnow() - timedelta(days=30)).isoformat()
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
def demo_pragmatic_truth():
|
|
152
|
+
"""Demonstrate the Pragmatic Truth feature."""
|
|
153
|
+
print("=" * 80)
|
|
154
|
+
print("DEMO: Pragmatic Truth (Real > Official)")
|
|
155
|
+
print("=" * 80)
|
|
156
|
+
print()
|
|
157
|
+
print("Scenario: API Rate Limits")
|
|
158
|
+
print("-" * 80)
|
|
159
|
+
print("Official docs say: 100 requests/minute")
|
|
160
|
+
print("Team experience shows: Crashes after 50 requests/minute")
|
|
161
|
+
print()
|
|
162
|
+
print("The system should present BOTH with proper citations.")
|
|
163
|
+
print("=" * 80)
|
|
164
|
+
print()
|
|
165
|
+
|
|
166
|
+
# Create document store
|
|
167
|
+
store = DocumentStore()
|
|
168
|
+
|
|
169
|
+
# Add documents from different sources
|
|
170
|
+
print("📥 Ingesting documents from multiple sources...")
|
|
171
|
+
official_doc = create_official_api_doc()
|
|
172
|
+
store.add(official_doc)
|
|
173
|
+
print(f" ✓ Official Documentation (6 months old)")
|
|
174
|
+
|
|
175
|
+
slack_doc = create_slack_conversation()
|
|
176
|
+
store.add(slack_doc)
|
|
177
|
+
print(f" ✓ Slack Conversation (2 days old)")
|
|
178
|
+
|
|
179
|
+
runbook_doc = create_runbook()
|
|
180
|
+
store.add(runbook_doc)
|
|
181
|
+
print(f" ✓ Production Runbook (1 month old)")
|
|
182
|
+
print()
|
|
183
|
+
|
|
184
|
+
# Scenario 1: Extract from official docs only
|
|
185
|
+
print("=" * 80)
|
|
186
|
+
print("Scenario 1: Query Official Documentation Only")
|
|
187
|
+
print("=" * 80)
|
|
188
|
+
extractor = ContextExtractor(
|
|
189
|
+
store,
|
|
190
|
+
enrich_metadata=False,
|
|
191
|
+
enable_citations=True,
|
|
192
|
+
detect_conflicts=False
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
context, metadata = extractor.extract_context(
|
|
196
|
+
official_doc.id,
|
|
197
|
+
query="rate limit",
|
|
198
|
+
max_tokens=1000
|
|
199
|
+
)
|
|
200
|
+
|
|
201
|
+
print("RESPONSE:")
|
|
202
|
+
print("-" * 80)
|
|
203
|
+
print(context)
|
|
204
|
+
print()
|
|
205
|
+
|
|
206
|
+
# Scenario 2: Query with conflict detection across all sources
|
|
207
|
+
print("=" * 80)
|
|
208
|
+
print("Scenario 2: Search Across All Sources (with Time Decay & Conflict Detection)")
|
|
209
|
+
print("=" * 80)
|
|
210
|
+
|
|
211
|
+
# Search for relevant documents
|
|
212
|
+
results = store.search("rate limit", enable_time_decay=True)
|
|
213
|
+
print(f"Found {len(results)} relevant documents:")
|
|
214
|
+
for doc in results:
|
|
215
|
+
decay = doc.metadata.get('_decay_factor', 1.0)
|
|
216
|
+
score = doc.metadata.get('_search_score', 0)
|
|
217
|
+
print(f" - {doc.title}")
|
|
218
|
+
print(f" Score: {score:.3f}, Decay Factor: {decay:.3f}")
|
|
219
|
+
print()
|
|
220
|
+
|
|
221
|
+
# Extract context from most recent (Slack conversation)
|
|
222
|
+
if results:
|
|
223
|
+
most_recent_doc = results[0] # Time decay ensures recent docs rank higher
|
|
224
|
+
extractor_with_conflicts = ContextExtractor(
|
|
225
|
+
store,
|
|
226
|
+
enrich_metadata=False,
|
|
227
|
+
enable_citations=True,
|
|
228
|
+
detect_conflicts=True
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
# Temporarily combine sections from all docs for conflict detection
|
|
232
|
+
# In a real system, you'd have a multi-document context extractor
|
|
233
|
+
combined_sections = []
|
|
234
|
+
for doc in results[:2]: # Top 2 docs
|
|
235
|
+
combined_sections.extend(doc.sections)
|
|
236
|
+
|
|
237
|
+
context, metadata = extractor_with_conflicts.extract_context(
|
|
238
|
+
most_recent_doc.id,
|
|
239
|
+
query="rate limit",
|
|
240
|
+
max_tokens=2000
|
|
241
|
+
)
|
|
242
|
+
|
|
243
|
+
print("RESPONSE WITH PRAGMATIC TRUTH:")
|
|
244
|
+
print("-" * 80)
|
|
245
|
+
print(context)
|
|
246
|
+
print()
|
|
247
|
+
|
|
248
|
+
# Scenario 3: Show how AI should respond
|
|
249
|
+
print("=" * 80)
|
|
250
|
+
print("Scenario 3: Ideal AI Response (Pragmatic Truth)")
|
|
251
|
+
print("=" * 80)
|
|
252
|
+
print()
|
|
253
|
+
print("🤖 AI Response:")
|
|
254
|
+
print("-" * 80)
|
|
255
|
+
print("""
|
|
256
|
+
**Rate Limit Information**
|
|
257
|
+
|
|
258
|
+
📖 **Official Documentation says:**
|
|
259
|
+
The API limit is 100 requests per minute per API key, as documented in the
|
|
260
|
+
official specification.
|
|
261
|
+
Source: [Official Docs] API Documentation v2.1 (2023-07-08) <https://api.example.com/docs/rate-limits>
|
|
262
|
+
|
|
263
|
+
🔧 **However, team experience shows:**
|
|
264
|
+
The API actually crashes after about 50 requests per minute in production, not 100.
|
|
265
|
+
This has been observed multiple times and confirmed by the engineering team.
|
|
266
|
+
Source: [Team Chat] Slack #engineering (2024-01-02) <slack://channel/engineering/msg456789>
|
|
267
|
+
|
|
268
|
+
💡 **Recommendation:**
|
|
269
|
+
Use 50 requests/minute as your practical limit, not the official 100. The official
|
|
270
|
+
documentation may be outdated or optimistic. The production runbook also recommends
|
|
271
|
+
staying under 50/min for reliable operation.
|
|
272
|
+
|
|
273
|
+
**Why trust the practical limit?**
|
|
274
|
+
1. Recent observations (2 days ago) vs old docs (6 months ago)
|
|
275
|
+
2. Multiple engineers confirmed the issue
|
|
276
|
+
3. Production runbook updated to reflect reality
|
|
277
|
+
4. Time-based decay prioritizes recent practical experience
|
|
278
|
+
|
|
279
|
+
**Action Items:**
|
|
280
|
+
- Configure your client with a 45-50 req/min limit
|
|
281
|
+
- Implement circuit breaker pattern
|
|
282
|
+
- Monitor ticket #3421 for backend fix
|
|
283
|
+
""")
|
|
284
|
+
print("-" * 80)
|
|
285
|
+
print()
|
|
286
|
+
|
|
287
|
+
print("=" * 80)
|
|
288
|
+
print("✅ Demo Complete!")
|
|
289
|
+
print("=" * 80)
|
|
290
|
+
print()
|
|
291
|
+
print("Key Takeaways:")
|
|
292
|
+
print(" 1. ✓ System tracks source types (official, chat, logs, etc.)")
|
|
293
|
+
print(" 2. ✓ Citations are transparent and include timestamps")
|
|
294
|
+
print(" 3. ✓ Conflicts are detected and presented clearly")
|
|
295
|
+
print(" 4. ✓ Time decay prioritizes recent information")
|
|
296
|
+
print(" 5. ✓ Both perspectives are shown with recommendations")
|
|
297
|
+
print()
|
|
298
|
+
print("This is Pragmatic Truth: Real > Official, but with full transparency.")
|
|
299
|
+
print("=" * 80)
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
if __name__ == "__main__":
|
|
303
|
+
demo_pragmatic_truth()
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Demo script showcasing Structure-Aware Indexing.
|
|
3
|
+
|
|
4
|
+
This demonstrates how the system prioritizes high-value content
|
|
5
|
+
(Tier 1) over low-value content (Tier 3) even when semantic
|
|
6
|
+
similarity is the same.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import uuid
|
|
10
|
+
from caas.models import ContentFormat
|
|
11
|
+
from caas.ingestion import ProcessorFactory
|
|
12
|
+
from caas.detection import DocumentTypeDetector
|
|
13
|
+
from caas.tuning import WeightTuner
|
|
14
|
+
from caas.storage import DocumentStore, ContextExtractor
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def demo_structure_aware_indexing():
|
|
18
|
+
"""
|
|
19
|
+
Demonstrate the 'Flat Chunk Fallacy' solution.
|
|
20
|
+
|
|
21
|
+
Shows how structure-aware indexing assigns different weights to
|
|
22
|
+
content based on hierarchical importance, not just semantic similarity.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
print("=" * 70)
|
|
26
|
+
print("Structure-Aware Indexing Demo")
|
|
27
|
+
print("Solving the 'Flat Chunk Fallacy'")
|
|
28
|
+
print("=" * 70)
|
|
29
|
+
print()
|
|
30
|
+
|
|
31
|
+
# Create a source code document with different tier content
|
|
32
|
+
print("Creating a Python authentication module...")
|
|
33
|
+
code_content = b"""
|
|
34
|
+
# Copyright 2024 - All rights reserved
|
|
35
|
+
# This is example code for demonstration purposes
|
|
36
|
+
|
|
37
|
+
class Authentication:
|
|
38
|
+
'''
|
|
39
|
+
Main authentication class that handles user login.
|
|
40
|
+
This is the primary API contract for authentication services.
|
|
41
|
+
'''
|
|
42
|
+
|
|
43
|
+
def login(self, username: str, password: str) -> bool:
|
|
44
|
+
'''Authenticate user with credentials.'''
|
|
45
|
+
# TODO: Add rate limiting
|
|
46
|
+
# FIXME: Improve password hashing
|
|
47
|
+
return self._verify_credentials(username, password)
|
|
48
|
+
|
|
49
|
+
def _verify_credentials(self, username: str, password: str) -> bool:
|
|
50
|
+
'''Internal helper to verify user credentials.'''
|
|
51
|
+
# Implementation details here
|
|
52
|
+
return True
|
|
53
|
+
|
|
54
|
+
# NOTE: This is a simplified example
|
|
55
|
+
# Disclaimer: Not production-ready code
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
# Process the document
|
|
59
|
+
processor = ProcessorFactory.get_processor(ContentFormat.CODE)
|
|
60
|
+
doc_id = str(uuid.uuid4())
|
|
61
|
+
metadata = {"id": doc_id, "title": "Authentication Module", "language": "python"}
|
|
62
|
+
document = processor.process(code_content, metadata)
|
|
63
|
+
|
|
64
|
+
# Detect type and tune weights
|
|
65
|
+
detector = DocumentTypeDetector()
|
|
66
|
+
document.detected_type = detector.detect(document)
|
|
67
|
+
|
|
68
|
+
tuner = WeightTuner()
|
|
69
|
+
document = tuner.tune(document)
|
|
70
|
+
|
|
71
|
+
print(f"✓ Processed: {document.title}")
|
|
72
|
+
print(f"✓ Document Type: {document.detected_type}")
|
|
73
|
+
print(f"✓ Found {len(document.sections)} sections\n")
|
|
74
|
+
|
|
75
|
+
# Show tier classifications and weights
|
|
76
|
+
print("=" * 70)
|
|
77
|
+
print("Section Analysis (with Tier Classification)")
|
|
78
|
+
print("=" * 70)
|
|
79
|
+
|
|
80
|
+
for section in sorted(document.sections, key=lambda s: s.weight, reverse=True):
|
|
81
|
+
tier_name = section.tier.value if section.tier else "unknown"
|
|
82
|
+
tier_label = {
|
|
83
|
+
"tier_1_high": "Tier 1 (HIGH VALUE)",
|
|
84
|
+
"tier_2_medium": "Tier 2 (MEDIUM VALUE)",
|
|
85
|
+
"tier_3_low": "Tier 3 (LOW VALUE)"
|
|
86
|
+
}.get(tier_name, "Unknown")
|
|
87
|
+
|
|
88
|
+
print(f"\n{section.title}")
|
|
89
|
+
print(f" Classification: {tier_label}")
|
|
90
|
+
print(f" Weight: {section.weight}x")
|
|
91
|
+
print(f" Content Preview: {section.content[:80]}...")
|
|
92
|
+
|
|
93
|
+
print("\n" + "=" * 70)
|
|
94
|
+
print("Key Insight: The 'Flat Chunk Fallacy' Solution")
|
|
95
|
+
print("=" * 70)
|
|
96
|
+
print()
|
|
97
|
+
print("❌ OLD APPROACH (Flat Chunks):")
|
|
98
|
+
print(" All sections treated equally → Poor search results")
|
|
99
|
+
print(" Comment 'TODO: Add rate limiting' = Class 'Authentication'")
|
|
100
|
+
print()
|
|
101
|
+
print("✅ NEW APPROACH (Structure-Aware):")
|
|
102
|
+
print(" Content weighted by hierarchical importance")
|
|
103
|
+
print(f" Class Definition (Tier 1): {max(s.weight for s in document.sections if 'class' in s.title.lower())}x weight")
|
|
104
|
+
print(f" Comments (Tier 3): Would get ~0.5x weight")
|
|
105
|
+
print()
|
|
106
|
+
print("Result: Class definitions are prioritized 4-8x over comments,")
|
|
107
|
+
print(" even if they mention the same keywords!")
|
|
108
|
+
print("=" * 70)
|
|
109
|
+
|
|
110
|
+
# Store and demonstrate retrieval
|
|
111
|
+
store = DocumentStore()
|
|
112
|
+
store.add(document)
|
|
113
|
+
|
|
114
|
+
extractor = ContextExtractor(store)
|
|
115
|
+
context, metadata_result = extractor.extract_context(
|
|
116
|
+
doc_id,
|
|
117
|
+
query="authentication",
|
|
118
|
+
max_tokens=500
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
print("\nContext Extraction (query: 'authentication')")
|
|
122
|
+
print("=" * 70)
|
|
123
|
+
print(f"Sections used (in order): {metadata_result['sections_used']}")
|
|
124
|
+
print(f"\nExtracted Context:\n{context[:400]}...")
|
|
125
|
+
|
|
126
|
+
print("\n" + "=" * 70)
|
|
127
|
+
print("✅ Demo Complete!")
|
|
128
|
+
print("=" * 70)
|
|
129
|
+
print()
|
|
130
|
+
print("Summary:")
|
|
131
|
+
print("- Class definitions (Tier 1) get 2.0x base weight")
|
|
132
|
+
print("- Function implementations (Tier 2) get 1.0x base weight")
|
|
133
|
+
print("- Comments and TODOs (Tier 3) get 0.5x base weight")
|
|
134
|
+
print("- Retrieval prioritizes high-tier content automatically")
|
|
135
|
+
print("- No manual configuration needed!")
|
|
136
|
+
print()
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
if __name__ == "__main__":
|
|
140
|
+
demo_structure_aware_indexing()
|