llm-connect is operational (operator set OPENROUTER_API_KEY). Contract discovered from
the running service: POST /execute {"prompt":...} -> {"content":...}.
LlmConnectBrain embeds the fixed charter + the inbox message as untrusted data, calls
/execute, and parses a JSON action plan (_extract_json tolerates fences/prose), escalating
defensively on malformed/empty/transport errors. The build_plans guardrail still enforces
the allowlist + no-secret invariant on whatever the model returns — the LLM cannot widen
ops-warden's authority. `warden worker run --brain rule|llm` selects the planner.
Live-verified on the real inbox: the LLM brain planned a sensible reply+mark_read for a
secrets-engine coordination message and correctly escalated a secret-custody request as
out-of-lane — better classification than the deterministic RuleBrain.
6 new tests, 236 pass, lint clean. T3 (guarded executor) and T4 (scheduling) remain.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_access.py | ||
| test_ca.py | ||
| test_cli.py | ||
| test_config.py | ||
| test_doubles.py | ||
| test_flex_auth_registry.py | ||
| test_integration.py | ||
| test_inventory.py | ||
| test_models.py | ||
| test_policy.py | ||
| test_posture.py | ||
| test_posture_conformance.py | ||
| test_principals_drift.py | ||
| test_proxy.py | ||
| test_routing.py | ||
| test_scorecard.py | ||
| test_tunnel_cert_readiness.py | ||
| test_vault.py | ||
| test_worker.py | ||