- Add ModelRouter with resolve_model() and resolve_embedding_model()
mapping TaskComplexity to configured models with alias expansion
- Add model_hint field to InferenceParams proto for explicit model override
- Add audit_log_inference() helper (best-effort, SHA-256 hash)
- Add with_audit_client() builder on ModelGatewayServiceImpl
- Connect AuditServiceClient in main.rs when audit_addr is configured
- 63 tests passing (12 routing, 3 service integration, 48 existing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rust: tonic-build via build.rs compiles all protos at build time.
Python: buf generate with remote plugins outputs to gen/python/.
Both verified: Rust cargo check passes, Python imports work.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Define SessionContext, AgentLineage, AgentType, ToolType, OverrideLevel,
SubagentResult, and other shared types used across all services.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- buf.yaml with STANDARD lint rules
- buf.gen.yaml with Rust (prost/tonic) and Python (grpcio) targets
- Placeholder .proto files for all 8 service definitions
- CI-ready generate.sh script
- README with development workflow and conventions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>