Commit Graph

6 Commits

Author SHA1 Message Date
Pi Agent
8620a88f0a feat: implement model routing logic and audit logging (issue #40)
- 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>
2026-03-10 14:04:46 +01:00
5d46bd3b94 feat: implement provenance tagging and poisoning protection (issue #33) 2026-03-10 00:45:37 +01:00
shahondin1624
de5e1ee48e feat: set up Rust and Python stub generation (#16, #17)
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>
2026-03-09 07:43:40 +01:00
shahondin1624
1ee3da58f3 feat: define all service proto files (#9-#15)
- audit.proto: AuditService with Append RPC, AuditEntry, AuditAction enum
- secrets.proto: SecretsService with GetSecret RPC
- memory.proto: MemoryService with QueryMemory (streaming), WriteMemory, GetCorrelated
- model_gateway.proto: ModelGatewayService with StreamInference, Inference, GenerateEmbedding, IsModelReady
- search.proto: SearchService with Search RPC, SearchResult
- tool_broker.proto: ToolBrokerService with DiscoverTools, ExecuteTool (streaming), ValidateCall
- orchestrator.proto: OrchestratorService with ProcessRequest (streaming)

All protos pass buf lint and buf build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 07:31:37 +01:00
shahondin1624
3bd3f480df feat: define common.proto shared types (issue #8)
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>
2026-03-08 21:46:50 +01:00
shahondin1624
a804054c92 chore: set up proto project structure and build tooling (issue #7)
- 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>
2026-03-08 21:40:17 +01:00