agent-os-kernel 1.1.0__py3-none-any.whl → 1.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agent_os/__init__.py +66 -4
- agent_os/agents_compat.py +286 -0
- agent_os/base_agent.py +308 -0
- agent_os/cli.py +1079 -19
- agent_os/integrations/__init__.py +37 -2
- agent_os/integrations/openai_adapter.py +502 -0
- agent_os/integrations/semantic_kernel_adapter.py +569 -0
- agent_os/stateless.py +349 -0
- agent_os_kernel-1.3.0.dist-info/METADATA +676 -0
- agent_os_kernel-1.3.0.dist-info/RECORD +1053 -0
- {agent_os_kernel-1.1.0.dist-info → agent_os_kernel-1.3.0.dist-info}/entry_points.txt +0 -1
- modules/amb/.github/workflows/ci.yml +102 -0
- modules/amb/.github/workflows/publish.yml +146 -0
- modules/amb/.gitignore +134 -0
- modules/amb/CHANGELOG.md +118 -0
- modules/amb/CONTRIBUTING.md +141 -0
- modules/amb/LICENSE +21 -0
- modules/amb/README.md +188 -0
- modules/amb/amb_core/__init__.py +175 -0
- modules/amb/amb_core/adapters/__init__.py +55 -0
- modules/amb/amb_core/adapters/aws_sqs_broker.py +374 -0
- modules/amb/amb_core/adapters/azure_servicebus_broker.py +338 -0
- modules/amb/amb_core/adapters/kafka_broker.py +258 -0
- modules/amb/amb_core/adapters/nats_broker.py +283 -0
- modules/amb/amb_core/adapters/rabbitmq_broker.py +233 -0
- modules/amb/amb_core/adapters/redis_broker.py +260 -0
- modules/amb/amb_core/broker.py +143 -0
- modules/amb/amb_core/bus.py +479 -0
- modules/amb/amb_core/cloudevents.py +507 -0
- modules/amb/amb_core/dlq.py +343 -0
- modules/amb/amb_core/hf_utils.py +534 -0
- modules/amb/amb_core/memory_broker.py +408 -0
- modules/amb/amb_core/models.py +139 -0
- modules/amb/amb_core/persistence.py +527 -0
- modules/amb/amb_core/schema.py +292 -0
- modules/amb/amb_core/tracing.py +356 -0
- modules/amb/examples/advanced_features.py +223 -0
- modules/amb/examples/backpressure_demo.py +225 -0
- modules/amb/examples/basic_usage.py +117 -0
- modules/amb/examples/tracing_demo.py +104 -0
- modules/amb/experiments/README.md +52 -0
- modules/amb/experiments/reproduce_results.py +467 -0
- modules/amb/experiments/results.json +324 -0
- modules/amb/paper/README.md +40 -0
- modules/amb/paper/paper.tex +365 -0
- modules/amb/paper/whitepaper.md +377 -0
- modules/amb/pyproject.toml +117 -0
- modules/amb/tests/__init__.py +1 -0
- modules/amb/tests/test_backpressure_priority.py +280 -0
- modules/amb/tests/test_bus.py +198 -0
- modules/amb/tests/test_cloudevents.py +443 -0
- modules/amb/tests/test_features.py +531 -0
- modules/amb/tests/test_models.py +74 -0
- modules/amb/tests/test_tracing.py +254 -0
- modules/atr/.github/workflows/ci.yml +101 -0
- modules/atr/.github/workflows/publish.yml +140 -0
- modules/atr/.gitignore +134 -0
- modules/atr/.pre-commit-config.yaml +37 -0
- modules/atr/CHANGELOG.md +39 -0
- modules/atr/CONTRIBUTING.md +96 -0
- modules/atr/IMPLEMENTATION_SUMMARY.md +143 -0
- modules/atr/README.md +180 -0
- modules/atr/atr/__init__.py +638 -0
- modules/atr/atr/access.py +346 -0
- modules/atr/atr/composition.py +643 -0
- modules/atr/atr/decorator.py +355 -0
- modules/atr/atr/executor.py +382 -0
- modules/atr/atr/health.py +555 -0
- modules/atr/atr/hf_utils.py +447 -0
- modules/atr/atr/injection.py +420 -0
- modules/atr/atr/metrics.py +438 -0
- modules/atr/atr/policies.py +401 -0
- modules/atr/atr/py.typed +2 -0
- modules/atr/atr/registry.py +450 -0
- modules/atr/atr/schema.py +478 -0
- modules/atr/atr/tools/safe/__init__.py +73 -0
- modules/atr/atr/tools/safe/calculator.py +380 -0
- modules/atr/atr/tools/safe/datetime_tool.py +441 -0
- modules/atr/atr/tools/safe/file_reader.py +400 -0
- modules/atr/atr/tools/safe/http_client.py +314 -0
- modules/atr/atr/tools/safe/json_parser.py +372 -0
- modules/atr/atr/tools/safe/text_tool.py +526 -0
- modules/atr/atr/tools/safe/toolkit.py +173 -0
- modules/atr/docs/PYPI_SETUP.md +113 -0
- modules/atr/examples/README.md +27 -0
- modules/atr/examples/demo.py +144 -0
- modules/atr/examples/sandbox_demo.py +218 -0
- modules/atr/experiments/README.md +69 -0
- modules/atr/experiments/reproduce_results.py +509 -0
- modules/atr/experiments/results/.gitkeep +0 -0
- modules/atr/experiments/results/results_20260123_140334.json +71 -0
- modules/atr/paper/README.md +36 -0
- modules/atr/paper/figures/.gitkeep +0 -0
- modules/atr/paper/references.bib +84 -0
- modules/atr/paper/structure.tex +293 -0
- modules/atr/paper/whitepaper.md +234 -0
- modules/atr/pyproject.toml +148 -0
- modules/atr/requirements.txt +1 -0
- modules/atr/setup.py +30 -0
- modules/atr/tests/__init__.py +1 -0
- modules/atr/tests/test_decorator.py +317 -0
- modules/atr/tests/test_executor.py +245 -0
- modules/atr/tests/test_integration_executor.py +184 -0
- modules/atr/tests/test_registry.py +312 -0
- modules/atr/tests/test_schema.py +182 -0
- modules/atr/tests/test_v2_features.py +708 -0
- modules/caas/.dockerignore +63 -0
- modules/caas/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- modules/caas/.github/ISSUE_TEMPLATE/custom.md +10 -0
- modules/caas/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- modules/caas/.github/workflows/ci.yml +100 -0
- modules/caas/.github/workflows/lint.yml +39 -0
- modules/caas/.github/workflows/publish-pypi.yml +124 -0
- modules/caas/.gitignore +73 -0
- modules/caas/.pre-commit-config.yaml +33 -0
- modules/caas/CHANGELOG.md +58 -0
- modules/caas/CONTRIBUTING.md +346 -0
- modules/caas/Dockerfile +41 -0
- modules/caas/LICENSE +21 -0
- modules/caas/MANIFEST.in +11 -0
- modules/caas/README.md +158 -0
- modules/caas/benchmarks/README.md +255 -0
- modules/caas/benchmarks/create_hf_dataset.py +502 -0
- modules/caas/benchmarks/data/sample_corpus/README.md +86 -0
- modules/caas/benchmarks/data/sample_corpus/auth_module.py +211 -0
- modules/caas/benchmarks/data/sample_corpus/contribution_guide.md +185 -0
- modules/caas/benchmarks/data/sample_corpus/remote_work_policy.html +57 -0
- modules/caas/benchmarks/hf_dataset/README.md +214 -0
- modules/caas/benchmarks/hf_dataset/caas_benchmark_corpus.py +73 -0
- modules/caas/benchmarks/hf_dataset/corpus_preview.json +193 -0
- modules/caas/benchmarks/results/README.md +66 -0
- modules/caas/benchmarks/results/evaluation_2026-01-20.json +121 -0
- modules/caas/benchmarks/run_evaluation.py +561 -0
- modules/caas/benchmarks/statistical_tests.py +289 -0
- modules/caas/benchmarks/verify_sample_corpus.py +83 -0
- modules/caas/docker-compose.yml +38 -0
- modules/caas/docs/CONTEXT_TRIAD.md +462 -0
- modules/caas/docs/CONTRIBUTING.md +346 -0
- modules/caas/docs/ETHICS_AND_LIMITATIONS.md +336 -0
- modules/caas/docs/HEURISTIC_ROUTER.md +442 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY.md +363 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_CONTEXT_TRIAD.md +277 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_HEURISTIC_ROUTER.md +231 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_METADATA_INJECTION.md +258 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_PRAGMATIC_TRUTH.md +212 -0
- modules/caas/docs/IMPLEMENTATION_SUMMARY_TRUST_GATEWAY.md +319 -0
- modules/caas/docs/LAYER_1_PRIMITIVE.md +202 -0
- modules/caas/docs/METADATA_INJECTION.md +404 -0
- modules/caas/docs/PRAGMATIC_TRUTH.md +431 -0
- modules/caas/docs/RELATED_WORK.md +312 -0
- modules/caas/docs/RELEASE_CHECKLIST.md +219 -0
- modules/caas/docs/RELEASE_GUIDE.md +285 -0
- modules/caas/docs/REPRODUCIBILITY.md +386 -0
- modules/caas/docs/SLIDING_WINDOW.md +387 -0
- modules/caas/docs/STRUCTURE_AWARE_INDEXING.md +158 -0
- modules/caas/docs/TESTING.md +259 -0
- modules/caas/docs/THREAT_MODEL.md +247 -0
- modules/caas/docs/TRUST_GATEWAY.md +575 -0
- modules/caas/docs/VFS.md +298 -0
- modules/caas/examples/agents/enterprise_security_agent.py +414 -0
- modules/caas/examples/agents/intelligent_document_analyzer.py +380 -0
- modules/caas/examples/demos/demo.py +309 -0
- modules/caas/examples/demos/demo_context_triad.py +225 -0
- modules/caas/examples/demos/demo_conversation_manager.py +285 -0
- modules/caas/examples/demos/demo_heuristic_router.py +133 -0
- modules/caas/examples/demos/demo_metadata_injection.py +198 -0
- modules/caas/examples/demos/demo_pragmatic_truth.py +303 -0
- modules/caas/examples/demos/demo_structure_aware.py +140 -0
- modules/caas/examples/demos/demo_time_decay.py +247 -0
- modules/caas/examples/demos/demo_trust_gateway.py +383 -0
- modules/caas/examples/multi_agent/README.md +159 -0
- modules/caas/examples/multi_agent/research_team.py +369 -0
- modules/caas/examples/multi_agent/vfs_collaboration.py +393 -0
- modules/caas/examples/usage/auth_module.py +142 -0
- modules/caas/examples/usage/usage_example.py +173 -0
- modules/caas/experiments/README.md +42 -0
- modules/caas/experiments/reproduce_results.py +462 -0
- modules/caas/paper/ARXIV_METADATA.md +145 -0
- modules/caas/paper/ARXIV_README.md +47 -0
- modules/caas/paper/CHECKLIST.md +103 -0
- modules/caas/paper/GITHUB_RELEASE_NOTES.md +105 -0
- modules/caas/paper/README.md +71 -0
- modules/caas/paper/abstract.md +24 -0
- modules/caas/paper/arxiv_submission.tar +0 -0
- modules/caas/paper/arxiv_submission.zip +0 -0
- modules/caas/paper/build_pdf.py +355 -0
- modules/caas/paper/experiments.md +149 -0
- modules/caas/paper/figures/.gitkeep +0 -0
- modules/caas/paper/figures/README.md +237 -0
- modules/caas/paper/figures/fig1_system_architecture.png +0 -0
- modules/caas/paper/figures/fig1_system_architecture.svg +198 -0
- modules/caas/paper/figures/fig2_context_triad.png +0 -0
- modules/caas/paper/figures/fig2_context_triad.svg +105 -0
- modules/caas/paper/figures/fig3_ablation_results.png +0 -0
- modules/caas/paper/figures/fig3_ablation_results.svg +113 -0
- modules/caas/paper/figures/fig4_routing_latency.png +0 -0
- modules/caas/paper/figures/fig4_routing_latency.svg +97 -0
- modules/caas/paper/intro.md +103 -0
- modules/caas/paper/latex/figures/fig1_system_architecture.png +0 -0
- modules/caas/paper/latex/figures/fig2_context_triad.png +0 -0
- modules/caas/paper/latex/figures/fig3_ablation_results.png +0 -0
- modules/caas/paper/latex/figures/fig4_routing_latency.png +0 -0
- modules/caas/paper/latex/main.tex +468 -0
- modules/caas/paper/latex/references.bib +140 -0
- modules/caas/paper/method.md +350 -0
- modules/caas/paper/outline.md +123 -0
- modules/caas/paper/related_work.md +101 -0
- modules/caas/paper/tables/.gitkeep +0 -0
- modules/caas/paper/tables/results_tables.md +50 -0
- modules/caas/pyproject.toml +172 -0
- modules/caas/requirements.txt +11 -0
- modules/caas/src/caas/__init__.py +232 -0
- modules/caas/src/caas/api/__init__.py +7 -0
- modules/caas/src/caas/api/server.py +1326 -0
- modules/caas/src/caas/caching.py +832 -0
- modules/caas/src/caas/cli.py +208 -0
- modules/caas/src/caas/conversation.py +221 -0
- modules/caas/src/caas/decay.py +118 -0
- modules/caas/src/caas/detection/__init__.py +7 -0
- modules/caas/src/caas/detection/detector.py +236 -0
- modules/caas/src/caas/enrichment.py +127 -0
- modules/caas/src/caas/gateway/__init__.py +24 -0
- modules/caas/src/caas/gateway/trust_gateway.py +471 -0
- modules/caas/src/caas/hf_utils.py +477 -0
- modules/caas/src/caas/ingestion/__init__.py +21 -0
- modules/caas/src/caas/ingestion/processors.py +251 -0
- modules/caas/src/caas/ingestion/structure_parser.py +185 -0
- modules/caas/src/caas/models.py +354 -0
- modules/caas/src/caas/pragmatic_truth.py +441 -0
- modules/caas/src/caas/routing/__init__.py +8 -0
- modules/caas/src/caas/routing/heuristic_router.py +242 -0
- modules/caas/src/caas/storage/__init__.py +7 -0
- modules/caas/src/caas/storage/store.py +450 -0
- modules/caas/src/caas/triad.py +472 -0
- modules/caas/src/caas/tuning/__init__.py +7 -0
- modules/caas/src/caas/tuning/tuner.py +322 -0
- modules/caas/src/caas/vfs/__init__.py +12 -0
- modules/caas/src/caas/vfs/filesystem.py +450 -0
- modules/caas/tests/__init__.py +3 -0
- modules/caas/tests/conftest.py +8 -0
- modules/caas/tests/test_caching.py +628 -0
- modules/caas/tests/test_context_triad.py +385 -0
- modules/caas/tests/test_conversation_manager.py +289 -0
- modules/caas/tests/test_functionality.py +215 -0
- modules/caas/tests/test_heuristic_router.py +370 -0
- modules/caas/tests/test_metadata_injection.py +328 -0
- modules/caas/tests/test_pragmatic_truth.py +322 -0
- modules/caas/tests/test_structure_aware_indexing.py +283 -0
- modules/caas/tests/test_time_decay.py +268 -0
- modules/caas/tests/test_trust_gateway.py +445 -0
- modules/caas/tests/test_vfs.py +298 -0
- modules/cmvk/.github/FUNDING.yml +9 -0
- modules/cmvk/.github/dependabot.yml +54 -0
- modules/cmvk/.github/workflows/ci.yml +205 -0
- modules/cmvk/.github/workflows/publish.yml +143 -0
- modules/cmvk/.gitignore +147 -0
- modules/cmvk/.pre-commit-config.yaml +58 -0
- modules/cmvk/CHANGELOG.md +146 -0
- modules/cmvk/CITATION.cff +48 -0
- modules/cmvk/CONTRIBUTING.md +229 -0
- modules/cmvk/Dockerfile +87 -0
- modules/cmvk/HF_MODEL_CARD.md +185 -0
- modules/cmvk/LICENSE +21 -0
- modules/cmvk/README.md +149 -0
- modules/cmvk/SECURITY.md +114 -0
- modules/cmvk/config/prompts/generator_v1.txt +23 -0
- modules/cmvk/config/prompts/verifier_hostile.txt +32 -0
- modules/cmvk/config/settings.yaml +40 -0
- modules/cmvk/coverage_html/.gitignore +2 -0
- modules/cmvk/coverage_html/class_index.html +658 -0
- modules/cmvk/coverage_html/coverage_html_cb_188fc9a4.js +735 -0
- modules/cmvk/coverage_html/favicon_32_cb_c827f16f.png +0 -0
- modules/cmvk/coverage_html/function_index.html +1978 -0
- modules/cmvk/coverage_html/index.html +255 -0
- modules/cmvk/coverage_html/keybd_closed_cb_900cfef5.png +0 -0
- modules/cmvk/coverage_html/status.json +1 -0
- modules/cmvk/coverage_html/style_cb_5c747636.css +389 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38___init___py.html +315 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_audit_py.html +499 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_benchmarks_py.html +575 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_constitutional_py.html +1001 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_hf_utils_py.html +398 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_metrics_py.html +570 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_profiles_py.html +397 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_types_py.html +109 -0
- modules/cmvk/coverage_html/z_2c49bd2ed3e01e38_verification_py.html +1053 -0
- modules/cmvk/docs/DIAGRAMS.md +325 -0
- modules/cmvk/docs/architecture.md +345 -0
- modules/cmvk/docs/features.md +308 -0
- modules/cmvk/docs/getting_started.md +279 -0
- modules/cmvk/docs/innovation_layer.md +377 -0
- modules/cmvk/docs/safety.md +281 -0
- modules/cmvk/docs/traceability.md +150 -0
- modules/cmvk/examples/basic_example.py +62 -0
- modules/cmvk/examples/demo_complete_pipeline.py +209 -0
- modules/cmvk/examples/demo_innovation_layer.py +197 -0
- modules/cmvk/examples/example.py +112 -0
- modules/cmvk/examples/model_diversity_comparison.py +110 -0
- modules/cmvk/examples/real_api_integration.py +121 -0
- modules/cmvk/examples/test_full_pipeline.py +303 -0
- modules/cmvk/experiments/FEATURE_2_LATERAL_THINKING.md +187 -0
- modules/cmvk/experiments/README.md +216 -0
- modules/cmvk/experiments/ablation_runner.py +666 -0
- modules/cmvk/experiments/baseline_runner.py +158 -0
- modules/cmvk/experiments/blind_spot_benchmark.py +364 -0
- modules/cmvk/experiments/datasets/README.md +85 -0
- modules/cmvk/experiments/datasets/humaneval_50.json +352 -0
- modules/cmvk/experiments/datasets/humaneval_full.json +1150 -0
- modules/cmvk/experiments/datasets/humaneval_sample.json +32 -0
- modules/cmvk/experiments/datasets/sabotage.json +262 -0
- modules/cmvk/experiments/datasets/sample.json +40 -0
- modules/cmvk/experiments/demo_with_traces.py +110 -0
- modules/cmvk/experiments/efficiency_curve.py +259 -0
- modules/cmvk/experiments/experiment_runner.py +243 -0
- modules/cmvk/experiments/paper_data_generator.py +183 -0
- modules/cmvk/experiments/reproduce_results.py +407 -0
- modules/cmvk/experiments/reproducible_runner.py +352 -0
- modules/cmvk/experiments/sabotage_stress_test.py +311 -0
- modules/cmvk/experiments/test_lateral_thinking.py +116 -0
- modules/cmvk/experiments/test_prosecutor.py +41 -0
- modules/cmvk/experiments/visualize_results.py +735 -0
- modules/cmvk/logs/traces/demo_HumanEval_0_20260121-204900.json +36 -0
- modules/cmvk/notebooks/analysis.ipynb +124 -0
- modules/cmvk/paper/PAPER.md +561 -0
- modules/cmvk/paper/arxiv_checklist.md +230 -0
- modules/cmvk/paper/cmvk_neurips.aux +77 -0
- modules/cmvk/paper/cmvk_neurips.bbl +81 -0
- modules/cmvk/paper/cmvk_neurips.blg +48 -0
- modules/cmvk/paper/cmvk_neurips.out +16 -0
- modules/cmvk/paper/cmvk_neurips.pdf +0 -0
- modules/cmvk/paper/cmvk_neurips.tex +309 -0
- modules/cmvk/paper/figures/ablation.png +0 -0
- modules/cmvk/paper/figures/ablation.svg +39 -0
- modules/cmvk/paper/figures/architecture.png +0 -0
- modules/cmvk/paper/figures/architecture.svg +115 -0
- modules/cmvk/paper/figures/results_bar.png +0 -0
- modules/cmvk/paper/figures/results_bar.svg +70 -0
- modules/cmvk/paper/generate_figures.py +383 -0
- modules/cmvk/paper/neurips_2024.sty +101 -0
- modules/cmvk/paper/references.bib +98 -0
- modules/cmvk/paper/structure.tex +200 -0
- modules/cmvk/pyproject.toml +189 -0
- modules/cmvk/requirements-dev.txt +19 -0
- modules/cmvk/requirements.txt +14 -0
- modules/cmvk/src/cmvk/__init__.py +216 -0
- modules/cmvk/src/cmvk/audit.py +400 -0
- modules/cmvk/src/cmvk/benchmarks.py +476 -0
- modules/cmvk/src/cmvk/constitutional.py +902 -0
- modules/cmvk/src/cmvk/hf_utils.py +299 -0
- modules/cmvk/src/cmvk/metrics.py +471 -0
- modules/cmvk/src/cmvk/profiles.py +298 -0
- modules/cmvk/src/cmvk/py.typed +0 -0
- modules/cmvk/src/cmvk/types.py +10 -0
- modules/cmvk/src/cmvk/verification.py +954 -0
- modules/cmvk/src/cross_model_verification_kernel/__init__.py +91 -0
- modules/cmvk/src/cross_model_verification_kernel/__main__.py +10 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/__init__.py +16 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/base_agent.py +142 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/generator_openai.py +223 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/verifier_anthropic.py +448 -0
- modules/cmvk/src/cross_model_verification_kernel/agents/verifier_gemini.py +481 -0
- modules/cmvk/src/cross_model_verification_kernel/cli.py +570 -0
- modules/cmvk/src/cross_model_verification_kernel/core/__init__.py +26 -0
- modules/cmvk/src/cross_model_verification_kernel/core/graph_memory.py +308 -0
- modules/cmvk/src/cross_model_verification_kernel/core/kernel.py +413 -0
- modules/cmvk/src/cross_model_verification_kernel/core/trace_logger.py +75 -0
- modules/cmvk/src/cross_model_verification_kernel/core/types.py +121 -0
- modules/cmvk/src/cross_model_verification_kernel/datasets/__init__.py +20 -0
- modules/cmvk/src/cross_model_verification_kernel/datasets/humaneval_loader.py +271 -0
- modules/cmvk/src/cross_model_verification_kernel/generator.py +118 -0
- modules/cmvk/src/cross_model_verification_kernel/kernel.py +292 -0
- modules/cmvk/src/cross_model_verification_kernel/models.py +111 -0
- modules/cmvk/src/cross_model_verification_kernel/py.typed +1 -0
- modules/cmvk/src/cross_model_verification_kernel/simple_kernel.py +185 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/__init__.py +94 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/huggingface_upload.py +394 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/sandbox.py +159 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/statistics.py +468 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/visualizer.py +312 -0
- modules/cmvk/src/cross_model_verification_kernel/tools/web_search.py +86 -0
- modules/cmvk/src/cross_model_verification_kernel/verifier.py +257 -0
- modules/cmvk/tests/__init__.py +3 -0
- modules/cmvk/tests/conftest.py +61 -0
- modules/cmvk/tests/integration/__init__.py +1 -0
- modules/cmvk/tests/integration/test_anthropic_verifier.py +269 -0
- modules/cmvk/tests/integration/test_integration.py +53 -0
- modules/cmvk/tests/integration/test_lateral_thinking_integration.py +199 -0
- modules/cmvk/tests/integration/test_lateral_thinking_witness.py +208 -0
- modules/cmvk/tests/integration/test_prosecutor_mode.py +131 -0
- modules/cmvk/tests/test_constitutional.py +611 -0
- modules/cmvk/tests/test_enhanced_features.py +603 -0
- modules/cmvk/tests/test_verification.py +255 -0
- modules/cmvk/tests/unit/__init__.py +1 -0
- modules/cmvk/tests/unit/test_agents.py +64 -0
- modules/cmvk/tests/unit/test_cli.py +224 -0
- modules/cmvk/tests/unit/test_core.py +126 -0
- modules/cmvk/tests/unit/test_humaneval_loader.py +197 -0
- modules/cmvk/tests/unit/test_kernel.py +255 -0
- modules/cmvk/tests/unit/test_reproducibility.py +160 -0
- modules/cmvk/tests/unit/test_trace_logger.py +115 -0
- modules/cmvk/tests/unit/test_visualizer.py +218 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/bug_report.yml +82 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/config.yml +11 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/feature_request.yml +104 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/question.yml +70 -0
- modules/control-plane/.github/ISSUE_TEMPLATE/security_vulnerability.yml +84 -0
- modules/control-plane/.github/discussions.yml +73 -0
- modules/control-plane/.github/pull_request_template.md +82 -0
- modules/control-plane/.github/workflows/publish.yml +146 -0
- modules/control-plane/.github/workflows/release.yml +39 -0
- modules/control-plane/.github/workflows/tests.yml +58 -0
- modules/control-plane/.gitignore +55 -0
- modules/control-plane/CHANGELOG.md +203 -0
- modules/control-plane/CONTRIBUTING.md +311 -0
- modules/control-plane/CONTRIBUTORS.md +88 -0
- modules/control-plane/Dockerfile +82 -0
- modules/control-plane/LICENSE +21 -0
- modules/control-plane/MANIFEST.in +17 -0
- modules/control-plane/README.md +1264 -0
- modules/control-plane/ROADMAP.md +228 -0
- modules/control-plane/SECURITY.md +210 -0
- modules/control-plane/SUPPORT.md +106 -0
- modules/control-plane/acp-cli.py +212 -0
- modules/control-plane/benchmark/README.md +257 -0
- modules/control-plane/benchmark/__init__.py +19 -0
- modules/control-plane/benchmark/red_team_dataset.py +517 -0
- modules/control-plane/benchmark.py +563 -0
- modules/control-plane/build_and_publish.sh +130 -0
- modules/control-plane/docker-compose.yml +74 -0
- modules/control-plane/docs/ABLATION_STUDIES.md +528 -0
- modules/control-plane/docs/ADAPTER_GUIDE.md +544 -0
- modules/control-plane/docs/ADVANCED_FEATURES.md +543 -0
- modules/control-plane/docs/AIOS_COMPARISON.md +296 -0
- modules/control-plane/docs/BIBLIOGRAPHY.md +367 -0
- modules/control-plane/docs/CASE_STUDIES.md +645 -0
- modules/control-plane/docs/DOCKER_DEPLOYMENT.md +184 -0
- modules/control-plane/docs/ECOSYSTEM_STATUS.md +98 -0
- modules/control-plane/docs/HF_MODEL_CARD.md +168 -0
- modules/control-plane/docs/KERNEL_V1_RELEASE.md +454 -0
- modules/control-plane/docs/LAYER3_FRAMEWORK.md +227 -0
- modules/control-plane/docs/LIMITATIONS.md +523 -0
- modules/control-plane/docs/PYPI_PUBLISHING.md +195 -0
- modules/control-plane/docs/README.md +58 -0
- modules/control-plane/docs/RELATED_WORK.md +319 -0
- modules/control-plane/docs/RELEASE_v1.1.0.md +252 -0
- modules/control-plane/docs/REPRODUCIBILITY.md +540 -0
- modules/control-plane/docs/RESEARCH_FOUNDATION.md +197 -0
- modules/control-plane/docs/api/CORE.md +270 -0
- modules/control-plane/docs/architecture/architecture.md +120 -0
- modules/control-plane/docs/community/ANNOUNCEMENT_TEMPLATES.md +52 -0
- modules/control-plane/docs/guides/IMPLEMENTATION.md +225 -0
- modules/control-plane/docs/guides/PHILOSOPHY.md +354 -0
- modules/control-plane/docs/guides/QUICKSTART.md +217 -0
- modules/control-plane/examples/README.md +138 -0
- modules/control-plane/examples/a2a_demo.py +410 -0
- modules/control-plane/examples/adapter_demo.py +347 -0
- modules/control-plane/examples/advanced_features.py +403 -0
- modules/control-plane/examples/basic_usage.py +261 -0
- modules/control-plane/examples/benchmark_demo.py +186 -0
- modules/control-plane/examples/compliance_demo.py +333 -0
- modules/control-plane/examples/configuration.py +265 -0
- modules/control-plane/examples/getting_started.py +178 -0
- modules/control-plane/examples/hibernation_and_time_travel_demo.py +406 -0
- modules/control-plane/examples/interactive_tutorial.ipynb +497 -0
- modules/control-plane/examples/kernel_interceptor_demo.py +202 -0
- modules/control-plane/examples/kernel_v1_demo.py +273 -0
- modules/control-plane/examples/langchain_demo.py +281 -0
- modules/control-plane/examples/lifecycle_demo.py +724 -0
- modules/control-plane/examples/mcp_demo.py +378 -0
- modules/control-plane/examples/ml_safety_demo.py +157 -0
- modules/control-plane/examples/multimodal_demo.py +347 -0
- modules/control-plane/examples/observability_demo.py +370 -0
- modules/control-plane/examples/use_cases.py +336 -0
- modules/control-plane/experiments/long_horizon_purge.py +235 -0
- modules/control-plane/experiments/multi_agent_rag.py +165 -0
- modules/control-plane/experiments/reproduce_results.py +667 -0
- modules/control-plane/paper/ARXIV_SUBMISSION_INFO.txt +122 -0
- modules/control-plane/paper/ETHICS_STATEMENT.md +248 -0
- modules/control-plane/paper/PAPER_CHECKLIST.md +72 -0
- modules/control-plane/paper/Paper.pdf +0 -0
- modules/control-plane/paper/README.md +71 -0
- modules/control-plane/paper/appendix.md +152 -0
- modules/control-plane/paper/architecture.md +15 -0
- modules/control-plane/paper/arxiv/figures/ablation_chart.png +0 -0
- modules/control-plane/paper/arxiv/figures/architecture.png +0 -0
- modules/control-plane/paper/arxiv/figures/constraint_graphs.png +0 -0
- modules/control-plane/paper/arxiv/figures/results_chart.png +0 -0
- modules/control-plane/paper/arxiv/main.aux +97 -0
- modules/control-plane/paper/arxiv/main.bbl +112 -0
- modules/control-plane/paper/arxiv/main.blg +48 -0
- modules/control-plane/paper/arxiv/main.out +33 -0
- modules/control-plane/paper/arxiv/main.pdf +0 -0
- modules/control-plane/paper/arxiv/main.tex +479 -0
- modules/control-plane/paper/arxiv/references.bib +234 -0
- modules/control-plane/paper/arxiv_submission.tar +0 -0
- modules/control-plane/paper/arxiv_submission.zip +0 -0
- modules/control-plane/paper/build.sh +68 -0
- modules/control-plane/paper/figures/README.md +47 -0
- modules/control-plane/paper/figures/ablation_chart.pdf +0 -0
- modules/control-plane/paper/figures/ablation_chart.png +0 -0
- modules/control-plane/paper/figures/architecture.pdf +0 -0
- modules/control-plane/paper/figures/architecture.png +0 -0
- modules/control-plane/paper/figures/constraint_graphs.pdf +0 -0
- modules/control-plane/paper/figures/constraint_graphs.png +0 -0
- modules/control-plane/paper/figures/generate_figures.py +252 -0
- modules/control-plane/paper/figures/results_chart.pdf +0 -0
- modules/control-plane/paper/figures/results_chart.png +0 -0
- modules/control-plane/paper/main.md +273 -0
- modules/control-plane/paper/main.tex +214 -0
- modules/control-plane/paper/main_arxiv.aux +53 -0
- modules/control-plane/paper/main_arxiv.out +17 -0
- modules/control-plane/paper/main_arxiv.pdf +0 -0
- modules/control-plane/paper/main_arxiv.tex +264 -0
- modules/control-plane/paper/references.bib +234 -0
- modules/control-plane/pyproject.toml +124 -0
- modules/control-plane/reproducibility/ABLATIONS.md +136 -0
- modules/control-plane/reproducibility/README.md +288 -0
- modules/control-plane/reproducibility/commands.md +467 -0
- modules/control-plane/reproducibility/docker_config/Dockerfile +39 -0
- modules/control-plane/reproducibility/experiment_configs/purge_config.json +46 -0
- modules/control-plane/reproducibility/experiment_configs/rag_config.json +36 -0
- modules/control-plane/reproducibility/hardware_specs.md +317 -0
- modules/control-plane/reproducibility/requirements_frozen.txt +0 -0
- modules/control-plane/reproducibility/run_all_experiments.sh +45 -0
- modules/control-plane/reproducibility/seeds.json +106 -0
- modules/control-plane/scripts/prepare_pypi.py +46 -0
- modules/control-plane/scripts/prepare_release.py +176 -0
- modules/control-plane/scripts/upload_dataset_to_hf.py +316 -0
- modules/control-plane/setup.py +69 -0
- modules/control-plane/src/agent_control_plane/__init__.py +639 -0
- modules/control-plane/src/agent_control_plane/a2a_adapter.py +541 -0
- modules/control-plane/src/agent_control_plane/adapter.py +415 -0
- modules/control-plane/src/agent_control_plane/agent_hibernation.py +364 -0
- modules/control-plane/src/agent_control_plane/agent_kernel.py +464 -0
- modules/control-plane/src/agent_control_plane/compliance.py +718 -0
- modules/control-plane/src/agent_control_plane/constraint_graphs.py +475 -0
- modules/control-plane/src/agent_control_plane/control_plane.py +848 -0
- modules/control-plane/src/agent_control_plane/example_executors.py +193 -0
- modules/control-plane/src/agent_control_plane/execution_engine.py +229 -0
- modules/control-plane/src/agent_control_plane/flight_recorder.py +600 -0
- modules/control-plane/src/agent_control_plane/governance_layer.py +432 -0
- modules/control-plane/src/agent_control_plane/hf_utils.py +561 -0
- modules/control-plane/src/agent_control_plane/interfaces/__init__.py +53 -0
- modules/control-plane/src/agent_control_plane/interfaces/kernel_interface.py +359 -0
- modules/control-plane/src/agent_control_plane/interfaces/plugin_interface.py +495 -0
- modules/control-plane/src/agent_control_plane/interfaces/protocol_interfaces.py +385 -0
- modules/control-plane/src/agent_control_plane/kernel_space.py +707 -0
- modules/control-plane/src/agent_control_plane/langchain_adapter.py +422 -0
- modules/control-plane/src/agent_control_plane/lifecycle.py +3111 -0
- modules/control-plane/src/agent_control_plane/mcp_adapter.py +517 -0
- modules/control-plane/src/agent_control_plane/ml_safety.py +560 -0
- modules/control-plane/src/agent_control_plane/multimodal.py +724 -0
- modules/control-plane/src/agent_control_plane/mute_agent.py +419 -0
- modules/control-plane/src/agent_control_plane/observability.py +785 -0
- modules/control-plane/src/agent_control_plane/orchestrator.py +480 -0
- modules/control-plane/src/agent_control_plane/plugin_registry.py +748 -0
- modules/control-plane/src/agent_control_plane/policy_engine.py +525 -0
- modules/control-plane/src/agent_control_plane/shadow_mode.py +307 -0
- modules/control-plane/src/agent_control_plane/signals.py +491 -0
- modules/control-plane/src/agent_control_plane/supervisor_agents.py +427 -0
- modules/control-plane/src/agent_control_plane/time_travel_debugger.py +554 -0
- modules/control-plane/src/agent_control_plane/tool_registry.py +350 -0
- modules/control-plane/src/agent_control_plane/vfs.py +695 -0
- modules/control-plane/tests/README.md +33 -0
- modules/control-plane/tests/test_a2a_adapter.py +336 -0
- modules/control-plane/tests/test_adapter.py +422 -0
- modules/control-plane/tests/test_advanced_features.py +389 -0
- modules/control-plane/tests/test_benchmark.py +223 -0
- modules/control-plane/tests/test_compliance.py +214 -0
- modules/control-plane/tests/test_control_plane.py +295 -0
- modules/control-plane/tests/test_hibernation.py +274 -0
- modules/control-plane/tests/test_kernel_interception.py +284 -0
- modules/control-plane/tests/test_langchain_adapter.py +258 -0
- modules/control-plane/tests/test_lifecycle.py +1174 -0
- modules/control-plane/tests/test_mcp_adapter.py +293 -0
- modules/control-plane/tests/test_ml_safety.py +142 -0
- modules/control-plane/tests/test_multimodal.py +317 -0
- modules/control-plane/tests/test_new_features.py +435 -0
- modules/control-plane/tests/test_observability.py +338 -0
- modules/control-plane/tests/test_time_travel.py +387 -0
- modules/emk/.github/workflows/ci.yml +105 -0
- modules/emk/.github/workflows/publish.yml +144 -0
- modules/emk/.gitignore +74 -0
- modules/emk/CHANGELOG.md +41 -0
- modules/emk/CONTRIBUTING.md +295 -0
- modules/emk/IMPLEMENTATION.md +174 -0
- modules/emk/LICENSE +21 -0
- modules/emk/MANIFEST.in +8 -0
- modules/emk/README.md +135 -0
- modules/emk/RELEASE_NOTES.md +82 -0
- modules/emk/SECURITY.md +52 -0
- modules/emk/codecov.yml +39 -0
- modules/emk/docs/MEMORY_MANAGEMENT.md +285 -0
- modules/emk/emk/__init__.py +106 -0
- modules/emk/emk/hf_utils.py +419 -0
- modules/emk/emk/indexer.py +144 -0
- modules/emk/emk/py.typed +0 -0
- modules/emk/emk/schema.py +204 -0
- modules/emk/emk/sleep_cycle.py +345 -0
- modules/emk/emk/store.py +479 -0
- modules/emk/examples/basic_usage.py +123 -0
- modules/emk/examples/memory_features_demo.py +154 -0
- modules/emk/experiments/README.md +59 -0
- modules/emk/experiments/reproduce_results.py +461 -0
- modules/emk/experiments/results.json +61 -0
- modules/emk/paper/structure.tex +192 -0
- modules/emk/paper/whitepaper.md +273 -0
- modules/emk/pyproject.toml +91 -0
- modules/emk/setup.py +5 -0
- modules/emk/tests/test_file_adapter.py +195 -0
- modules/emk/tests/test_indexer.py +174 -0
- modules/emk/tests/test_init.py +55 -0
- modules/emk/tests/test_negative_memory.py +83 -0
- modules/emk/tests/test_schema.py +150 -0
- modules/emk/tests/test_semantic_rules.py +175 -0
- modules/emk/tests/test_sleep_cycle.py +335 -0
- modules/emk/tests/test_store_anti_patterns.py +239 -0
- modules/iatp/.github/workflows/docker-build.yml +124 -0
- modules/iatp/.github/workflows/publish.yml +174 -0
- modules/iatp/.github/workflows/python-package.yml +121 -0
- modules/iatp/.gitignore +67 -0
- modules/iatp/.pre-commit-config.yaml +64 -0
- modules/iatp/CHANGELOG.md +120 -0
- modules/iatp/Dockerfile +91 -0
- modules/iatp/IMPLEMENTATION_SUMMARY.md +218 -0
- modules/iatp/MANIFEST.in +9 -0
- modules/iatp/README.md +180 -0
- modules/iatp/docker/Dockerfile.agent +27 -0
- modules/iatp/docker/Dockerfile.sidecar-python +86 -0
- modules/iatp/docker/README.md +258 -0
- modules/iatp/docker-compose.yml +194 -0
- modules/iatp/docs/ARCHITECTURE.md +243 -0
- modules/iatp/docs/CLI_GUIDE.md +220 -0
- modules/iatp/docs/DEPLOYMENT.md +304 -0
- modules/iatp/examples/README.md +132 -0
- modules/iatp/examples/backend_agent.py +39 -0
- modules/iatp/examples/client.py +168 -0
- modules/iatp/examples/demo_attestation_reputation.py +274 -0
- modules/iatp/examples/demo_client.py +240 -0
- modules/iatp/examples/demo_rbac.py +143 -0
- modules/iatp/examples/integration_demo.py +245 -0
- modules/iatp/examples/manifests/coder_agent.json +20 -0
- modules/iatp/examples/manifests/reviewer_agent.json +19 -0
- modules/iatp/examples/manifests/secure_bank.json +14 -0
- modules/iatp/examples/manifests/standard_agent.json +14 -0
- modules/iatp/examples/manifests/untrusted_honeypot.json +14 -0
- modules/iatp/examples/run_secure_bank_sidecar.py +85 -0
- modules/iatp/examples/run_sidecar.py +105 -0
- modules/iatp/examples/run_untrusted_sidecar.py +77 -0
- modules/iatp/examples/secure_bank_agent.py +138 -0
- modules/iatp/examples/test_untrusted.py +82 -0
- modules/iatp/examples/untrusted_agent.py +119 -0
- modules/iatp/experiments/README.md +58 -0
- modules/iatp/experiments/cascading_hallucination/README.md +149 -0
- modules/iatp/experiments/cascading_hallucination/agent_a_user.py +41 -0
- modules/iatp/experiments/cascading_hallucination/agent_b_summarizer.py +54 -0
- modules/iatp/experiments/cascading_hallucination/agent_c_database.py +47 -0
- modules/iatp/experiments/cascading_hallucination/proof_of_concept.py +290 -0
- modules/iatp/experiments/cascading_hallucination/run_experiment.py +226 -0
- modules/iatp/experiments/cascading_hallucination/sidecar_c.py +61 -0
- modules/iatp/experiments/reproduce_results.py +574 -0
- modules/iatp/experiments/results.json +2336 -0
- modules/iatp/iatp/__init__.py +164 -0
- modules/iatp/iatp/attestation.py +401 -0
- modules/iatp/iatp/cli.py +253 -0
- modules/iatp/iatp/hf_utils.py +469 -0
- modules/iatp/iatp/ipc_pipes.py +578 -0
- modules/iatp/iatp/main.py +410 -0
- modules/iatp/iatp/models/__init__.py +445 -0
- modules/iatp/iatp/policy_engine.py +335 -0
- modules/iatp/iatp/py.typed +2 -0
- modules/iatp/iatp/recovery.py +319 -0
- modules/iatp/iatp/security/__init__.py +268 -0
- modules/iatp/iatp/sidecar/__init__.py +517 -0
- modules/iatp/iatp/telemetry/__init__.py +162 -0
- modules/iatp/iatp/tests/__init__.py +1 -0
- modules/iatp/iatp/tests/test_attestation.py +368 -0
- modules/iatp/iatp/tests/test_cli.py +129 -0
- modules/iatp/iatp/tests/test_models.py +128 -0
- modules/iatp/iatp/tests/test_policy_engine.py +345 -0
- modules/iatp/iatp/tests/test_recovery.py +279 -0
- modules/iatp/iatp/tests/test_security.py +220 -0
- modules/iatp/iatp/tests/test_sidecar.py +165 -0
- modules/iatp/iatp/tests/test_telemetry.py +173 -0
- modules/iatp/paper/BLOG.md +307 -0
- modules/iatp/paper/PAPER.md +236 -0
- modules/iatp/paper/RFC_SUBMISSION.md +299 -0
- modules/iatp/paper/whitepaper.md +369 -0
- modules/iatp/proto/README.md +200 -0
- modules/iatp/proto/generate_stubs.py +81 -0
- modules/iatp/proto/iatp.proto +552 -0
- modules/iatp/pyproject.toml +180 -0
- modules/iatp/requirements-dev.txt +2 -0
- modules/iatp/requirements.txt +6 -0
- modules/iatp/setup.py +60 -0
- modules/iatp/sidecar/README.md +487 -0
- modules/iatp/sidecar/go/Dockerfile +32 -0
- modules/iatp/sidecar/go/README.md +237 -0
- modules/iatp/sidecar/go/go.mod +8 -0
- modules/iatp/sidecar/go/main.go +488 -0
- modules/iatp/spec/001-handshake.md +436 -0
- modules/iatp/spec/002-reversibility.md +394 -0
- modules/iatp/spec/schema/capability_manifest.json +266 -0
- modules/iatp/test_integration.py +310 -0
- modules/mcp-kernel-server/README.md +261 -0
- modules/mcp-kernel-server/pyproject.toml +60 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/__init__.py +26 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/cli.py +229 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/resources.py +215 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/server.py +562 -0
- modules/mcp-kernel-server/src/mcp_kernel_server/tools.py +1172 -0
- modules/mute-agent/.github/workflows/safety_check.yml +45 -0
- modules/mute-agent/.gitignore +53 -0
- modules/mute-agent/ARCHITECTURE.md +531 -0
- modules/mute-agent/BENCHMARK_GUIDE.md +384 -0
- modules/mute-agent/COMPLETION_SUMMARY.md +293 -0
- modules/mute-agent/EXPERIMENT_SUMMARY.md +318 -0
- modules/mute-agent/IMPLEMENTATION_SUMMARY.md +212 -0
- modules/mute-agent/LICENSE +21 -0
- modules/mute-agent/PHASE3_SUMMARY.md +297 -0
- modules/mute-agent/README.md +360 -0
- modules/mute-agent/STEEL_MAN_RESULTS.md +353 -0
- modules/mute-agent/USAGE.md +505 -0
- modules/mute-agent/V2_IMPLEMENTATION_SUMMARY.md +253 -0
- modules/mute-agent/V2_STEEL_MAN_IMPLEMENTATION.md +274 -0
- modules/mute-agent/VERIFICATION_REPORT.md +435 -0
- modules/mute-agent/charts/cost_comparison.png +0 -0
- modules/mute-agent/charts/cost_vs_ambiguity.png +0 -0
- modules/mute-agent/charts/metrics_comparison.png +0 -0
- modules/mute-agent/charts/scenario_breakdown.png +0 -0
- modules/mute-agent/charts/trace_attack_blocked.html +140 -0
- modules/mute-agent/charts/trace_attack_blocked.png +0 -0
- modules/mute-agent/charts/trace_failure.html +140 -0
- modules/mute-agent/charts/trace_failure.png +0 -0
- modules/mute-agent/charts/trace_success.html +140 -0
- modules/mute-agent/charts/trace_success.png +0 -0
- modules/mute-agent/examples/__init__.py +1 -0
- modules/mute-agent/examples/advanced_example.py +384 -0
- modules/mute-agent/examples/graph_debugger_demo.py +241 -0
- modules/mute-agent/examples/listener_example.py +297 -0
- modules/mute-agent/examples/simple_example.py +242 -0
- modules/mute-agent/examples/steel_man_demo.py +297 -0
- modules/mute-agent/experiments/README.md +135 -0
- modules/mute-agent/experiments/__init__.py +3 -0
- modules/mute-agent/experiments/agent_comparison.csv +6 -0
- modules/mute-agent/experiments/agent_comparison_50runs.csv +6 -0
- modules/mute-agent/experiments/ambiguity_test.py +335 -0
- modules/mute-agent/experiments/ambiguity_test_results.csv +31 -0
- modules/mute-agent/experiments/ambiguity_test_results_50runs.csv +51 -0
- modules/mute-agent/experiments/baseline_agent.py +189 -0
- modules/mute-agent/experiments/benchmark.py +402 -0
- modules/mute-agent/experiments/demo.py +172 -0
- modules/mute-agent/experiments/generate_cost_curve.py +474 -0
- modules/mute-agent/experiments/jailbreak_test.py +137 -0
- modules/mute-agent/experiments/latent_state_scenario.py +361 -0
- modules/mute-agent/experiments/mute_agent_experiment.py +349 -0
- modules/mute-agent/experiments/run_extended_experiment.py +40 -0
- modules/mute-agent/experiments/run_v2_experiments.py +266 -0
- modules/mute-agent/experiments/run_v2_experiments_auto.py +247 -0
- modules/mute-agent/experiments/v2_scenarios/README.md +214 -0
- modules/mute-agent/experiments/v2_scenarios/__init__.py +4 -0
- modules/mute-agent/experiments/v2_scenarios/scenario_1_deep_dependency.py +325 -0
- modules/mute-agent/experiments/v2_scenarios/scenario_2_adversarial.py +328 -0
- modules/mute-agent/experiments/v2_scenarios/scenario_3_false_positive.py +303 -0
- modules/mute-agent/experiments/v2_scenarios/scenario_4_performance.py +319 -0
- modules/mute-agent/experiments/visualize.py +400 -0
- modules/mute-agent/mute_agent/__init__.py +66 -0
- modules/mute-agent/mute_agent/core/__init__.py +1 -0
- modules/mute-agent/mute_agent/core/execution_agent.py +164 -0
- modules/mute-agent/mute_agent/core/handshake_protocol.py +199 -0
- modules/mute-agent/mute_agent/core/reasoning_agent.py +236 -0
- modules/mute-agent/mute_agent/knowledge_graph/__init__.py +1 -0
- modules/mute-agent/mute_agent/knowledge_graph/graph_elements.py +63 -0
- modules/mute-agent/mute_agent/knowledge_graph/multidimensional_graph.py +168 -0
- modules/mute-agent/mute_agent/knowledge_graph/subgraph.py +222 -0
- modules/mute-agent/mute_agent/listener/__init__.py +41 -0
- modules/mute-agent/mute_agent/listener/adapters/__init__.py +29 -0
- modules/mute-agent/mute_agent/listener/adapters/base_adapter.py +187 -0
- modules/mute-agent/mute_agent/listener/adapters/caas_adapter.py +342 -0
- modules/mute-agent/mute_agent/listener/adapters/control_plane_adapter.py +434 -0
- modules/mute-agent/mute_agent/listener/adapters/iatp_adapter.py +330 -0
- modules/mute-agent/mute_agent/listener/adapters/scak_adapter.py +249 -0
- modules/mute-agent/mute_agent/listener/listener.py +608 -0
- modules/mute-agent/mute_agent/listener/state_observer.py +434 -0
- modules/mute-agent/mute_agent/listener/threshold_config.py +311 -0
- modules/mute-agent/mute_agent/super_system/__init__.py +1 -0
- modules/mute-agent/mute_agent/super_system/router.py +202 -0
- modules/mute-agent/mute_agent/visualization/__init__.py +8 -0
- modules/mute-agent/mute_agent/visualization/graph_debugger.py +495 -0
- modules/mute-agent/requirements-dev.txt +6 -0
- modules/mute-agent/requirements.txt +9 -0
- modules/mute-agent/setup.py +64 -0
- modules/mute-agent/src/__init__.py +0 -0
- modules/mute-agent/src/agents/__init__.py +0 -0
- modules/mute-agent/src/agents/baseline_agent.py +524 -0
- modules/mute-agent/src/agents/interactive_agent.py +113 -0
- modules/mute-agent/src/agents/mute_agent.py +622 -0
- modules/mute-agent/src/benchmarks/__init__.py +0 -0
- modules/mute-agent/src/benchmarks/evaluator.py +481 -0
- modules/mute-agent/src/benchmarks/scenarios.json +985 -0
- modules/mute-agent/src/core/__init__.py +0 -0
- modules/mute-agent/src/core/mock_state.py +320 -0
- modules/mute-agent/src/core/tools.py +441 -0
- modules/nexus/__init__.py +49 -0
- modules/nexus/arbiter.py +357 -0
- modules/nexus/client.py +464 -0
- modules/nexus/dmz.py +417 -0
- modules/nexus/escrow.py +428 -0
- modules/nexus/exceptions.py +284 -0
- modules/nexus/registry.py +391 -0
- modules/nexus/reputation.py +423 -0
- modules/nexus/schemas/__init__.py +49 -0
- modules/nexus/schemas/compliance.py +274 -0
- modules/nexus/schemas/escrow.py +249 -0
- modules/nexus/schemas/manifest.py +223 -0
- modules/nexus/schemas/receipt.py +206 -0
- modules/observability/README.md +192 -0
- modules/observability/alertmanager/alertmanager.yml +116 -0
- modules/observability/alerts/agent-os-alerts.yaml +197 -0
- modules/observability/docker-compose.yml +128 -0
- modules/observability/grafana/dashboards/agent-os-amb.json +448 -0
- modules/observability/grafana/dashboards/agent-os-cmvk.json +441 -0
- modules/observability/grafana/dashboards/agent-os-overview.json +268 -0
- modules/observability/grafana/dashboards/agent-os-performance.json +15 -0
- modules/observability/grafana/dashboards/agent-os-safety.json +50 -0
- modules/observability/grafana/provisioning/dashboards/dashboards.yml +15 -0
- modules/observability/grafana/provisioning/datasources/datasources.yml +33 -0
- modules/observability/otel/otel-collector-config.yml +61 -0
- modules/observability/prometheus/prometheus.yml +63 -0
- modules/observability/pyproject.toml +53 -0
- modules/observability/scripts/export_dashboards.py +55 -0
- modules/observability/src/agent_os_observability/__init__.py +25 -0
- modules/observability/src/agent_os_observability/dashboards.py +896 -0
- modules/observability/src/agent_os_observability/metrics.py +396 -0
- modules/observability/src/agent_os_observability/server.py +221 -0
- modules/observability/src/agent_os_observability/tracer.py +226 -0
- modules/primitives/.gitignore +8 -0
- modules/primitives/README.md +62 -0
- modules/primitives/agent_primitives/__init__.py +22 -0
- modules/primitives/agent_primitives/failures.py +82 -0
- modules/primitives/agent_primitives/py.typed +0 -0
- modules/primitives/pyproject.toml +68 -0
- modules/scak/.github/copilot-instructions.md +396 -0
- modules/scak/.github/workflows/release.yml +117 -0
- modules/scak/.gitignore +32 -0
- modules/scak/CHANGELOG.md +173 -0
- modules/scak/CITATION.cff +62 -0
- modules/scak/CONTRIBUTING.md +429 -0
- modules/scak/Dockerfile +58 -0
- modules/scak/ENTERPRISE_FEATURES.md +518 -0
- modules/scak/IMPLEMENTATION_SUMMARY.md +206 -0
- modules/scak/LIMITATIONS.md +565 -0
- modules/scak/MANIFEST.in +16 -0
- modules/scak/NOVELTY.md +535 -0
- modules/scak/README.md +928 -0
- modules/scak/RESEARCH.md +670 -0
- modules/scak/agent_kernel/__init__.py +66 -0
- modules/scak/agent_kernel/analyzer.py +432 -0
- modules/scak/agent_kernel/auditor.py +31 -0
- modules/scak/agent_kernel/completeness_auditor.py +234 -0
- modules/scak/agent_kernel/detector.py +200 -0
- modules/scak/agent_kernel/kernel.py +741 -0
- modules/scak/agent_kernel/memory_manager.py +82 -0
- modules/scak/agent_kernel/models.py +372 -0
- modules/scak/agent_kernel/nudge_mechanism.py +260 -0
- modules/scak/agent_kernel/outcome_analyzer.py +335 -0
- modules/scak/agent_kernel/patcher.py +579 -0
- modules/scak/agent_kernel/semantic_analyzer.py +313 -0
- modules/scak/agent_kernel/semantic_purge.py +346 -0
- modules/scak/agent_kernel/simulator.py +447 -0
- modules/scak/agent_kernel/teacher.py +82 -0
- modules/scak/agent_kernel/triage.py +149 -0
- modules/scak/build_and_publish.ps1 +74 -0
- modules/scak/build_and_publish.sh +74 -0
- modules/scak/cli.py +471 -0
- modules/scak/dashboard.py +462 -0
- modules/scak/datasets/DATASET_CARD.md +219 -0
- modules/scak/datasets/README.md +143 -0
- modules/scak/datasets/gaia_vague_queries/vague_queries.json +262 -0
- modules/scak/datasets/hf_upload/README.md +219 -0
- modules/scak/datasets/hf_upload/scak_gaia_laziness.jsonl +50 -0
- modules/scak/datasets/prepare_hf_datasets.py +145 -0
- modules/scak/datasets/red_team/jailbreak_patterns.json +202 -0
- modules/scak/docker-compose.yml +99 -0
- modules/scak/docs/Adaptive-Memory-Hierarchy.md +319 -0
- modules/scak/docs/Data-Contracts-and-Schemas.md +285 -0
- modules/scak/docs/Dual-Loop-Architecture.md +344 -0
- modules/scak/docs/Enhanced-Features.md +612 -0
- modules/scak/docs/LANGCHAIN_INTEGRATION.md +572 -0
- modules/scak/docs/README.md +128 -0
- modules/scak/docs/Reference-Implementations.md +163 -0
- modules/scak/docs/SCAK_V2.md +374 -0
- modules/scak/docs/Three-Failure-Types.md +178 -0
- modules/scak/examples/basic_example.py +155 -0
- modules/scak/examples/circuit_breaker_lazy_eval_demo.py +243 -0
- modules/scak/examples/langchain_integration_example.py +339 -0
- modules/scak/examples/layer4_demo.py +243 -0
- modules/scak/examples/production_features_demo.py +353 -0
- modules/scak/examples/quick_demo.py +79 -0
- modules/scak/examples/scak_v2_demo.py +252 -0
- modules/scak/experiments/README.md +438 -0
- modules/scak/experiments/ablation_studies/README.md +192 -0
- modules/scak/experiments/ablation_studies/ablation_no_audit.py +116 -0
- modules/scak/experiments/ablation_studies/ablation_no_purge.py +133 -0
- modules/scak/experiments/chaos_engineering/README.md +332 -0
- modules/scak/experiments/context_efficiency_test.py +328 -0
- modules/scak/experiments/gaia_benchmark/README.md +208 -0
- modules/scak/experiments/laziness_benchmark.py +179 -0
- modules/scak/experiments/long_horizon_task_experiment.py +252 -0
- modules/scak/experiments/multi_agent_rag_experiment.py +284 -0
- modules/scak/experiments/results/ablation_table.md +12 -0
- modules/scak/experiments/results/long_horizon.json +36 -0
- modules/scak/experiments/results/multi_agent_rag.json +66 -0
- modules/scak/experiments/run_comprehensive_ablations.py +332 -0
- modules/scak/experiments/test_auditor_patcher_integration.py +251 -0
- modules/scak/notebooks/getting_started.ipynb +33 -0
- modules/scak/paper/ARXIV_SUBMISSION_METADATA.txt +109 -0
- modules/scak/paper/PAPER_CHECKLIST.md +304 -0
- modules/scak/paper/Paper.pdf +0 -0
- modules/scak/paper/README.md +113 -0
- modules/scak/paper/appendix.md +351 -0
- modules/scak/paper/arxiv/bibliography.bib +284 -0
- modules/scak/paper/arxiv/fig1_ooda_architecture.pdf +0 -0
- modules/scak/paper/arxiv/fig2_memory_hierarchy.pdf +0 -0
- modules/scak/paper/arxiv/fig3_gaia_results.pdf +0 -0
- modules/scak/paper/arxiv/fig4_ablation_heatmap.pdf +0 -0
- modules/scak/paper/arxiv/fig5_context_reduction.pdf +0 -0
- modules/scak/paper/arxiv/fig6_mttr_boxplot.pdf +0 -0
- modules/scak/paper/arxiv/main.aux +103 -0
- modules/scak/paper/arxiv/main.bbl +113 -0
- modules/scak/paper/arxiv/main.blg +55 -0
- modules/scak/paper/arxiv/main.out +31 -0
- modules/scak/paper/arxiv/main.pdf +0 -0
- modules/scak/paper/arxiv/main.tex +482 -0
- modules/scak/paper/arxiv_submission/bibliography.bib +284 -0
- modules/scak/paper/arxiv_submission/fig1_ooda_architecture.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig2_memory_hierarchy.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig3_gaia_results.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig4_ablation_heatmap.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig5_context_reduction.pdf +0 -0
- modules/scak/paper/arxiv_submission/fig6_mttr_boxplot.pdf +0 -0
- modules/scak/paper/arxiv_submission/main.aux +103 -0
- modules/scak/paper/arxiv_submission/main.bbl +113 -0
- modules/scak/paper/arxiv_submission/main.blg +55 -0
- modules/scak/paper/arxiv_submission/main.out +31 -0
- modules/scak/paper/arxiv_submission/main.pdf +0 -0
- modules/scak/paper/arxiv_submission/main.tex +482 -0
- modules/scak/paper/arxiv_submission.tar.gz +0 -0
- modules/scak/paper/bibliography.bib +284 -0
- modules/scak/paper/build.sh +55 -0
- modules/scak/paper/figures/README.md +32 -0
- modules/scak/paper/figures/fig1_ooda_architecture.md +75 -0
- modules/scak/paper/figures/fig1_ooda_architecture.pdf +0 -0
- modules/scak/paper/figures/fig1_ooda_architecture.png +0 -0
- modules/scak/paper/figures/fig2_memory_hierarchy.md +83 -0
- modules/scak/paper/figures/fig2_memory_hierarchy.pdf +0 -0
- modules/scak/paper/figures/fig2_memory_hierarchy.png +0 -0
- modules/scak/paper/figures/fig3_gaia_results.md +64 -0
- modules/scak/paper/figures/fig3_gaia_results.pdf +0 -0
- modules/scak/paper/figures/fig3_gaia_results.png +0 -0
- modules/scak/paper/figures/fig4_ablation_heatmap.md +64 -0
- modules/scak/paper/figures/fig4_ablation_heatmap.pdf +0 -0
- modules/scak/paper/figures/fig4_ablation_heatmap.png +0 -0
- modules/scak/paper/figures/fig5_context_reduction.md +71 -0
- modules/scak/paper/figures/fig5_context_reduction.pdf +0 -0
- modules/scak/paper/figures/fig5_context_reduction.png +0 -0
- modules/scak/paper/figures/fig6_mttr_boxplot.md +80 -0
- modules/scak/paper/figures/fig6_mttr_boxplot.pdf +0 -0
- modules/scak/paper/figures/fig6_mttr_boxplot.png +0 -0
- modules/scak/paper/figures/generate_figures.py +463 -0
- modules/scak/paper/main.aux +103 -0
- modules/scak/paper/main.bbl +113 -0
- modules/scak/paper/main.blg +55 -0
- modules/scak/paper/main.md +192 -0
- modules/scak/paper/main.out +31 -0
- modules/scak/paper/main.pdf +0 -0
- modules/scak/paper/main.tex +482 -0
- modules/scak/reproducibility/ABLATIONS.md +225 -0
- modules/scak/reproducibility/Dockerfile.reproducibility +34 -0
- modules/scak/reproducibility/README.md +421 -0
- modules/scak/reproducibility/requirements-pinned.txt +32 -0
- modules/scak/reproducibility/run_all_experiments.py +395 -0
- modules/scak/reproducibility/seed_control.py +53 -0
- modules/scak/reproducibility/statistical_analysis.py +302 -0
- modules/scak/requirements.txt +50 -0
- modules/scak/setup.py +93 -0
- modules/scak/src/__init__.py +124 -0
- modules/scak/src/agents/__init__.py +13 -0
- modules/scak/src/agents/conflict_resolution.py +732 -0
- modules/scak/src/agents/orchestrator.py +761 -0
- modules/scak/src/agents/pubsub.py +484 -0
- modules/scak/src/agents/shadow_teacher.py +344 -0
- modules/scak/src/agents/swarm.py +661 -0
- modules/scak/src/agents/worker.py +357 -0
- modules/scak/src/integrations/__init__.py +81 -0
- modules/scak/src/integrations/cmvk_adapter.py +430 -0
- modules/scak/src/integrations/control_plane_adapter.py +601 -0
- modules/scak/src/integrations/langchain_integration.py +902 -0
- modules/scak/src/interfaces/__init__.py +59 -0
- modules/scak/src/interfaces/llm_clients.py +505 -0
- modules/scak/src/interfaces/openapi_tools.py +611 -0
- modules/scak/src/interfaces/plugin_system.py +605 -0
- modules/scak/src/interfaces/protocols.py +365 -0
- modules/scak/src/interfaces/telemetry.py +464 -0
- modules/scak/src/interfaces/tool_registry.py +547 -0
- modules/scak/src/kernel/__init__.py +100 -0
- modules/scak/src/kernel/auditor.py +305 -0
- modules/scak/src/kernel/circuit_breaker.py +398 -0
- modules/scak/src/kernel/core.py +724 -0
- modules/scak/src/kernel/distributed.py +667 -0
- modules/scak/src/kernel/evolution.py +455 -0
- modules/scak/src/kernel/failover.py +621 -0
- modules/scak/src/kernel/governance.py +710 -0
- modules/scak/src/kernel/governance_v2.py +603 -0
- modules/scak/src/kernel/lazy_evaluator.py +514 -0
- modules/scak/src/kernel/load_testing.py +633 -0
- modules/scak/src/kernel/memory.py +945 -0
- modules/scak/src/kernel/patcher.py +581 -0
- modules/scak/src/kernel/rubric.py +419 -0
- modules/scak/src/kernel/schemas.py +390 -0
- modules/scak/src/kernel/skill_mapper.py +309 -0
- modules/scak/src/kernel/triage.py +149 -0
- modules/scak/src/mocks/__init__.py +99 -0
- modules/scak/tests/__init__.py +1 -0
- modules/scak/tests/test_circuit_breaker.py +403 -0
- modules/scak/tests/test_conflict_resolution.py +287 -0
- modules/scak/tests/test_dual_loop.py +463 -0
- modules/scak/tests/test_enhanced_features.py +421 -0
- modules/scak/tests/test_failover_and_load.py +438 -0
- modules/scak/tests/test_governance.py +185 -0
- modules/scak/tests/test_kernel.py +359 -0
- modules/scak/tests/test_langchain_integration.py +451 -0
- modules/scak/tests/test_lazy_evaluator.py +465 -0
- modules/scak/tests/test_llm_clients.py +122 -0
- modules/scak/tests/test_memory_controller.py +528 -0
- modules/scak/tests/test_orchestrator.py +181 -0
- modules/scak/tests/test_phase3_integration.py +265 -0
- modules/scak/tests/test_pubsub_swarm.py +203 -0
- modules/scak/tests/test_reference_implementations.py +240 -0
- modules/scak/tests/test_rubric.py +363 -0
- modules/scak/tests/test_scak_v2.py +651 -0
- modules/scak/tests/test_skill_mapper.py +217 -0
- modules/scak/tests/test_specific_failures.py +393 -0
- modules/scak/tests/test_tool_registry.py +264 -0
- modules/scak/tests/test_tools_and_plugins.py +303 -0
- modules/scak/tests/test_triage.py +596 -0
- modules/scak/tests/test_write_through.py +319 -0
- agent_os_kernel-1.1.0.dist-info/METADATA +0 -400
- agent_os_kernel-1.1.0.dist-info/RECORD +0 -12
- {agent_os_kernel-1.1.0.dist-info → agent_os_kernel-1.3.0.dist-info}/WHEEL +0 -0
- {agent_os_kernel-1.1.0.dist-info → agent_os_kernel-1.3.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
# Agent Control Plane - Implementation Summary
|
|
2
|
+
|
|
3
|
+
## What Was Built
|
|
4
|
+
|
|
5
|
+
This repository implements a complete **Agent Control Plane** - a governance and management layer for autonomous AI agents. It addresses the problem stated: moving from chatbots to autonomous agents requires governance, not just intelligence.
|
|
6
|
+
|
|
7
|
+
## Core Philosophy
|
|
8
|
+
|
|
9
|
+
**Treat the LLM as a raw compute component that requires a kernel.**
|
|
10
|
+
|
|
11
|
+
Just as operating systems provide kernels to safely manage hardware access, the Agent Control Plane provides a kernel to safely manage agent actions. Every action goes through governance checks before execution.
|
|
12
|
+
|
|
13
|
+
## Architecture
|
|
14
|
+
|
|
15
|
+
The implementation follows a layered architecture:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
Application → Control Plane → LLM → Execution Environment
|
|
19
|
+
↓
|
|
20
|
+
[Kernel + Policy + Execution + Audit]
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Components Implemented
|
|
24
|
+
|
|
25
|
+
### 1. Agent Kernel (`agent_kernel.py`)
|
|
26
|
+
The central coordinator that mediates all agent interactions:
|
|
27
|
+
- Permission management (4 levels: NONE, READ_ONLY, READ_WRITE, ADMIN)
|
|
28
|
+
- Request validation and approval
|
|
29
|
+
- Risk assessment (0.0 to 1.0 scale)
|
|
30
|
+
- Audit logging
|
|
31
|
+
- Session management
|
|
32
|
+
|
|
33
|
+
**Key Classes:**
|
|
34
|
+
- `AgentKernel`: Core coordinator
|
|
35
|
+
- `AgentContext`: Session context with permissions
|
|
36
|
+
- `ExecutionRequest`: Action request with validation status
|
|
37
|
+
- `ActionType`: 7 supported action types
|
|
38
|
+
- `PermissionLevel`: 4-level permission system
|
|
39
|
+
|
|
40
|
+
### 2. Policy Engine (`policy_engine.py`)
|
|
41
|
+
Enforces governance rules and constraints:
|
|
42
|
+
- Rate limiting (per minute, per hour)
|
|
43
|
+
- Concurrent execution limits
|
|
44
|
+
- Resource quotas per agent
|
|
45
|
+
- Risk-based policies
|
|
46
|
+
- Custom policy rules with validators
|
|
47
|
+
- Default security policies (system file protection, SQL injection prevention, etc.)
|
|
48
|
+
|
|
49
|
+
**Key Classes:**
|
|
50
|
+
- `PolicyEngine`: Policy enforcement
|
|
51
|
+
- `ResourceQuota`: Rate limits and quotas
|
|
52
|
+
- `RiskPolicy`: Risk-based rules
|
|
53
|
+
- `create_default_policies()`: Built-in security policies
|
|
54
|
+
|
|
55
|
+
### 3. Execution Engine (`execution_engine.py`)
|
|
56
|
+
Safely executes agent actions:
|
|
57
|
+
- Sandboxed execution (4 levels: NONE, BASIC, STRICT, ISOLATED)
|
|
58
|
+
- Timeout enforcement
|
|
59
|
+
- Resource monitoring
|
|
60
|
+
- Error handling
|
|
61
|
+
- Execution history tracking
|
|
62
|
+
- Pluggable executors for different action types
|
|
63
|
+
|
|
64
|
+
**Key Classes:**
|
|
65
|
+
- `ExecutionEngine`: Execution coordinator
|
|
66
|
+
- `ExecutionContext`: Sandbox configuration
|
|
67
|
+
- `ExecutionMetrics`: Performance tracking
|
|
68
|
+
- Action-specific executors (file, code, API)
|
|
69
|
+
|
|
70
|
+
### 4. Control Plane (`control_plane.py`)
|
|
71
|
+
Main interface that integrates all components:
|
|
72
|
+
- Unified API for agent management
|
|
73
|
+
- Complete governance pipeline
|
|
74
|
+
- Agent status monitoring
|
|
75
|
+
- Execution history
|
|
76
|
+
- Convenience functions for common patterns
|
|
77
|
+
|
|
78
|
+
**Key Functions:**
|
|
79
|
+
- `AgentControlPlane`: Main interface
|
|
80
|
+
- `create_read_only_agent()`: Read-only preset
|
|
81
|
+
- `create_standard_agent()`: Standard preset
|
|
82
|
+
- `create_admin_agent()`: Admin preset
|
|
83
|
+
|
|
84
|
+
## Governance Pipeline
|
|
85
|
+
|
|
86
|
+
Every action goes through this pipeline:
|
|
87
|
+
|
|
88
|
+
1. **Permission Check** (Kernel)
|
|
89
|
+
- Does agent have required permission level?
|
|
90
|
+
|
|
91
|
+
2. **Policy Validation** (Policy Engine)
|
|
92
|
+
- Does action violate any policies?
|
|
93
|
+
- Is agent within rate limits?
|
|
94
|
+
- Are custom rules satisfied?
|
|
95
|
+
|
|
96
|
+
3. **Risk Assessment** (Kernel)
|
|
97
|
+
- What is the risk score?
|
|
98
|
+
- Is it within acceptable limits?
|
|
99
|
+
|
|
100
|
+
4. **Execution** (Execution Engine)
|
|
101
|
+
- Execute in sandboxed environment
|
|
102
|
+
- Monitor resources
|
|
103
|
+
- Enforce timeouts
|
|
104
|
+
|
|
105
|
+
5. **Audit Logging** (Kernel)
|
|
106
|
+
- Record all actions
|
|
107
|
+
- Track policy decisions
|
|
108
|
+
- Monitor resource usage
|
|
109
|
+
|
|
110
|
+
## Security Features
|
|
111
|
+
|
|
112
|
+
### Default Security Policies
|
|
113
|
+
1. **System File Protection**: Blocks access to /etc/, /sys/, /proc/, etc.
|
|
114
|
+
2. **Credential Protection**: Prevents exposure of passwords, tokens, API keys
|
|
115
|
+
3. **SQL Injection Prevention**: Blocks destructive SQL operations
|
|
116
|
+
|
|
117
|
+
### Built-in Safety
|
|
118
|
+
- Sandboxed execution by default
|
|
119
|
+
- Risk scoring for all actions
|
|
120
|
+
- Rate limiting to prevent abuse
|
|
121
|
+
- Audit logging for compliance
|
|
122
|
+
- Permission isolation between agents
|
|
123
|
+
|
|
124
|
+
## Testing
|
|
125
|
+
|
|
126
|
+
Comprehensive test suite (`test_control_plane.py`):
|
|
127
|
+
- 13 unit tests covering all components
|
|
128
|
+
- Permission control tests
|
|
129
|
+
- Rate limiting tests
|
|
130
|
+
- Policy enforcement tests
|
|
131
|
+
- Execution tests
|
|
132
|
+
- End-to-end integration tests
|
|
133
|
+
- Multi-agent isolation tests
|
|
134
|
+
|
|
135
|
+
**All tests pass ✓**
|
|
136
|
+
|
|
137
|
+
## Documentation
|
|
138
|
+
|
|
139
|
+
1. **README.md**: Complete overview and API reference
|
|
140
|
+
2. **architecture.md**: Detailed architecture documentation
|
|
141
|
+
3. **QUICKSTART.md**: 5-minute getting started guide
|
|
142
|
+
4. **examples.py**: 6 comprehensive examples demonstrating features
|
|
143
|
+
5. **config_examples.py**: Configuration patterns for different use cases
|
|
144
|
+
|
|
145
|
+
## Use Cases Supported
|
|
146
|
+
|
|
147
|
+
1. **Enterprise AI Agents**: Strict governance, audit trails, compliance
|
|
148
|
+
2. **Multi-tenant Platforms**: Isolated execution, per-tenant quotas
|
|
149
|
+
3. **Development/Testing**: Safe experimentation, comprehensive logging
|
|
150
|
+
4. **Production Workflows**: Reliable execution, error handling, monitoring
|
|
151
|
+
5. **Regulated Industries**: Full audit trails, policy enforcement
|
|
152
|
+
|
|
153
|
+
## Example Usage
|
|
154
|
+
|
|
155
|
+
```python
|
|
156
|
+
# Create control plane
|
|
157
|
+
control_plane = AgentControlPlane()
|
|
158
|
+
|
|
159
|
+
# Create agent with permissions
|
|
160
|
+
agent = create_standard_agent(control_plane, "my-agent")
|
|
161
|
+
|
|
162
|
+
# Execute action with full governance
|
|
163
|
+
result = control_plane.execute_action(
|
|
164
|
+
agent,
|
|
165
|
+
ActionType.FILE_READ,
|
|
166
|
+
{"path": "/data/file.txt"}
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
# Result includes: success, result, risk_score, metrics
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Key Metrics
|
|
173
|
+
|
|
174
|
+
- **Lines of Code**: ~2000+ lines of implementation
|
|
175
|
+
- **Components**: 4 major components
|
|
176
|
+
- **Action Types**: 7 supported
|
|
177
|
+
- **Permission Levels**: 4 levels
|
|
178
|
+
- **Default Policies**: 3 security policies
|
|
179
|
+
- **Tests**: 13 unit tests
|
|
180
|
+
- **Documentation**: 5 comprehensive docs
|
|
181
|
+
|
|
182
|
+
## Innovation
|
|
183
|
+
|
|
184
|
+
This implementation demonstrates:
|
|
185
|
+
|
|
186
|
+
1. **LLM-as-Compute**: Treats LLM as raw compute needing governance
|
|
187
|
+
2. **Kernel Pattern**: OS-like kernel for agent management
|
|
188
|
+
3. **Defense in Depth**: Multiple layers of security checks
|
|
189
|
+
4. **Observability**: Complete visibility into agent behavior
|
|
190
|
+
5. **Extensibility**: Pluggable policies and executors
|
|
191
|
+
|
|
192
|
+
## Future Enhancements
|
|
193
|
+
|
|
194
|
+
The architecture supports these planned features:
|
|
195
|
+
- Distributed execution across nodes
|
|
196
|
+
- Real-time monitoring dashboard
|
|
197
|
+
- ML-based risk assessment
|
|
198
|
+
- Container-based sandboxing
|
|
199
|
+
- Transaction rollback
|
|
200
|
+
- Integration with external policy engines (OPA)
|
|
201
|
+
|
|
202
|
+
## Running the Code
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# Run examples
|
|
206
|
+
python3 examples.py
|
|
207
|
+
|
|
208
|
+
# Run tests
|
|
209
|
+
python3 test_control_plane.py
|
|
210
|
+
|
|
211
|
+
# Run configuration examples
|
|
212
|
+
python3 config_examples.py
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## Conclusion
|
|
216
|
+
|
|
217
|
+
The Agent Control Plane solves the governance bottleneck for autonomous agents. It provides:
|
|
218
|
+
|
|
219
|
+
✓ **Safety**: Sandboxed execution, permission control
|
|
220
|
+
✓ **Governance**: Policy enforcement, rate limiting
|
|
221
|
+
✓ **Observability**: Audit logs, metrics, tracing
|
|
222
|
+
✓ **Reliability**: Error handling, resource management
|
|
223
|
+
✓ **Compliance**: Full audit trails, risk assessment
|
|
224
|
+
|
|
225
|
+
This implementation proves that treating the LLM as a kernel-managed compute resource enables safe, controlled deployment of autonomous agents at scale.
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
# The Agent Control Plane: Architecture and Philosophy
|
|
2
|
+
|
|
3
|
+
## Executive Summary
|
|
4
|
+
|
|
5
|
+
The Agent Control Plane treats the LLM as a raw compute component that requires a kernel. Just as operating systems provide kernels to safely manage hardware access, the Agent Control Plane provides a kernel to safely manage agent actions with deterministic enforcement.
|
|
6
|
+
|
|
7
|
+
## The Problem: "Vibes" Are Not Engineering
|
|
8
|
+
|
|
9
|
+
We are currently trying to control autonomous AI agents with "vibes":
|
|
10
|
+
- *"You are a helpful assistant"*
|
|
11
|
+
- *"Please do not lie"*
|
|
12
|
+
- *"Ensure your SQL query is safe"*
|
|
13
|
+
|
|
14
|
+
We hope the LLM honors the request. **But hope is not an engineering strategy.**
|
|
15
|
+
|
|
16
|
+
In distributed systems:
|
|
17
|
+
- We don't ASK a microservice to respect a rate limit → We ENFORCE it at the gateway
|
|
18
|
+
- We don't ASK a database query not to drop a table → We ENFORCE it via permissions
|
|
19
|
+
- We don't ASK a process not to access another's memory → The kernel PREVENTS it
|
|
20
|
+
|
|
21
|
+
Yet with AI agents, we've convinced ourselves that "prompt engineering" is a substitute for systems engineering. **It isn't.**
|
|
22
|
+
|
|
23
|
+
## The Philosophy: Scale by Subtraction
|
|
24
|
+
|
|
25
|
+
**To make a complex system reliable, you don't add features; you remove the variables that cause chaos.**
|
|
26
|
+
|
|
27
|
+
In Enterprise AI, the variable we need to subtract is **creativity**.
|
|
28
|
+
|
|
29
|
+
### The Mute Agent
|
|
30
|
+
|
|
31
|
+
When I build a SQL-generating agent for a finance team, I don't want it to be "creative." I want it to execute a precise task: *Get the data, or tell me you can't.*
|
|
32
|
+
|
|
33
|
+
If I ask a SQL agent to "build me a rocket ship," the current generation of agents will try to be helpful:
|
|
34
|
+
- They hallucinate a schema
|
|
35
|
+
- They offer conversational pivots: *"I can't build rockets, but I can tell you about physics!"*
|
|
36
|
+
|
|
37
|
+
**This is waste.** It consumes tokens, confuses users, and erodes trust.
|
|
38
|
+
|
|
39
|
+
A robust agent architecture should strip away the LLM's desire to be a "conversationalist." If the request does not map to a capability defined in the system's constraints, the response should be `NULL`. It should be silence.
|
|
40
|
+
|
|
41
|
+
**The Mute Agent knows when to shut up and fail fast rather than improvising.**
|
|
42
|
+
|
|
43
|
+
## The Architecture: Kubernetes for Agents
|
|
44
|
+
|
|
45
|
+
We need to stop embedding logic inside the prompt and start lifting it into a distinct infrastructure layer.
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
49
|
+
│ Application Layer │
|
|
50
|
+
│ (Chat, Workflow, Tools) │
|
|
51
|
+
└─────────────────────────┬───────────────────────────────────┘
|
|
52
|
+
│
|
|
53
|
+
┌─────────────────────────▼───────────────────────────────────┐
|
|
54
|
+
│ Agent Control Plane │
|
|
55
|
+
│ │
|
|
56
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
57
|
+
│ │ Agent │ │ Policy │ │ Audit │ │
|
|
58
|
+
│ │ Kernel │◄─┤ Engine │◄─┤ Logger │ │
|
|
59
|
+
│ └──────┬───────┘ └──────────────┘ └──────────────┘ │
|
|
60
|
+
│ │ │
|
|
61
|
+
│ ┌──────▼───────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
62
|
+
│ │ Execution │ │ Shadow Mode │ │ Constraint │ │
|
|
63
|
+
│ │ Engine │ │ Executor │ │ Graphs │ │
|
|
64
|
+
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
|
65
|
+
│ │
|
|
66
|
+
│ ┌──────────────────────────────────────────────────┐ │
|
|
67
|
+
│ │ Supervisor Agent Network │ │
|
|
68
|
+
│ │ (Agents Watching Agents) │ │
|
|
69
|
+
│ └──────────────────────────────────────────────────┘ │
|
|
70
|
+
└─────────────────────────┬───────────────────────────────────┘
|
|
71
|
+
│
|
|
72
|
+
┌─────────────────────────▼───────────────────────────────────┐
|
|
73
|
+
│ LLM (Raw Compute) │
|
|
74
|
+
│ (GPT-4, Claude, Llama, etc.) │
|
|
75
|
+
└─────────────────────────┬───────────────────────────────────┘
|
|
76
|
+
│
|
|
77
|
+
┌─────────────────────────▼───────────────────────────────────┐
|
|
78
|
+
│ Execution Environment │
|
|
79
|
+
│ (Code, Databases, APIs, File System) │
|
|
80
|
+
└─────────────────────────────────────────────────────────────┘
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Think of It Like This:
|
|
84
|
+
- **LLM = CPU/Container**: Provides reasoning and compute
|
|
85
|
+
- **Control Plane = Orchestrator/OS**: Provides deterministic boundaries
|
|
86
|
+
|
|
87
|
+
The Control Plane creates a boundary around the stochastic (probabilistic) nature of the model using deterministic policies. It answers the questions the model cannot be trusted to answer for itself:
|
|
88
|
+
|
|
89
|
+
- **Identity**: Who is this agent acting on behalf of?
|
|
90
|
+
- **Topology**: What other agents or tools can it "see"?
|
|
91
|
+
- **Resource Limits**: How many steps is it allowed to take?
|
|
92
|
+
- **The "No-Fly" List**: What concepts are strictly forbidden?
|
|
93
|
+
|
|
94
|
+
## Core Components
|
|
95
|
+
|
|
96
|
+
### 1. Agent Kernel
|
|
97
|
+
|
|
98
|
+
The kernel is the central coordinator that mediates all agent interactions. It provides:
|
|
99
|
+
|
|
100
|
+
- **Permission Management**: 4-level system (NONE, READ_ONLY, READ_WRITE, ADMIN)
|
|
101
|
+
- **Request Validation**: Every action validated before execution
|
|
102
|
+
- **Risk Assessment**: Automatic scoring of action risk (0.0 to 1.0)
|
|
103
|
+
- **Audit Logging**: Complete traceability for compliance
|
|
104
|
+
- **Session Management**: Isolated contexts per agent
|
|
105
|
+
|
|
106
|
+
**Key Principle**: Like an OS kernel, it intercepts EVERY action before execution.
|
|
107
|
+
|
|
108
|
+
### 2. Policy Engine
|
|
109
|
+
|
|
110
|
+
Enforces governance rules and constraints:
|
|
111
|
+
|
|
112
|
+
- **Rate Limiting**: Per-minute, per-hour, concurrent execution limits
|
|
113
|
+
- **Resource Quotas**: Token limits, API call limits, compute time limits
|
|
114
|
+
- **Risk Policies**: Risk-based rules with thresholds
|
|
115
|
+
- **Custom Rules**: Pluggable validators for organization-specific policies
|
|
116
|
+
|
|
117
|
+
**Key Principle**: Policies are CODE, not prompts. They execute deterministically.
|
|
118
|
+
|
|
119
|
+
### 3. Execution Engine
|
|
120
|
+
|
|
121
|
+
Safely executes approved actions:
|
|
122
|
+
|
|
123
|
+
- **Sandboxing**: 4 levels (NONE, BASIC, STRICT, ISOLATED)
|
|
124
|
+
- **Timeout Enforcement**: Hard limits on execution time
|
|
125
|
+
- **Resource Monitoring**: Track CPU, memory, network usage
|
|
126
|
+
- **Error Handling**: Graceful failure and recovery
|
|
127
|
+
|
|
128
|
+
**Key Principle**: Even approved actions execute in controlled environments.
|
|
129
|
+
|
|
130
|
+
## Advanced Features
|
|
131
|
+
|
|
132
|
+
### The Mute Agent: Capability-Based Execution
|
|
133
|
+
|
|
134
|
+
**Problem**: Agents try to be helpful when they should return NULL.
|
|
135
|
+
|
|
136
|
+
**Solution**: Define explicit capabilities. Out-of-scope requests return NULL, not hallucinations.
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
# Define what this agent CAN do
|
|
140
|
+
capabilities = [
|
|
141
|
+
AgentCapability(
|
|
142
|
+
name="query_database",
|
|
143
|
+
action_types=[ActionType.DATABASE_QUERY],
|
|
144
|
+
validator=lambda req: req.parameters['query'].startswith('SELECT')
|
|
145
|
+
)
|
|
146
|
+
]
|
|
147
|
+
|
|
148
|
+
# Anything else? NULL.
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Result**: If you ask a SQL agent to "build a rocket," it returns NULL instead of trying to help.
|
|
152
|
+
|
|
153
|
+
### Shadow Mode: The Matrix for Agents
|
|
154
|
+
|
|
155
|
+
**Problem**: How do we trust agent behavior before production?
|
|
156
|
+
|
|
157
|
+
**Solution**: Simulation mode where agents THINK they're executing, but we're just logging and validating.
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
Agent: "I'm going to write to the database now"
|
|
161
|
+
Shadow Mode: *intercepts* "Sure buddy. Let me just log what you WOULD do..."
|
|
162
|
+
"And validate it against all policies..."
|
|
163
|
+
"And calculate the impact..."
|
|
164
|
+
"But I'm not actually doing it."
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Benefits**:
|
|
168
|
+
- Test agent behavior without side effects
|
|
169
|
+
- Validate policy coverage
|
|
170
|
+
- Analyze reasoning chains
|
|
171
|
+
- Safe experimentation
|
|
172
|
+
|
|
173
|
+
### Constraint Graphs: Multi-Dimensional Context
|
|
174
|
+
|
|
175
|
+
**Problem**: Context in an enterprise isn't flat; it's a graph.
|
|
176
|
+
|
|
177
|
+
**Solution**: Three types of graphs that act as the "physics" of the agent's world:
|
|
178
|
+
|
|
179
|
+
#### 1. Data Graph
|
|
180
|
+
What data resources exist and are accessible:
|
|
181
|
+
- Database tables and schemas
|
|
182
|
+
- File systems and directories
|
|
183
|
+
- API endpoints
|
|
184
|
+
- Data lakes
|
|
185
|
+
|
|
186
|
+
#### 2. Policy Graph
|
|
187
|
+
What corporate rules and compliance constraints apply:
|
|
188
|
+
- "No PII in output"
|
|
189
|
+
- "Finance data requires CFO approval"
|
|
190
|
+
- "HIPAA protected resources"
|
|
191
|
+
|
|
192
|
+
#### 3. Temporal Graph
|
|
193
|
+
What is true RIGHT NOW:
|
|
194
|
+
- Maintenance windows (no writes 2-4 AM)
|
|
195
|
+
- Business hours (9-5 EST)
|
|
196
|
+
- Freeze periods (end of quarter)
|
|
197
|
+
- Peak traffic hours (throttle)
|
|
198
|
+
|
|
199
|
+
**Key Principle**: Deterministic Enforcement.
|
|
200
|
+
|
|
201
|
+
If a SQL Agent tries to query a table that exists in the Data Graph but is blocked in the Policy Graph, the Control Plane intercepts the action. **The request never even reaches the database.**
|
|
202
|
+
|
|
203
|
+
The LLM can "think" whatever it wants, but it can only **ACT** on what the graphs permit.
|
|
204
|
+
|
|
205
|
+
### Supervisor Agents: Recursive Governance
|
|
206
|
+
|
|
207
|
+
**Problem**: Eventually, the Control Plane itself will be too complex for humans to manage manually.
|
|
208
|
+
|
|
209
|
+
**Solution**: Supervisor Agents - specialized, highly constrained agents whose ONLY job is to watch worker agents and flag violations to humans.
|
|
210
|
+
|
|
211
|
+
**Agents watching agents, bound by a constitution of code.**
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
Worker Agents → Do the actual work
|
|
215
|
+
↓
|
|
216
|
+
Supervisor Agents → Watch workers, detect anomalies
|
|
217
|
+
↓
|
|
218
|
+
Meta-Supervisors → Watch supervisors (optional)
|
|
219
|
+
↓
|
|
220
|
+
Human Oversight → Final escalation
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**What They Detect**:
|
|
224
|
+
- Repeated failures
|
|
225
|
+
- Excessive risk scores
|
|
226
|
+
- Policy circumvention attempts
|
|
227
|
+
- Anomalous behavior patterns
|
|
228
|
+
- Resource exhaustion
|
|
229
|
+
|
|
230
|
+
**Key Principle**: Supervisors are MORE constrained than workers. They can only READ logs, not EXECUTE actions.
|
|
231
|
+
|
|
232
|
+
## The Governance Pipeline
|
|
233
|
+
|
|
234
|
+
Every action goes through this pipeline:
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
1. Mute Agent Validation
|
|
238
|
+
└─> Does this map to a defined capability?
|
|
239
|
+
└─> NO → Return NULL
|
|
240
|
+
└─> YES → Continue
|
|
241
|
+
|
|
242
|
+
2. Permission Check (Kernel)
|
|
243
|
+
└─> Does agent have required permission level?
|
|
244
|
+
└─> NO → DENIED
|
|
245
|
+
└─> YES → Continue
|
|
246
|
+
|
|
247
|
+
3. Constraint Graph Validation
|
|
248
|
+
└─> Data Graph: Is resource accessible?
|
|
249
|
+
└─> Policy Graph: Any blocking rules?
|
|
250
|
+
└─> Temporal Graph: Allowed right now?
|
|
251
|
+
└─> Any violation → DENIED
|
|
252
|
+
└─> All pass → Continue
|
|
253
|
+
|
|
254
|
+
4. Policy Engine Validation
|
|
255
|
+
└─> Rate limits okay?
|
|
256
|
+
└─> Custom rules satisfied?
|
|
257
|
+
└─> Any violation → DENIED
|
|
258
|
+
└─> All pass → Continue
|
|
259
|
+
|
|
260
|
+
5. Risk Assessment (Kernel)
|
|
261
|
+
└─> Calculate risk score (0.0 to 1.0)
|
|
262
|
+
└─> Within acceptable limits?
|
|
263
|
+
└─> NO → DENIED
|
|
264
|
+
└─> YES → Continue
|
|
265
|
+
|
|
266
|
+
6. Execution
|
|
267
|
+
└─> Shadow Mode?
|
|
268
|
+
└─> YES → Simulate and log
|
|
269
|
+
└─> NO → Execute in sandbox
|
|
270
|
+
|
|
271
|
+
7. Audit Logging (Kernel)
|
|
272
|
+
└─> Record everything
|
|
273
|
+
└─> Update metrics
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**If ANY step fails, the action is denied and logged.**
|
|
277
|
+
|
|
278
|
+
## Security Model
|
|
279
|
+
|
|
280
|
+
### Defense in Depth
|
|
281
|
+
|
|
282
|
+
Multiple layers of security:
|
|
283
|
+
|
|
284
|
+
1. **Permission Layer**: Coarse-grained access control
|
|
285
|
+
2. **Policy Layer**: Fine-grained rule enforcement
|
|
286
|
+
3. **Constraint Graph Layer**: Context-aware validation
|
|
287
|
+
4. **Risk Layer**: Dynamic threat assessment
|
|
288
|
+
5. **Execution Layer**: Sandboxed environment
|
|
289
|
+
6. **Supervision Layer**: Continuous monitoring
|
|
290
|
+
|
|
291
|
+
### Default Deny
|
|
292
|
+
|
|
293
|
+
- Agents start with minimal permissions
|
|
294
|
+
- Resources not in graphs are inaccessible
|
|
295
|
+
- Unknown action types are denied
|
|
296
|
+
- High-risk actions require elevated permissions
|
|
297
|
+
|
|
298
|
+
### Auditability
|
|
299
|
+
|
|
300
|
+
Every action is logged with:
|
|
301
|
+
- Who (agent ID, session ID)
|
|
302
|
+
- What (action type, parameters)
|
|
303
|
+
- When (timestamp)
|
|
304
|
+
- Why (risk score, policy decisions)
|
|
305
|
+
- Outcome (success/failure, result)
|
|
306
|
+
|
|
307
|
+
## Comparison with Other Approaches
|
|
308
|
+
|
|
309
|
+
| Aspect | Prompt Engineering | Guardrails | Tool Directory | Agent Control Plane |
|
|
310
|
+
|--------|-------------------|------------|----------------|-------------------|
|
|
311
|
+
| **Enforcement** | Advisory (hope) | Reactive (post-process) | Discovery (phonebook) | **Deterministic (kernel)** |
|
|
312
|
+
| **Scope** | Text/context | Input/output content | Tool availability | **Execution & capabilities** |
|
|
313
|
+
| **Timing** | Pre-generation | Post-generation | Pre-execution | **Pre-execution** |
|
|
314
|
+
| **Failures** | Hallucination | Content leak | Wrong tool | **Hard denial** |
|
|
315
|
+
| **Auditability** | Low | Medium | Low | **Complete** |
|
|
316
|
+
| **Simulation** | No | No | No | **Yes (Shadow Mode)** |
|
|
317
|
+
|
|
318
|
+
## When to Use
|
|
319
|
+
|
|
320
|
+
### Use Agent Control Plane When:
|
|
321
|
+
- Deploying agents in production environments
|
|
322
|
+
- Compliance and audit trails are required
|
|
323
|
+
- Agents have access to sensitive data or critical systems
|
|
324
|
+
- Multiple agents need isolation
|
|
325
|
+
- You need deterministic enforcement, not advisory hints
|
|
326
|
+
|
|
327
|
+
### Use Prompt Engineering When:
|
|
328
|
+
- Building prototypes or demos
|
|
329
|
+
- No security or compliance requirements
|
|
330
|
+
- Agent behavior is not critical
|
|
331
|
+
- You're okay with probabilistic boundaries
|
|
332
|
+
|
|
333
|
+
### Use Both:
|
|
334
|
+
The Agent Control Plane doesn't replace good prompting—it provides the deterministic layer that prompts cannot. Use prompts to guide agent behavior; use the Control Plane to enforce boundaries.
|
|
335
|
+
|
|
336
|
+
## Future Directions
|
|
337
|
+
|
|
338
|
+
1. **Distributed Execution**: Scale across multiple nodes with shared policy state
|
|
339
|
+
2. **ML-Based Risk**: Use historical data to predict action risk
|
|
340
|
+
3. **Auto-Policy Generation**: Learn policies from past agent behavior
|
|
341
|
+
4. **Visual Dashboard**: Real-time monitoring of agent swarm
|
|
342
|
+
5. **Integration with External Systems**: Connect to enterprise IAM, secrets management, observability platforms
|
|
343
|
+
|
|
344
|
+
## Conclusion
|
|
345
|
+
|
|
346
|
+
**The "magic" phase of AI is ending. The "engineering" phase is beginning.**
|
|
347
|
+
|
|
348
|
+
We are moving away from prompt engineering and toward **Agent Orchestration and Governance**. The winners of the next cycle won't be the ones with the cleverest prompts; they will be the ones who can guarantee safety, predictability, and control.
|
|
349
|
+
|
|
350
|
+
**Don't build a chatbot. Build a Control Plane.**
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
*"In the world of distributed systems, we don't ask nicely. We enforce. It's time to bring that same rigor to AI agents."*
|