agent-os-kernel 1.1.0__py3-none-any.whl → 1.2.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.2.0.dist-info/METADATA +676 -0
- agent_os_kernel-1.2.0.dist-info/RECORD +1053 -0
- {agent_os_kernel-1.1.0.dist-info → agent_os_kernel-1.2.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.2.0.dist-info}/WHEEL +0 -0
- {agent_os_kernel-1.1.0.dist-info → agent_os_kernel-1.2.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,572 @@
|
|
|
1
|
+
# LangChain Integration Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The SCAK LangChain integration provides three core components that enable self-correcting capabilities for LangChain agents:
|
|
6
|
+
|
|
7
|
+
1. **SCAKMemory**: Dynamic memory adapter for SCAK's 3-Tier memory hierarchy
|
|
8
|
+
2. **SCAKCallbackHandler**: Background auditor for detecting agent "laziness"
|
|
9
|
+
3. **SelfCorrectingRunnable**: Runtime guard for automatic failure handling
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Install SCAK with LangChain support
|
|
15
|
+
pip install scak[langchain]
|
|
16
|
+
|
|
17
|
+
# Or install dependencies separately
|
|
18
|
+
pip install scak langchain langchain-core
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Quick Start
|
|
22
|
+
|
|
23
|
+
### Basic Integration (5 lines of code)
|
|
24
|
+
|
|
25
|
+
Add SCAK monitoring to an existing LangChain agent:
|
|
26
|
+
|
|
27
|
+
```python
|
|
28
|
+
from langchain.agents import AgentExecutor
|
|
29
|
+
from scak.integrations.langchain import SCAKCallbackHandler
|
|
30
|
+
|
|
31
|
+
# Your existing agent
|
|
32
|
+
agent_executor = AgentExecutor(agent=agent, tools=tools)
|
|
33
|
+
|
|
34
|
+
# Add SCAK monitoring
|
|
35
|
+
scak_handler = SCAKCallbackHandler()
|
|
36
|
+
agent_executor = AgentExecutor(
|
|
37
|
+
agent=agent,
|
|
38
|
+
tools=tools,
|
|
39
|
+
callbacks=[scak_handler] # Just add this line!
|
|
40
|
+
)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Full Integration
|
|
44
|
+
|
|
45
|
+
For maximum reliability, use all SCAK components:
|
|
46
|
+
|
|
47
|
+
```python
|
|
48
|
+
from langchain.agents import AgentExecutor, create_openai_tools_agent
|
|
49
|
+
from langchain_openai import ChatOpenAI
|
|
50
|
+
from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder
|
|
51
|
+
from scak.integrations.langchain import (
|
|
52
|
+
SCAKMemory,
|
|
53
|
+
SCAKCallbackHandler,
|
|
54
|
+
SelfCorrectingRunnable
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
# 1. Initialize SCAK components
|
|
58
|
+
scak_memory = SCAKMemory()
|
|
59
|
+
scak_handler = SCAKCallbackHandler()
|
|
60
|
+
|
|
61
|
+
# 2. Create prompt with memory placeholder
|
|
62
|
+
prompt = ChatPromptTemplate.from_messages([
|
|
63
|
+
("system", "{system_patch}\n\nYou are a helpful assistant."),
|
|
64
|
+
MessagesPlaceholder(variable_name="history"),
|
|
65
|
+
("user", "{input}"),
|
|
66
|
+
MessagesPlaceholder(variable_name="agent_scratchpad"),
|
|
67
|
+
])
|
|
68
|
+
|
|
69
|
+
# 3. Create agent
|
|
70
|
+
llm = ChatOpenAI(model="gpt-4o")
|
|
71
|
+
agent = create_openai_tools_agent(llm, tools, prompt)
|
|
72
|
+
|
|
73
|
+
# 4. Create executor with SCAK
|
|
74
|
+
agent_executor = AgentExecutor(
|
|
75
|
+
agent=agent,
|
|
76
|
+
tools=tools,
|
|
77
|
+
memory=scak_memory,
|
|
78
|
+
callbacks=[scak_handler],
|
|
79
|
+
verbose=True
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
# 5. Wrap with self-correction
|
|
83
|
+
correcting_agent = SelfCorrectingRunnable(agent_executor)
|
|
84
|
+
|
|
85
|
+
# 6. Use normally
|
|
86
|
+
result = correcting_agent.invoke({"input": "Find error logs"})
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Convenience Function
|
|
90
|
+
|
|
91
|
+
The quickest way to add SCAK:
|
|
92
|
+
|
|
93
|
+
```python
|
|
94
|
+
from scak.integrations.langchain import create_scak_agent
|
|
95
|
+
|
|
96
|
+
# Your base agent
|
|
97
|
+
base_agent = AgentExecutor(agent=agent, tools=tools)
|
|
98
|
+
|
|
99
|
+
# Add SCAK in one line
|
|
100
|
+
scak_agent = create_scak_agent(base_agent)
|
|
101
|
+
|
|
102
|
+
# Use normally
|
|
103
|
+
result = scak_agent.invoke({"input": "Do something"})
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Component Details
|
|
107
|
+
|
|
108
|
+
### 1. SCAKMemory
|
|
109
|
+
|
|
110
|
+
Dynamic memory adapter that implements SCAK's 3-Tier hierarchy:
|
|
111
|
+
|
|
112
|
+
- **Tier 1 (Kernel)**: Safety-critical rules always active
|
|
113
|
+
- **Tier 2 (Skill Cache)**: Tool-specific rules injected conditionally
|
|
114
|
+
- **Tier 3 (Archive)**: Long-tail wisdom retrieved on-demand
|
|
115
|
+
|
|
116
|
+
**Key Features:**
|
|
117
|
+
- Reduces context size by 40-60% compared to naive memory
|
|
118
|
+
- Only injects relevant rules based on active tools
|
|
119
|
+
- Semantic search for complex queries
|
|
120
|
+
- Compatible with LangChain's `BaseMemory` interface
|
|
121
|
+
|
|
122
|
+
**Usage:**
|
|
123
|
+
|
|
124
|
+
```python
|
|
125
|
+
from scak.integrations.langchain import SCAKMemory
|
|
126
|
+
|
|
127
|
+
# Initialize
|
|
128
|
+
memory = SCAKMemory()
|
|
129
|
+
|
|
130
|
+
# Use in prompt
|
|
131
|
+
prompt = ChatPromptTemplate.from_messages([
|
|
132
|
+
("system", "{system_patch}"), # Dynamic context injected here
|
|
133
|
+
MessagesPlaceholder(variable_name="history"),
|
|
134
|
+
("user", "{input}"),
|
|
135
|
+
])
|
|
136
|
+
|
|
137
|
+
# Use in agent
|
|
138
|
+
agent_executor = AgentExecutor(
|
|
139
|
+
agent=agent,
|
|
140
|
+
tools=tools,
|
|
141
|
+
memory=memory # SCAK memory
|
|
142
|
+
)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Configuration:**
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
from src.kernel.memory import MemoryController
|
|
149
|
+
|
|
150
|
+
# Customize memory controller
|
|
151
|
+
controller = MemoryController(
|
|
152
|
+
vector_store=my_vector_db,
|
|
153
|
+
redis_cache=my_redis_client
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
memory = SCAKMemory(
|
|
157
|
+
controller=controller,
|
|
158
|
+
memory_key="chat_history",
|
|
159
|
+
system_patch_key="system_context"
|
|
160
|
+
)
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 2. SCAKCallbackHandler
|
|
164
|
+
|
|
165
|
+
Background auditor that detects agent "laziness" using differential auditing.
|
|
166
|
+
|
|
167
|
+
**Key Features:**
|
|
168
|
+
- Detects "give-up signals" (e.g., "No data found", "Cannot answer")
|
|
169
|
+
- Triggers Shadow Teacher audits asynchronously (non-blocking)
|
|
170
|
+
- Audits only 5-10% of interactions (differential auditing)
|
|
171
|
+
- Emits structured telemetry for offline analysis
|
|
172
|
+
|
|
173
|
+
**Usage:**
|
|
174
|
+
|
|
175
|
+
```python
|
|
176
|
+
from scak.integrations.langchain import SCAKCallbackHandler
|
|
177
|
+
|
|
178
|
+
# Initialize
|
|
179
|
+
handler = SCAKCallbackHandler(agent_id="my_agent")
|
|
180
|
+
|
|
181
|
+
# Add to agent
|
|
182
|
+
agent_executor = AgentExecutor(
|
|
183
|
+
agent=agent,
|
|
184
|
+
tools=tools,
|
|
185
|
+
callbacks=[handler]
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
# Check statistics
|
|
189
|
+
print(f"Give-up signals detected: {handler.give_up_count}")
|
|
190
|
+
print(f"Audits triggered: {handler.audit_count}")
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Detected Give-Up Signals:**
|
|
194
|
+
- "no data found"
|
|
195
|
+
- "cannot answer"
|
|
196
|
+
- "no results"
|
|
197
|
+
- "not available"
|
|
198
|
+
- "insufficient info"
|
|
199
|
+
- "i couldn't find"
|
|
200
|
+
- "i was unable to"
|
|
201
|
+
|
|
202
|
+
**Configuration:**
|
|
203
|
+
|
|
204
|
+
```python
|
|
205
|
+
from src.kernel.auditor import CompletenessAuditor
|
|
206
|
+
|
|
207
|
+
# Customize auditor
|
|
208
|
+
auditor = CompletenessAuditor(teacher_model="o1-preview")
|
|
209
|
+
|
|
210
|
+
handler = SCAKCallbackHandler(
|
|
211
|
+
auditor=auditor,
|
|
212
|
+
agent_id="production_agent"
|
|
213
|
+
)
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### 3. SelfCorrectingRunnable
|
|
217
|
+
|
|
218
|
+
Runtime guard that intercepts failures and applies corrections automatically.
|
|
219
|
+
|
|
220
|
+
**Key Features:**
|
|
221
|
+
- Transparent wrapping (works with any `Runnable`)
|
|
222
|
+
- Smart triage: SYNC_JIT for critical, ASYNC_BATCH for non-critical
|
|
223
|
+
- Auto-retry with corrected context
|
|
224
|
+
- Structured telemetry for all corrections
|
|
225
|
+
|
|
226
|
+
**Usage:**
|
|
227
|
+
|
|
228
|
+
```python
|
|
229
|
+
from scak.integrations.langchain import SelfCorrectingRunnable
|
|
230
|
+
|
|
231
|
+
# Wrap your agent
|
|
232
|
+
base_agent = AgentExecutor(agent=agent, tools=tools)
|
|
233
|
+
correcting_agent = SelfCorrectingRunnable(base_agent)
|
|
234
|
+
|
|
235
|
+
# Use normally - failures are handled automatically
|
|
236
|
+
result = correcting_agent.invoke({"input": "Do something risky"})
|
|
237
|
+
|
|
238
|
+
# Check statistics
|
|
239
|
+
print(f"Failures detected: {correcting_agent.failure_count}")
|
|
240
|
+
print(f"Auto-corrections: {correcting_agent.correction_count}")
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**Correction Strategies:**
|
|
244
|
+
|
|
245
|
+
The triage engine decides between two strategies:
|
|
246
|
+
|
|
247
|
+
1. **SYNC_JIT** (Synchronous, Just-In-Time):
|
|
248
|
+
- For critical operations (delete, payment, etc.)
|
|
249
|
+
- Blocks user while correction is applied
|
|
250
|
+
- Retries immediately with corrected context
|
|
251
|
+
|
|
252
|
+
2. **ASYNC_BATCH** (Asynchronous, Background):
|
|
253
|
+
- For non-critical operations (read, query, etc.)
|
|
254
|
+
- Returns error quickly to user
|
|
255
|
+
- Queues for background correction
|
|
256
|
+
|
|
257
|
+
**Configuration:**
|
|
258
|
+
|
|
259
|
+
```python
|
|
260
|
+
from src.kernel.triage import FailureTriage
|
|
261
|
+
from src.kernel.patcher import AgentPatcher
|
|
262
|
+
|
|
263
|
+
# Customize triage
|
|
264
|
+
triage = FailureTriage(config={
|
|
265
|
+
"critical_tools": ["delete_user", "process_payment"],
|
|
266
|
+
"high_effort_keywords": ["critical", "urgent", "must"]
|
|
267
|
+
})
|
|
268
|
+
|
|
269
|
+
# Customize patcher
|
|
270
|
+
patcher = AgentPatcher()
|
|
271
|
+
|
|
272
|
+
# Create runnable
|
|
273
|
+
correcting_agent = SelfCorrectingRunnable(
|
|
274
|
+
agent=base_agent,
|
|
275
|
+
triage=triage,
|
|
276
|
+
patcher=patcher,
|
|
277
|
+
agent_id="production_agent"
|
|
278
|
+
)
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Architecture
|
|
282
|
+
|
|
283
|
+
### Dual-Loop Architecture
|
|
284
|
+
|
|
285
|
+
SCAK implements a two-loop architecture aligned with LangChain's execution model:
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
289
|
+
│ LangChain Agent │
|
|
290
|
+
├─────────────────────────────────────────────────────────────┤
|
|
291
|
+
│ │
|
|
292
|
+
│ ┌──────────────────────────────────────────────────────┐ │
|
|
293
|
+
│ │ Loop 1: Runtime Safety (SelfCorrectingRunnable) │ │
|
|
294
|
+
│ │ │ │
|
|
295
|
+
│ │ User Input → Triage → Execute → Error? │ │
|
|
296
|
+
│ │ ↓ ↓ │ │
|
|
297
|
+
│ │ SYNC_JIT Apply Patch → Retry │ │
|
|
298
|
+
│ │ ASYNC_BATCH Queue → Background │ │
|
|
299
|
+
│ └──────────────────────────────────────────────────────┘ │
|
|
300
|
+
│ │
|
|
301
|
+
│ ┌──────────────────────────────────────────────────────┐ │
|
|
302
|
+
│ │ Loop 2: Quality/Efficiency (SCAKCallbackHandler) │ │
|
|
303
|
+
│ │ │ │
|
|
304
|
+
│ │ Agent Finish → Give-up Signal? → Shadow Teacher │ │
|
|
305
|
+
│ │ ↓ ↓ │ │
|
|
306
|
+
│ │ Audit Async Generate Patch │ │
|
|
307
|
+
│ └──────────────────────────────────────────────────────┘ │
|
|
308
|
+
│ │
|
|
309
|
+
│ ┌──────────────────────────────────────────────────────┐ │
|
|
310
|
+
│ │ Memory: 3-Tier Hierarchy (SCAKMemory) │ │
|
|
311
|
+
│ │ │ │
|
|
312
|
+
│ │ Tier 1: Kernel (Always Active) │ │
|
|
313
|
+
│ │ Tier 2: Skill Cache (Conditional) │ │
|
|
314
|
+
│ │ Tier 3: Archive (On-Demand) │ │
|
|
315
|
+
│ └──────────────────────────────────────────────────────┘ │
|
|
316
|
+
│ │
|
|
317
|
+
└─────────────────────────────────────────────────────────────┘
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Integration Points
|
|
321
|
+
|
|
322
|
+
| SCAK Component | LangChain Equivalent | Integration Method |
|
|
323
|
+
|----------------|---------------------|-------------------|
|
|
324
|
+
| Loop 2: Alignment | `BaseCallbackHandler` | `SCAKCallbackHandler` listens to `on_agent_finish` |
|
|
325
|
+
| Memory Hierarchy | `BaseChatMemory` | `SCAKMemory` implements `load_memory_variables` |
|
|
326
|
+
| Loop 1: Runtime | `RunnableBinding` | `SelfCorrectingRunnable` wraps agent execution |
|
|
327
|
+
|
|
328
|
+
## Best Practices
|
|
329
|
+
|
|
330
|
+
### 1. Start with Monitoring Only
|
|
331
|
+
|
|
332
|
+
Begin by adding just the `SCAKCallbackHandler` to observe agent behavior:
|
|
333
|
+
|
|
334
|
+
```python
|
|
335
|
+
# Phase 1: Observe
|
|
336
|
+
handler = SCAKCallbackHandler()
|
|
337
|
+
agent_executor = AgentExecutor(
|
|
338
|
+
agent=agent,
|
|
339
|
+
tools=tools,
|
|
340
|
+
callbacks=[handler]
|
|
341
|
+
)
|
|
342
|
+
|
|
343
|
+
# Run for a week and analyze telemetry
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### 2. Add Memory for Context Efficiency
|
|
347
|
+
|
|
348
|
+
Once you understand the patterns, add `SCAKMemory` to reduce context size:
|
|
349
|
+
|
|
350
|
+
```python
|
|
351
|
+
# Phase 2: Optimize context
|
|
352
|
+
memory = SCAKMemory()
|
|
353
|
+
agent_executor = AgentExecutor(
|
|
354
|
+
agent=agent,
|
|
355
|
+
tools=tools,
|
|
356
|
+
memory=memory,
|
|
357
|
+
callbacks=[handler]
|
|
358
|
+
)
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
### 3. Enable Self-Correction for Production
|
|
362
|
+
|
|
363
|
+
Finally, wrap with `SelfCorrectingRunnable` for full reliability:
|
|
364
|
+
|
|
365
|
+
```python
|
|
366
|
+
# Phase 3: Self-healing
|
|
367
|
+
correcting_agent = SelfCorrectingRunnable(agent_executor)
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### 4. Monitor Telemetry
|
|
371
|
+
|
|
372
|
+
SCAK emits structured JSON logs. Aggregate them for insights:
|
|
373
|
+
|
|
374
|
+
```python
|
|
375
|
+
import json
|
|
376
|
+
import logging
|
|
377
|
+
|
|
378
|
+
# Configure logging
|
|
379
|
+
logging.basicConfig(
|
|
380
|
+
level=logging.INFO,
|
|
381
|
+
format='%(message)s'
|
|
382
|
+
)
|
|
383
|
+
|
|
384
|
+
# Telemetry will be emitted as JSON
|
|
385
|
+
# Parse with your log aggregation tool (CloudWatch, Datadog, etc.)
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### 5. Customize for Your Domain
|
|
389
|
+
|
|
390
|
+
Configure components based on your specific needs:
|
|
391
|
+
|
|
392
|
+
```python
|
|
393
|
+
# Define critical tools for your domain
|
|
394
|
+
triage = FailureTriage(config={
|
|
395
|
+
"critical_tools": [
|
|
396
|
+
"process_payment",
|
|
397
|
+
"delete_user",
|
|
398
|
+
"modify_database"
|
|
399
|
+
]
|
|
400
|
+
})
|
|
401
|
+
|
|
402
|
+
# Use stronger teacher model
|
|
403
|
+
auditor = CompletenessAuditor(teacher_model="o1-preview")
|
|
404
|
+
|
|
405
|
+
# Create custom memory tiers
|
|
406
|
+
from src.kernel.schemas import Lesson, MemoryTier, PatchRequest
|
|
407
|
+
|
|
408
|
+
# Add domain-specific kernel rules
|
|
409
|
+
controller = MemoryController()
|
|
410
|
+
# ... add your rules
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
## Performance Considerations
|
|
414
|
+
|
|
415
|
+
### Latency Impact
|
|
416
|
+
|
|
417
|
+
| Component | Added Latency | When |
|
|
418
|
+
|-----------|--------------|------|
|
|
419
|
+
| SCAKMemory | ~10-50ms | Per request (memory load) |
|
|
420
|
+
| SCAKCallbackHandler | ~0ms | Per request (async audit) |
|
|
421
|
+
| SelfCorrectingRunnable | ~0ms | Success case |
|
|
422
|
+
| SelfCorrectingRunnable | +50-500ms | SYNC_JIT correction |
|
|
423
|
+
|
|
424
|
+
### Cost Optimization
|
|
425
|
+
|
|
426
|
+
- **Differential Auditing**: Only 5-10% of interactions trigger expensive Shadow Teacher
|
|
427
|
+
- **Conditional Injection**: Tier 2 rules only loaded when tools are active
|
|
428
|
+
- **Semantic Purge**: Type A patches purged on model upgrade (40-60% reduction)
|
|
429
|
+
|
|
430
|
+
## Troubleshooting
|
|
431
|
+
|
|
432
|
+
### LangChain Import Errors
|
|
433
|
+
|
|
434
|
+
```python
|
|
435
|
+
# If you get: ImportError: cannot import name 'BaseMemory'
|
|
436
|
+
# Install langchain-core:
|
|
437
|
+
pip install langchain-core
|
|
438
|
+
|
|
439
|
+
# If you get: No module named 'langchain'
|
|
440
|
+
# Install langchain:
|
|
441
|
+
pip install langchain
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Memory Not Working
|
|
445
|
+
|
|
446
|
+
```python
|
|
447
|
+
# Ensure your prompt includes the memory placeholders:
|
|
448
|
+
prompt = ChatPromptTemplate.from_messages([
|
|
449
|
+
("system", "{system_patch}"), # Required for SCAK context
|
|
450
|
+
MessagesPlaceholder(variable_name="history"), # Required for chat history
|
|
451
|
+
("user", "{input}"),
|
|
452
|
+
])
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### Callbacks Not Firing
|
|
456
|
+
|
|
457
|
+
```python
|
|
458
|
+
# Ensure callbacks are passed to invoke():
|
|
459
|
+
result = agent_executor.invoke(
|
|
460
|
+
{"input": "Do something"},
|
|
461
|
+
config={"callbacks": [scak_handler]} # Pass here if not in constructor
|
|
462
|
+
)
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
### Self-Correction Not Working
|
|
466
|
+
|
|
467
|
+
```python
|
|
468
|
+
# Check if errors are being caught:
|
|
469
|
+
try:
|
|
470
|
+
result = correcting_agent.invoke({"input": "..."})
|
|
471
|
+
except Exception as e:
|
|
472
|
+
# If error propagates, check triage config
|
|
473
|
+
print(f"Triage decision: {correcting_agent.triage.decide_strategy(...)}")
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
## Examples
|
|
477
|
+
|
|
478
|
+
See `examples/langchain_integration_example.py` for complete working examples:
|
|
479
|
+
|
|
480
|
+
1. Basic Integration
|
|
481
|
+
2. Full Integration (all components)
|
|
482
|
+
3. Convenience Function
|
|
483
|
+
|
|
484
|
+
Run with:
|
|
485
|
+
|
|
486
|
+
```bash
|
|
487
|
+
export OPENAI_API_KEY='your-key'
|
|
488
|
+
python examples/langchain_integration_example.py
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
## API Reference
|
|
492
|
+
|
|
493
|
+
### SCAKMemory
|
|
494
|
+
|
|
495
|
+
```python
|
|
496
|
+
SCAKMemory(
|
|
497
|
+
memory_key: str = "history",
|
|
498
|
+
system_patch_key: str = "system_patch",
|
|
499
|
+
controller: Optional[MemoryController] = None,
|
|
500
|
+
return_messages: bool = True
|
|
501
|
+
)
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
**Methods:**
|
|
505
|
+
- `load_memory_variables(inputs: Dict) -> Dict`: Load memory for agent
|
|
506
|
+
- `save_context(inputs: Dict, outputs: Dict) -> None`: Save conversation
|
|
507
|
+
- `clear() -> None`: Clear chat history
|
|
508
|
+
|
|
509
|
+
### SCAKCallbackHandler
|
|
510
|
+
|
|
511
|
+
```python
|
|
512
|
+
SCAKCallbackHandler(
|
|
513
|
+
auditor: Optional[CompletenessAuditor] = None,
|
|
514
|
+
agent_id: str = "langchain_agent"
|
|
515
|
+
)
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
**Methods:**
|
|
519
|
+
- `is_give_up_signal(response: str) -> bool`: Check for give-up pattern
|
|
520
|
+
- `on_agent_finish(finish: AgentFinish, **kwargs) -> None`: Async callback
|
|
521
|
+
|
|
522
|
+
**Attributes:**
|
|
523
|
+
- `total_executions: int`: Total agent executions
|
|
524
|
+
- `give_up_count: int`: Give-up signals detected
|
|
525
|
+
- `audit_count: int`: Shadow Teacher audits triggered
|
|
526
|
+
|
|
527
|
+
### SelfCorrectingRunnable
|
|
528
|
+
|
|
529
|
+
```python
|
|
530
|
+
SelfCorrectingRunnable(
|
|
531
|
+
agent: Runnable,
|
|
532
|
+
triage: Optional[FailureTriage] = None,
|
|
533
|
+
patcher: Optional[AgentPatcher] = None,
|
|
534
|
+
agent_id: str = "langchain_agent"
|
|
535
|
+
)
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
**Methods:**
|
|
539
|
+
- `invoke(input: Dict, config: Optional[RunnableConfig]) -> Dict`: Execute agent
|
|
540
|
+
|
|
541
|
+
**Attributes:**
|
|
542
|
+
- `execution_count: int`: Total executions
|
|
543
|
+
- `failure_count: int`: Failures detected
|
|
544
|
+
- `correction_count: int`: Auto-corrections applied
|
|
545
|
+
|
|
546
|
+
### create_scak_agent
|
|
547
|
+
|
|
548
|
+
```python
|
|
549
|
+
create_scak_agent(
|
|
550
|
+
base_agent: Runnable,
|
|
551
|
+
memory: Optional[SCAKMemory] = None,
|
|
552
|
+
callback_handler: Optional[SCAKCallbackHandler] = None,
|
|
553
|
+
enable_correction: bool = True,
|
|
554
|
+
agent_id: str = "langchain_agent"
|
|
555
|
+
) -> Union[Runnable, SelfCorrectingRunnable]
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
Convenience function to wrap a base agent with SCAK components.
|
|
559
|
+
|
|
560
|
+
## Contributing
|
|
561
|
+
|
|
562
|
+
Contributions are welcome! Please see [CONTRIBUTING.md](../CONTRIBUTING.md).
|
|
563
|
+
|
|
564
|
+
## License
|
|
565
|
+
|
|
566
|
+
MIT License. See [LICENSE](../LICENSE).
|
|
567
|
+
|
|
568
|
+
## Support
|
|
569
|
+
|
|
570
|
+
- **Documentation**: https://github.com/imran-siddique/self-correcting-agent-kernel/wiki
|
|
571
|
+
- **Issues**: https://github.com/imran-siddique/self-correcting-agent-kernel/issues
|
|
572
|
+
- **Discussions**: https://github.com/imran-siddique/self-correcting-agent-kernel/discussions
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Self-Correcting Agent Kernel - Documentation
|
|
2
|
+
|
|
3
|
+
Welcome to the SCAK documentation. This directory contains comprehensive guides and references.
|
|
4
|
+
|
|
5
|
+
## 📚 Documentation Index
|
|
6
|
+
|
|
7
|
+
### Core Architecture
|
|
8
|
+
|
|
9
|
+
- **[Dual-Loop Architecture](./Dual-Loop-Architecture.md)** - Complete architecture overview
|
|
10
|
+
- Loop 1: Runtime Safety (Constraint Engine)
|
|
11
|
+
- Loop 2: Offline Alignment (Quality & Efficiency)
|
|
12
|
+
- Completeness Auditor and Semantic Purge explained
|
|
13
|
+
|
|
14
|
+
### Feature Guides
|
|
15
|
+
|
|
16
|
+
- **[Three Failure Types](./Three-Failure-Types.md)** - Implementation guide for specific failures
|
|
17
|
+
- Tool Misuse (Schema Injection)
|
|
18
|
+
- Hallucination (RAG Patch)
|
|
19
|
+
- Policy Violation (Constitutional Update)
|
|
20
|
+
|
|
21
|
+
- **[Enhanced Features](./Enhanced-Features.md)** - Advanced features and enhancements
|
|
22
|
+
|
|
23
|
+
### Memory Management
|
|
24
|
+
|
|
25
|
+
- **[Adaptive Memory Hierarchy](./Adaptive-Memory-Hierarchy.md)** - Three-tier memory system
|
|
26
|
+
- Tier 1 (Kernel): Safety-critical rules
|
|
27
|
+
- Tier 2 (Skill Cache): Tool-specific lessons
|
|
28
|
+
- Tier 3 (Archive): Long-tail wisdom
|
|
29
|
+
|
|
30
|
+
- **[Data Contracts and Schemas](./Data-Contracts-and-Schemas.md)** - Type-safe communication
|
|
31
|
+
- Pydantic data models
|
|
32
|
+
- RLAIF export readiness
|
|
33
|
+
|
|
34
|
+
### Reference Materials
|
|
35
|
+
|
|
36
|
+
- **[Reference Implementations](./Reference-Implementations.md)** - Educational implementations
|
|
37
|
+
- Completeness Auditor (simplified)
|
|
38
|
+
- Shadow Teacher (core diagnosis)
|
|
39
|
+
- Memory Manager (lifecycle basics)
|
|
40
|
+
|
|
41
|
+
- **[Implementation Summary](./Implementation-Summary.md)** - Enhanced features implementation summary
|
|
42
|
+
- Complete overview of enhancements
|
|
43
|
+
- Testing and validation
|
|
44
|
+
- Production readiness
|
|
45
|
+
|
|
46
|
+
## 🚀 Quick Links
|
|
47
|
+
|
|
48
|
+
### Getting Started
|
|
49
|
+
- [Main README](../README.md) - Project overview and quick start
|
|
50
|
+
- [Installation Guide](../README.md#installation) - Setup instructions
|
|
51
|
+
- [Examples](../examples/) - Working code examples
|
|
52
|
+
|
|
53
|
+
### Experiments
|
|
54
|
+
- [GAIA Benchmark](../experiments/gaia_benchmark/README.md) - Laziness stress test
|
|
55
|
+
- [Chaos Engineering](../experiments/chaos_engineering/README.md) - Robustness test
|
|
56
|
+
|
|
57
|
+
## 📖 Reading Order
|
|
58
|
+
|
|
59
|
+
For new users, we recommend reading the documentation in this order:
|
|
60
|
+
|
|
61
|
+
1. **Start with**: [Main README](../README.md) - Get an overview
|
|
62
|
+
2. **Then read**: [Dual-Loop Architecture](./Dual-Loop-Architecture.md) - Understand the core design
|
|
63
|
+
3. **Deep dive**: [Enhanced Features](./Enhanced-Features.md) - Learn about advanced capabilities
|
|
64
|
+
4. **Memory systems**: [Adaptive Memory Hierarchy](./Adaptive-Memory-Hierarchy.md) - Understand three-tier memory
|
|
65
|
+
5. **Advanced memory**: [Phase 3: Memory Lifecycle](./Phase3-Memory-Lifecycle.md) - SkillMapper, Rubric, Write-Through
|
|
66
|
+
6. **Data contracts**: [Data Contracts and Schemas](./Data-Contracts-and-Schemas.md) - Type-safe communication
|
|
67
|
+
7. **Explore**: [Reference Implementations](./Reference-Implementations.md) - See simplified examples
|
|
68
|
+
8. **Specialize**: [Three Failure Types](./Three-Failure-Types.md) - Understand specific failure handling
|
|
69
|
+
|
|
70
|
+
## 🎯 Documentation by Use Case
|
|
71
|
+
|
|
72
|
+
### I want to understand...
|
|
73
|
+
|
|
74
|
+
**...how the system works:**
|
|
75
|
+
- [Dual-Loop Architecture](./Dual-Loop-Architecture.md)
|
|
76
|
+
- [Adaptive Memory Hierarchy](./Adaptive-Memory-Hierarchy.md)
|
|
77
|
+
|
|
78
|
+
**...what problems it solves:**
|
|
79
|
+
- [Dual-Loop Architecture](./Dual-Loop-Architecture.md) - Silent failures and context bloat
|
|
80
|
+
- [Enhanced Features](./Enhanced-Features.md) - False positives and competence tracking
|
|
81
|
+
|
|
82
|
+
**...how to use it:**
|
|
83
|
+
- [Main README](../README.md) - API reference and examples
|
|
84
|
+
- [Examples Directory](../examples/) - Working code samples
|
|
85
|
+
|
|
86
|
+
**...how it's implemented:**
|
|
87
|
+
- [Reference Implementations](./Reference-Implementations.md) - Simplified code
|
|
88
|
+
- [Implementation Summary](./Implementation-Summary.md) - Technical details
|
|
89
|
+
- [Data Contracts and Schemas](./Data-Contracts-and-Schemas.md) - Pydantic models
|
|
90
|
+
|
|
91
|
+
**...how memory management works:**
|
|
92
|
+
- [Adaptive Memory Hierarchy](./Adaptive-Memory-Hierarchy.md) - Three-tier system
|
|
93
|
+
- [Phase 3: Memory Lifecycle](./Phase3-Memory-Lifecycle.md) - Advanced features
|
|
94
|
+
|
|
95
|
+
**...how to handle specific failures:**
|
|
96
|
+
- [Three Failure Types](./Three-Failure-Types.md) - Tool misuse, hallucination, policy violations
|
|
97
|
+
|
|
98
|
+
## 🔬 Research & Experiments
|
|
99
|
+
|
|
100
|
+
The system is validated through real-world experiments:
|
|
101
|
+
|
|
102
|
+
- **Experiment A (GAIA)**: Proves the agent tries harder than standard GPT-4o
|
|
103
|
+
- **Experiment B (Amnesia)**: Proves "Scale by Subtraction" prevents context bloat
|
|
104
|
+
- **Experiment C (Chaos)**: Proves self-healing capability without manual intervention
|
|
105
|
+
|
|
106
|
+
See the [experiments directory](../experiments/) for details.
|
|
107
|
+
|
|
108
|
+
## 🤝 Contributing
|
|
109
|
+
|
|
110
|
+
When adding new documentation:
|
|
111
|
+
1. Place it in the appropriate section above
|
|
112
|
+
2. Update this index
|
|
113
|
+
3. Add cross-references to related documents
|
|
114
|
+
4. Follow the existing markdown style
|
|
115
|
+
|
|
116
|
+
## 📝 Documentation Standards
|
|
117
|
+
|
|
118
|
+
- Use clear, descriptive headings
|
|
119
|
+
- Include code examples where applicable
|
|
120
|
+
- Add cross-references to related documentation
|
|
121
|
+
- Keep technical accuracy high
|
|
122
|
+
- Update timestamps when making significant changes
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
**Last Updated**: 2026-01-16
|
|
127
|
+
|
|
128
|
+
**Maintained by**: Self-Correcting Agent Kernel Team
|