- Config: stats_backend, grpc_max_message_mb, grpc_deadline_seconds,
source_endpoint_enabled, source_repository_url fields
- Rust scorer registered in backend registry (conditional on backfire_kernel)
- gRPC: message size limits, keepalive, batch cap (1000), optional reflection
- Stats: Prometheus-primary, SQLite opt-in (deprecated for v3.0 removal)
- AGPL §13: /v1/source endpoint (auth-exempt, disableable)
- Streaming: live token generation via generator.stream_tokens() +
CoherenceAgent.stream() yielding (token, coherence) tuples;
WebSocket and gRPC refactored to use live stream
- CI: optional-deps test matrix (server, ratelimit, grpc),
docker smoke test (main only), SBOM release attachment
- Version bump 2.4.0 → 2.5.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>