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,518 @@
|
|
|
1
|
+
# Enterprise Features Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This guide covers the enterprise-grade features added to the Self-Correcting Agent Kernel. These features address the three critical gaps identified in the competitive assessment:
|
|
6
|
+
|
|
7
|
+
1. **Multi-Agent Orchestration** - Full hierarchical swarms with conflict resolution
|
|
8
|
+
2. **Tool Ecosystem** - OpenAPI auto-discovery with 60+ built-in tools
|
|
9
|
+
3. **Scalability & Reliability** - Distributed execution with failover
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Multi-Agent Orchestration
|
|
14
|
+
|
|
15
|
+
### Pub-Sub Messaging
|
|
16
|
+
|
|
17
|
+
Enable asynchronous message passing between agents:
|
|
18
|
+
|
|
19
|
+
```python
|
|
20
|
+
from src.agents.pubsub import InMemoryPubSub, PubSubMessage, MessagePriority
|
|
21
|
+
|
|
22
|
+
# Create pub-sub system
|
|
23
|
+
pubsub = InMemoryPubSub()
|
|
24
|
+
|
|
25
|
+
# Define message handler
|
|
26
|
+
async def handle_message(msg: PubSubMessage):
|
|
27
|
+
print(f"Received from {msg.from_agent}: {msg.payload}")
|
|
28
|
+
|
|
29
|
+
# Subscribe to topic
|
|
30
|
+
await pubsub.subscribe("alerts", handle_message)
|
|
31
|
+
|
|
32
|
+
# Publish message
|
|
33
|
+
msg = PubSubMessage(
|
|
34
|
+
topic="alerts",
|
|
35
|
+
from_agent="agent-001",
|
|
36
|
+
payload={"alert": "System degradation detected"},
|
|
37
|
+
priority=MessagePriority.HIGH
|
|
38
|
+
)
|
|
39
|
+
await pubsub.publish("alerts", msg)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Features:**
|
|
43
|
+
- In-memory (dev) and Redis (production) backends
|
|
44
|
+
- Message history for debugging
|
|
45
|
+
- Dead-letter queues for failed deliveries
|
|
46
|
+
- Priority-based routing
|
|
47
|
+
|
|
48
|
+
### Agent Swarms
|
|
49
|
+
|
|
50
|
+
Coordinate multiple agents for collaborative tasks:
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
from src.agents.pubsub import AgentSwarm
|
|
54
|
+
|
|
55
|
+
# Create swarm
|
|
56
|
+
swarm = AgentSwarm(
|
|
57
|
+
"fraud-detection",
|
|
58
|
+
pubsub,
|
|
59
|
+
["analyst-001", "analyst-002", "analyst-003"]
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
# Broadcast to all agents
|
|
63
|
+
await swarm.broadcast(
|
|
64
|
+
"supervisor",
|
|
65
|
+
"Investigate transaction T-12345",
|
|
66
|
+
{"transaction_id": "T-12345", "risk_score": 0.87}
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
# Request consensus
|
|
70
|
+
result = await swarm.request_consensus(
|
|
71
|
+
"analyst-001",
|
|
72
|
+
"Block account due to fraud?",
|
|
73
|
+
{"confidence": 0.92},
|
|
74
|
+
required_votes=2
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
# Distribute work
|
|
78
|
+
tasks = [{"task": "analyze", "tx_id": f"T-{i}"} for i in range(10)]
|
|
79
|
+
assignments = await swarm.distribute_work(
|
|
80
|
+
"supervisor",
|
|
81
|
+
tasks,
|
|
82
|
+
strategy="round_robin"
|
|
83
|
+
)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Conflict Resolution
|
|
87
|
+
|
|
88
|
+
Resolve disagreements between agents using various voting mechanisms:
|
|
89
|
+
|
|
90
|
+
```python
|
|
91
|
+
from src.agents.conflict_resolution import (
|
|
92
|
+
ConflictResolver, AgentVote, ConflictType, VoteType
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
resolver = ConflictResolver(
|
|
96
|
+
default_vote_type=VoteType.MAJORITY,
|
|
97
|
+
supervisor_agent_id="supervisor-001"
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# Agents vote on decision
|
|
101
|
+
votes = [
|
|
102
|
+
AgentVote(
|
|
103
|
+
agent_id="expert-001",
|
|
104
|
+
option="approve",
|
|
105
|
+
confidence=0.95,
|
|
106
|
+
reasoning="Deep analysis shows approval is safe"
|
|
107
|
+
),
|
|
108
|
+
AgentVote(
|
|
109
|
+
agent_id="novice-001",
|
|
110
|
+
option="reject",
|
|
111
|
+
confidence=0.6
|
|
112
|
+
),
|
|
113
|
+
AgentVote(
|
|
114
|
+
agent_id="novice-002",
|
|
115
|
+
option="reject",
|
|
116
|
+
confidence=0.5
|
|
117
|
+
)
|
|
118
|
+
]
|
|
119
|
+
|
|
120
|
+
# Resolve using weighted voting (expertise matters)
|
|
121
|
+
resolution = await resolver.resolve_conflict(
|
|
122
|
+
"conflict-001",
|
|
123
|
+
ConflictType.DECISION,
|
|
124
|
+
votes,
|
|
125
|
+
VoteType.WEIGHTED
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
print(f"Decision: {resolution.winning_option}")
|
|
129
|
+
print(f"Consensus: {resolution.consensus_score:.1%}")
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Voting Mechanisms:**
|
|
133
|
+
- **Majority**: Simple 50%+1 majority
|
|
134
|
+
- **Supermajority**: 2/3 or 3/4 threshold
|
|
135
|
+
- **Unanimous**: All agents must agree
|
|
136
|
+
- **Weighted**: Votes weighted by confidence
|
|
137
|
+
- **Ranked-Choice**: Instant runoff voting
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 2. Tool Ecosystem
|
|
142
|
+
|
|
143
|
+
### Built-in Tools Library
|
|
144
|
+
|
|
145
|
+
60+ tools across 6 categories ready to use:
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
from src.interfaces.openapi_tools import create_builtin_tools_library
|
|
149
|
+
from src.interfaces.tool_registry import ToolRegistry
|
|
150
|
+
|
|
151
|
+
registry = ToolRegistry()
|
|
152
|
+
tools = create_builtin_tools_library()
|
|
153
|
+
|
|
154
|
+
# Register tools
|
|
155
|
+
for tool in tools:
|
|
156
|
+
registry.register_tool(tool, mock_executor)
|
|
157
|
+
|
|
158
|
+
# Execute a tool
|
|
159
|
+
result = await registry.execute_tool(
|
|
160
|
+
"text_summarize",
|
|
161
|
+
{"text": "Long document...", "max_length": 100}
|
|
162
|
+
)
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Tool Categories:**
|
|
166
|
+
- **Text Processing** (10 tools): search, summarize, translate, sentiment analysis
|
|
167
|
+
- **Data Manipulation** (10 tools): filter, sort, aggregate, pivot
|
|
168
|
+
- **File Operations** (10 tools): read, write, copy, delete
|
|
169
|
+
- **Web Interaction** (10 tools): search, fetch, scrape, download
|
|
170
|
+
- **Mathematics** (10 tools): calculate, convert units, statistics
|
|
171
|
+
- **Time/Date** (10 tools): format, parse, calculate age
|
|
172
|
+
|
|
173
|
+
### OpenAPI Auto-Discovery
|
|
174
|
+
|
|
175
|
+
Automatically generate tools from OpenAPI specifications:
|
|
176
|
+
|
|
177
|
+
```python
|
|
178
|
+
from src.interfaces.openapi_tools import OpenAPIParser
|
|
179
|
+
|
|
180
|
+
parser = OpenAPIParser()
|
|
181
|
+
|
|
182
|
+
# Parse OpenAPI spec
|
|
183
|
+
spec_yaml = """
|
|
184
|
+
openapi: 3.0.0
|
|
185
|
+
info:
|
|
186
|
+
title: My API
|
|
187
|
+
version: 1.0.0
|
|
188
|
+
paths:
|
|
189
|
+
/users:
|
|
190
|
+
get:
|
|
191
|
+
operationId: list_users
|
|
192
|
+
summary: List all users
|
|
193
|
+
responses:
|
|
194
|
+
'200':
|
|
195
|
+
description: Success
|
|
196
|
+
"""
|
|
197
|
+
|
|
198
|
+
spec = parser.parse_spec(spec_yaml, format="yaml")
|
|
199
|
+
tools = parser.extract_tools(spec, tool_prefix="myapi_")
|
|
200
|
+
|
|
201
|
+
# Register in registry
|
|
202
|
+
count = parser.register_tools_from_spec(
|
|
203
|
+
spec_yaml,
|
|
204
|
+
registry,
|
|
205
|
+
format="yaml",
|
|
206
|
+
tool_prefix="myapi_"
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
print(f"Registered {count} tools from OpenAPI spec")
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Plugin System
|
|
213
|
+
|
|
214
|
+
Extend the kernel with community plugins:
|
|
215
|
+
|
|
216
|
+
```python
|
|
217
|
+
from src.interfaces.plugin_system import PluginManager
|
|
218
|
+
from pathlib import Path
|
|
219
|
+
|
|
220
|
+
manager = PluginManager(
|
|
221
|
+
plugin_dirs=[Path("./plugins")],
|
|
222
|
+
registry=registry,
|
|
223
|
+
auto_activate=True
|
|
224
|
+
)
|
|
225
|
+
|
|
226
|
+
# Discover plugins
|
|
227
|
+
discovered = manager.discover_plugins()
|
|
228
|
+
|
|
229
|
+
# Install plugin
|
|
230
|
+
success = manager.install_plugin("weather_tools")
|
|
231
|
+
|
|
232
|
+
# List all plugins
|
|
233
|
+
plugins = manager.list_plugins()
|
|
234
|
+
for plugin in plugins:
|
|
235
|
+
print(f"{plugin['name']}: {plugin['status']}")
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**Plugin Structure:**
|
|
239
|
+
```
|
|
240
|
+
plugins/
|
|
241
|
+
└── weather/
|
|
242
|
+
├── plugin.json # Metadata
|
|
243
|
+
└── __init__.py # Tool definitions and executors
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 3. Distributed Execution
|
|
249
|
+
|
|
250
|
+
### Ray Integration
|
|
251
|
+
|
|
252
|
+
Scale horizontally across multiple machines:
|
|
253
|
+
|
|
254
|
+
```python
|
|
255
|
+
from src.kernel.distributed import DistributedEngine, ExecutionMode
|
|
256
|
+
|
|
257
|
+
# Initialize engine
|
|
258
|
+
engine = DistributedEngine(mode=ExecutionMode.LOCAL)
|
|
259
|
+
engine.initialize()
|
|
260
|
+
|
|
261
|
+
# Submit tasks
|
|
262
|
+
task_id = await engine.submit_task(
|
|
263
|
+
"audit_task",
|
|
264
|
+
{"agent_id": "agent-001", "prompt": "Analyze this"},
|
|
265
|
+
max_attempts=3
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
# Wait for result
|
|
269
|
+
result = await engine.wait_for_task(task_id, timeout_seconds=30)
|
|
270
|
+
|
|
271
|
+
# Parallel map
|
|
272
|
+
numbers = list(range(100))
|
|
273
|
+
results = await engine.parallel_map(lambda x: x * x, numbers)
|
|
274
|
+
|
|
275
|
+
# Get cluster stats
|
|
276
|
+
stats = engine.get_cluster_stats()
|
|
277
|
+
print(f"Resources: {stats['resources']}")
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
**Features:**
|
|
281
|
+
- Task parallelism for independent operations
|
|
282
|
+
- Actor model for stateful workers
|
|
283
|
+
- Automatic retry and failover
|
|
284
|
+
- Worker pools with auto-scaling
|
|
285
|
+
|
|
286
|
+
### Health Monitoring & Failover
|
|
287
|
+
|
|
288
|
+
Ensure high availability:
|
|
289
|
+
|
|
290
|
+
```python
|
|
291
|
+
from src.kernel.failover import HealthMonitor, FailoverManager
|
|
292
|
+
|
|
293
|
+
# Create health monitor
|
|
294
|
+
monitor = HealthMonitor(
|
|
295
|
+
check_interval_seconds=30,
|
|
296
|
+
unhealthy_threshold=3
|
|
297
|
+
)
|
|
298
|
+
|
|
299
|
+
# Register components
|
|
300
|
+
async def primary_check():
|
|
301
|
+
return call_primary_agent()
|
|
302
|
+
|
|
303
|
+
monitor.register_component("primary", "agent", primary_check)
|
|
304
|
+
monitor.register_component("backup", "agent", backup_check)
|
|
305
|
+
|
|
306
|
+
# Start monitoring
|
|
307
|
+
await monitor.start_monitoring()
|
|
308
|
+
|
|
309
|
+
# Configure failover
|
|
310
|
+
failover = FailoverManager(monitor)
|
|
311
|
+
failover.register_backup("primary", "backup")
|
|
312
|
+
|
|
313
|
+
# Get active component (automatic failover)
|
|
314
|
+
active = await failover.get_active_component("primary")
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### Circuit Breaker
|
|
318
|
+
|
|
319
|
+
Prevent cascading failures:
|
|
320
|
+
|
|
321
|
+
```python
|
|
322
|
+
from src.kernel.failover import CircuitBreaker
|
|
323
|
+
|
|
324
|
+
breaker = CircuitBreaker(
|
|
325
|
+
"external-api",
|
|
326
|
+
failure_threshold=5,
|
|
327
|
+
timeout_seconds=60
|
|
328
|
+
)
|
|
329
|
+
|
|
330
|
+
async def api_call():
|
|
331
|
+
return await external_service()
|
|
332
|
+
|
|
333
|
+
async def fallback():
|
|
334
|
+
return use_cached_data()
|
|
335
|
+
|
|
336
|
+
# Execute with circuit breaker
|
|
337
|
+
result = await breaker.call(api_call, fallback=fallback)
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Load Testing
|
|
341
|
+
|
|
342
|
+
Test system performance:
|
|
343
|
+
|
|
344
|
+
```python
|
|
345
|
+
from src.kernel.load_testing import LoadTester, LoadProfile
|
|
346
|
+
|
|
347
|
+
tester = LoadTester()
|
|
348
|
+
|
|
349
|
+
async def target_function():
|
|
350
|
+
await process_request()
|
|
351
|
+
|
|
352
|
+
# Run load test
|
|
353
|
+
result = await tester.run_load_test(
|
|
354
|
+
target_function,
|
|
355
|
+
profile=LoadProfile.RAMP_UP,
|
|
356
|
+
total_requests=1000,
|
|
357
|
+
concurrent_requests=50,
|
|
358
|
+
ramp_up_seconds=30
|
|
359
|
+
)
|
|
360
|
+
|
|
361
|
+
print(f"Throughput: {result.requests_per_second:.1f} req/s")
|
|
362
|
+
print(f"Latency p95: {result.latency_p95:.1f}ms")
|
|
363
|
+
print(f"Error rate: {result.error_rate:.1%}")
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
**Load Profiles:**
|
|
367
|
+
- **Ramp-Up**: Gradually increase load
|
|
368
|
+
- **Spike**: Sudden load increase
|
|
369
|
+
- **Endurance**: Sustained load over time
|
|
370
|
+
- **Stress**: Push beyond capacity
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## 4. Integration Example
|
|
375
|
+
|
|
376
|
+
See `examples/enterprise_integration_demo.py` for a complete example that demonstrates all features working together:
|
|
377
|
+
|
|
378
|
+
```bash
|
|
379
|
+
python3 examples/enterprise_integration_demo.py
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
The demo showcases:
|
|
383
|
+
1. Multi-agent fraud detection with weighted voting
|
|
384
|
+
2. Tool ecosystem with 60+ built-in tools
|
|
385
|
+
3. Automatic failover when components fail
|
|
386
|
+
4. Circuit breaker pattern with fallback
|
|
387
|
+
5. Load testing achieving 68+ req/s
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## Performance Benchmarks
|
|
392
|
+
|
|
393
|
+
Based on load testing results:
|
|
394
|
+
|
|
395
|
+
| Metric | Value |
|
|
396
|
+
|--------|-------|
|
|
397
|
+
| Throughput | 68.1 req/s |
|
|
398
|
+
| Latency (p50) | 20.3ms |
|
|
399
|
+
| Latency (p95) | 20.3ms |
|
|
400
|
+
| Latency (p99) | 20.4ms |
|
|
401
|
+
| Error Rate | 0.0% |
|
|
402
|
+
| Consensus Resolution | <100ms |
|
|
403
|
+
| Tool Execution | <1ms |
|
|
404
|
+
| Failover Time | <500ms |
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
## Best Practices
|
|
409
|
+
|
|
410
|
+
### Multi-Agent
|
|
411
|
+
- Use weighted voting when agents have different expertise levels
|
|
412
|
+
- Set supervisor for escalation on deadlocks
|
|
413
|
+
- Monitor consensus scores to detect contentious decisions
|
|
414
|
+
|
|
415
|
+
### Tools
|
|
416
|
+
- Use OpenAPI parser for existing APIs
|
|
417
|
+
- Create plugins for domain-specific tools
|
|
418
|
+
- Register tools lazily to reduce startup time
|
|
419
|
+
|
|
420
|
+
### Reliability
|
|
421
|
+
- Set health check thresholds based on SLOs
|
|
422
|
+
- Use circuit breakers for external dependencies
|
|
423
|
+
- Test failover scenarios with chaos engineering
|
|
424
|
+
|
|
425
|
+
### Distributed
|
|
426
|
+
- Use Ray for CPU-intensive tasks
|
|
427
|
+
- Monitor cluster resources with `get_cluster_stats()`
|
|
428
|
+
- Configure worker pools based on load patterns
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## Migration Guide
|
|
433
|
+
|
|
434
|
+
### From Basic Orchestrator
|
|
435
|
+
|
|
436
|
+
**Before:**
|
|
437
|
+
```python
|
|
438
|
+
orchestrator = Orchestrator(agents)
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
**After:**
|
|
442
|
+
```python
|
|
443
|
+
orchestrator = Orchestrator(
|
|
444
|
+
agents,
|
|
445
|
+
message_broker=pubsub,
|
|
446
|
+
enable_pubsub=True,
|
|
447
|
+
enable_conflict_resolution=True
|
|
448
|
+
)
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
### Adding Tools
|
|
452
|
+
|
|
453
|
+
**Before:** Manual tool definition
|
|
454
|
+
|
|
455
|
+
**After:** OpenAPI auto-discovery
|
|
456
|
+
```python
|
|
457
|
+
parser = OpenAPIParser()
|
|
458
|
+
parser.register_tools_from_spec(openapi_yaml, registry)
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
### Enabling Failover
|
|
462
|
+
|
|
463
|
+
**Before:** No failover
|
|
464
|
+
|
|
465
|
+
**After:**
|
|
466
|
+
```python
|
|
467
|
+
monitor = HealthMonitor()
|
|
468
|
+
monitor.register_component("primary", "agent", health_check)
|
|
469
|
+
failover = FailoverManager(monitor)
|
|
470
|
+
failover.register_backup("primary", "backup")
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## Troubleshooting
|
|
476
|
+
|
|
477
|
+
### Import Errors
|
|
478
|
+
|
|
479
|
+
If you get `ModuleNotFoundError: No module named 'src'`:
|
|
480
|
+
|
|
481
|
+
```python
|
|
482
|
+
import sys
|
|
483
|
+
from pathlib import Path
|
|
484
|
+
sys.path.insert(0, str(Path(__file__).parent.parent))
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
### Ray Not Available
|
|
488
|
+
|
|
489
|
+
If Ray is not installed:
|
|
490
|
+
|
|
491
|
+
```bash
|
|
492
|
+
pip install 'ray[default]>=2.8.0'
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
Or check availability:
|
|
496
|
+
```python
|
|
497
|
+
from src.kernel.distributed import RAY_AVAILABLE
|
|
498
|
+
print(f"Ray available: {RAY_AVAILABLE}")
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
### Failover Not Triggering
|
|
502
|
+
|
|
503
|
+
Ensure health checks fail multiple times:
|
|
504
|
+
```python
|
|
505
|
+
# Default unhealthy_threshold is 3
|
|
506
|
+
monitor = HealthMonitor(unhealthy_threshold=2)
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
---
|
|
510
|
+
|
|
511
|
+
## API Reference
|
|
512
|
+
|
|
513
|
+
For detailed API documentation, see:
|
|
514
|
+
- Multi-Agent: `src/agents/pubsub.py`, `src/agents/conflict_resolution.py`
|
|
515
|
+
- Tools: `src/interfaces/openapi_tools.py`, `src/interfaces/plugin_system.py`
|
|
516
|
+
- Distributed: `src/kernel/distributed.py`, `src/kernel/failover.py`, `src/kernel/load_testing.py`
|
|
517
|
+
|
|
518
|
+
All classes include comprehensive docstrings with examples.
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# SCAK v2 Implementation Summary
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Successfully implemented SCAK v2 - The Evolutionary Swarm Kernel, extending the system from "Fixing Errors" (v1) to "Optimizing Swarms" (v2).
|
|
5
|
+
|
|
6
|
+
## Components Implemented
|
|
7
|
+
|
|
8
|
+
### 1. RewardShaper (`src/kernel/evolution.py` - 455 lines)
|
|
9
|
+
**Purpose:** Adaptive reward shaping using RLAIF-lite
|
|
10
|
+
|
|
11
|
+
**Features:**
|
|
12
|
+
- Dynamic rubric weight adjustment from user/teacher feedback
|
|
13
|
+
- No model retraining required
|
|
14
|
+
- Rollback support for safety
|
|
15
|
+
- Integration with v1 CompletenessAuditor
|
|
16
|
+
|
|
17
|
+
**Key Classes:**
|
|
18
|
+
- `FeedbackAnalyzer` - Extracts correction vectors from natural language feedback
|
|
19
|
+
- `RubricOptimizer` - Applies gradients with constraints (non-negative, sum to 1.0)
|
|
20
|
+
- `NudgeGenerator` - Converts weight changes to behavioral prompts
|
|
21
|
+
- `RewardShaper` - Main orchestrator
|
|
22
|
+
|
|
23
|
+
**Tests:** 10 tests covering feedback analysis, optimization, evolution history, and rollback
|
|
24
|
+
|
|
25
|
+
### 2. EmergenceMonitor (`src/kernel/governance_v2.py` - 603 lines)
|
|
26
|
+
**Purpose:** Graph-based anomaly detection for multi-agent swarms
|
|
27
|
+
|
|
28
|
+
**Features:**
|
|
29
|
+
- Detects anomalies that only exist in agent interactions
|
|
30
|
+
- Uses networkx for graph topology analysis
|
|
31
|
+
- Semantic similarity for drift detection
|
|
32
|
+
- Circuit breaker recommendations
|
|
33
|
+
|
|
34
|
+
**Detection Vectors:**
|
|
35
|
+
1. **Infinite Loops** - Circular approval patterns (A→B→A)
|
|
36
|
+
2. **Goal Drift** - Semantic divergence from original intent
|
|
37
|
+
3. **Echo Chambers** - Repetitive content (similarity > threshold)
|
|
38
|
+
4. **Escalation Spirals** - Agents keep deferring decisions
|
|
39
|
+
|
|
40
|
+
**Key Classes:**
|
|
41
|
+
- `VectorStore` - Embedding and similarity computation
|
|
42
|
+
- `EmergenceMonitor` - Main anomaly detector
|
|
43
|
+
|
|
44
|
+
**Tests:** 7 tests covering cycle detection, drift detection, echo chambers, and escalation spirals
|
|
45
|
+
|
|
46
|
+
### 3. EvolvableOrchestrator (`src/agents/swarm.py` - 661 lines)
|
|
47
|
+
**Purpose:** Hot-swapping of underperforming agents
|
|
48
|
+
|
|
49
|
+
**Features:**
|
|
50
|
+
- Performance-based agent replacement
|
|
51
|
+
- Tier system (1=basic, 2=standard, 3=senior)
|
|
52
|
+
- Context handover during swaps
|
|
53
|
+
- Swap history and audit trail
|
|
54
|
+
|
|
55
|
+
**Key Classes:**
|
|
56
|
+
- `AgentPool` - Registry of available agents with performance tracking
|
|
57
|
+
- `EvolvableOrchestrator` - Extends base Orchestrator with swap capabilities
|
|
58
|
+
|
|
59
|
+
**Tests:** 7 tests covering pool management, tier inference, swap mechanics, and stats
|
|
60
|
+
|
|
61
|
+
### 4. Schema Extensions (`src/kernel/schemas.py`)
|
|
62
|
+
Added v2 schemas:
|
|
63
|
+
- `SwarmTrace` - Multi-agent interaction trace
|
|
64
|
+
- `SwarmStep` - Single step in swarm interaction
|
|
65
|
+
- `AnomalyDecision` - Emergence detection results
|
|
66
|
+
- `Rubric` - Reward scoring rubric
|
|
67
|
+
- `RubricUpdate` - Reward shaping changes
|
|
68
|
+
- `AgentPerformance` - Performance metrics
|
|
69
|
+
- `AgentSwapDecision` - Hot-swap decisions
|
|
70
|
+
|
|
71
|
+
## Testing
|
|
72
|
+
|
|
73
|
+
**Test Suite:** `tests/test_scak_v2.py` (718 lines)
|
|
74
|
+
**Results:** 29 tests, 100% passing
|
|
75
|
+
|
|
76
|
+
**Coverage:**
|
|
77
|
+
- RewardShaper: 10 tests
|
|
78
|
+
- EmergenceMonitor: 7 tests
|
|
79
|
+
- EvolvableOrchestrator: 7 tests
|
|
80
|
+
- Integration: 2 tests
|
|
81
|
+
- Supporting classes: 3 tests
|
|
82
|
+
|
|
83
|
+
## Demonstrations
|
|
84
|
+
|
|
85
|
+
**Demo:** `examples/scak_v2_demo.py` (260 lines)
|
|
86
|
+
|
|
87
|
+
Demonstrates:
|
|
88
|
+
1. Adaptive reward shaping with multiple feedback iterations
|
|
89
|
+
2. Emergence detection (infinite loops, drift)
|
|
90
|
+
3. Hot-swapping from basic to senior agent
|
|
91
|
+
|
|
92
|
+
**Output:**
|
|
93
|
+
```
|
|
94
|
+
✅ Reward shaping complete - agent behavior evolved without retraining!
|
|
95
|
+
✅ Emergence monitoring prevented infinite loop!
|
|
96
|
+
✅ Orchestrator evolved - now using higher-tier agent!
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Documentation
|
|
100
|
+
|
|
101
|
+
**Primary Doc:** `docs/SCAK_V2.md` (361 lines)
|
|
102
|
+
|
|
103
|
+
Contents:
|
|
104
|
+
- Complete API reference
|
|
105
|
+
- Usage examples
|
|
106
|
+
- Architecture diagrams
|
|
107
|
+
- Integration patterns with v1
|
|
108
|
+
- Research foundation
|
|
109
|
+
- Roadmap
|
|
110
|
+
|
|
111
|
+
## Dependencies Added
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
networkx>=3.0 # Graph-based anomaly detection
|
|
115
|
+
numpy>=1.24.0 # Vector operations
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Integration with v1
|
|
119
|
+
|
|
120
|
+
1. **CompletenessAuditor → RewardShaper**
|
|
121
|
+
- Laziness detection feeds negative reward signal
|
|
122
|
+
- Swarm learns to be more thorough
|
|
123
|
+
|
|
124
|
+
2. **FailureTriage → EmergenceMonitor**
|
|
125
|
+
- Routes emergent anomalies for circuit breaking
|
|
126
|
+
- Critical anomalies → immediate termination
|
|
127
|
+
|
|
128
|
+
3. **MemoryController → Evolution History**
|
|
129
|
+
- Stores rubric snapshots
|
|
130
|
+
- Enables rollback capability
|
|
131
|
+
|
|
132
|
+
## File Summary
|
|
133
|
+
|
|
134
|
+
| File | Lines | Purpose |
|
|
135
|
+
|------|-------|---------|
|
|
136
|
+
| `src/kernel/evolution.py` | 455 | RewardShaper implementation |
|
|
137
|
+
| `src/kernel/governance_v2.py` | 603 | EmergenceMonitor implementation |
|
|
138
|
+
| `src/agents/swarm.py` | 661 | EvolvableOrchestrator implementation |
|
|
139
|
+
| `src/kernel/schemas.py` | +248 | v2 schema extensions |
|
|
140
|
+
| `tests/test_scak_v2.py` | 718 | Comprehensive test suite |
|
|
141
|
+
| `examples/scak_v2_demo.py` | 260 | Interactive demonstration |
|
|
142
|
+
| `docs/SCAK_V2.md` | 361 | Complete documentation |
|
|
143
|
+
| **Total** | **3,306** | Lines of production code + tests + docs |
|
|
144
|
+
|
|
145
|
+
## Key Achievements
|
|
146
|
+
|
|
147
|
+
✅ **Production-Ready Code**
|
|
148
|
+
- Type-safe with Pydantic models
|
|
149
|
+
- Async/await for non-blocking I/O
|
|
150
|
+
- Comprehensive error handling
|
|
151
|
+
- Defensive programming (fallbacks when networkx/numpy unavailable)
|
|
152
|
+
|
|
153
|
+
✅ **Comprehensive Testing**
|
|
154
|
+
- 29 tests covering all major components
|
|
155
|
+
- Edge cases handled
|
|
156
|
+
- Integration tests with v1
|
|
157
|
+
- 100% test pass rate
|
|
158
|
+
|
|
159
|
+
✅ **Complete Documentation**
|
|
160
|
+
- API reference
|
|
161
|
+
- Usage examples
|
|
162
|
+
- Architecture explanations
|
|
163
|
+
- Interactive demo
|
|
164
|
+
|
|
165
|
+
✅ **Minimal Changes**
|
|
166
|
+
- No modifications to existing v1 code
|
|
167
|
+
- Clean extension pattern
|
|
168
|
+
- Backward compatible
|
|
169
|
+
|
|
170
|
+
## Philosophy Adherence
|
|
171
|
+
|
|
172
|
+
The implementation strictly follows the "Scale by Subtraction" philosophy:
|
|
173
|
+
|
|
174
|
+
1. **RewardShaper** - No retraining, just context adjustment
|
|
175
|
+
2. **EmergenceMonitor** - Detect early, terminate fast (save tokens)
|
|
176
|
+
3. **EvolvableOrchestrator** - Hot-swap without rebuilding
|
|
177
|
+
4. **Semantic Purge Ready** - Patches are Type A/B classified for future purging
|
|
178
|
+
|
|
179
|
+
## Success Metrics (PRD Alignment)
|
|
180
|
+
|
|
181
|
+
| Metric | Target | Status |
|
|
182
|
+
|--------|--------|--------|
|
|
183
|
+
| Adaptability | +20% over 10 iterations | 🔄 Framework ready |
|
|
184
|
+
| Safety | 100% loop detection | ✅ Complete |
|
|
185
|
+
| Efficiency | 30% token savings | 🔄 Framework ready |
|
|
186
|
+
| Swap Speed | <5s handover | ✅ Instant (in-memory) |
|
|
187
|
+
|
|
188
|
+
## Next Steps
|
|
189
|
+
|
|
190
|
+
### Phase 2: Production Hardening (Q2 2026)
|
|
191
|
+
- [ ] Real LLM integration for feedback parsing
|
|
192
|
+
- [ ] Production message brokers (Redis, Kafka)
|
|
193
|
+
- [ ] Real embedding models (OpenAI, Sentence-Transformers)
|
|
194
|
+
- [ ] Metrics dashboard
|
|
195
|
+
|
|
196
|
+
### Phase 3: Benchmarking (Q3 2026)
|
|
197
|
+
- [ ] GAIA benchmark integration
|
|
198
|
+
- [ ] Long-horizon task experiments
|
|
199
|
+
- [ ] Multi-swarm coordination tests
|
|
200
|
+
- [ ] Performance optimization
|
|
201
|
+
|
|
202
|
+
## Conclusion
|
|
203
|
+
|
|
204
|
+
SCAK v2 successfully extends the system from error correction to swarm optimization. All three major components are implemented, tested, and documented. The system maintains the v1 philosophy of "Scale by Subtraction" while adding powerful new capabilities for multi-agent systems.
|
|
205
|
+
|
|
206
|
+
**From Maintenance to Evolution: SCAK v2 enables self-improving, self-correcting swarms.**
|