# Brief: evidence-trace-hardening ## Background The MVP already has persisted tool traces and a verifier, but the evidence contract is still only partially standardized. For interview-focused hardening, the project now needs a tighter contract for evidence persistence, no-evidence / failure semantics, and degraded-output behavior. ## Goals 1. Standardize the persisted evidence-tool contract across `lookup_knowledge`, `query_logs`, and `query_metrics`. 2. Make verifier-facing summaries distinguish failed calls, no-hit calls, deduped retrievals, and actual supporting evidence. 3. Add offline tests for verifier fallback and degraded-output paths. ## Scope - `ToolInvocationRecorder` - `LookupKnowledgeTool` - `QueryLogsTools` - `QueryMetricsTools` - `ToolTraceSummaryService` - `ChatService` - Focused offline tests ## Non-Goals - No new API or schema - No evaluation harness yet - No trace UI - No security/config cleanup ## Related OpenSpec `openspec/changes/evidence-trace-hardening/`