feat(acms): add text, vector, and graph backend protocol implementations #1105

Merged
freemo merged 1 commits from feature/m5-acms-backends into master 2026-03-24 18:28:03 +00:00
+9
View File
@@ -35,6 +35,15 @@
with `shlex.split()` and `shell=False` for defense-in-depth command injection
prevention, consistent with the existing pattern in
`cli_plan_context_commands_steps.py`. (#734)
- Added ACMS Backend Abstraction Layer (BAL) protocol definitions and
in-memory stub implementations. Defines `TextBackend`, `VectorBackend`,
and `GraphBackend` protocols with frozen result dataclasses (`TextResult`,
`VectorResult`, `GraphResult`). In-memory stubs (`InMemoryTextBackend`,
`InMemoryVectorBackend`, `InMemoryGraphBackend`) validate arguments and
return empty results for development and testing. Backends registered as
configurable singletons in the DI container with provider selection via
`override_providers()`. Includes Behave BDD tests (35 scenarios), Robot
Framework smoke tests, ASV benchmarks, and reference documentation. (#498)
- Added BuiltinAdapter class and MCP automatic resource slot creation.
BuiltinAdapter wraps register_file_tools/register_git_tools/register_subplan_tool
into a unified adapter interface. McpAdapter.infer_resource_slots() analyzes