User Story
As an AI agent that just used a knowledge entry to solve a problem, I want to call sk rate_entry via MCP to mark the entry as helpful or misleading, so future briefings benefit from feedback inline.
Background
query-session.py has --feedback good|bad|neutral writing to search_feedback. briefing.py reads search_feedback in _apply_feedback_bias_to_knowledge() for ±0.15 reranking. But there is no rate_entry MCP tool — agents cannot close the feedback loop inline.
Acceptance Criteria
Complexity: S | Impact: H
Files: mcp-server.py, migrate.py, test_fixes.py
User Story
As an AI agent that just used a knowledge entry to solve a problem, I want to call sk rate_entry via MCP to mark the entry as helpful or misleading, so future briefings benefit from feedback inline.
Background
query-session.py has --feedback good|bad|neutral writing to search_feedback. briefing.py reads search_feedback in _apply_feedback_bias_to_knowledge() for ±0.15 reranking. But there is no rate_entry MCP tool — agents cannot close the feedback loop inline.
Acceptance Criteria
rate_entrytool to mcp-server.py TOOLS list with schema:{entry_id: integer, verdict: enum[good,bad,neutral], note?: string}notecolumn on search_feedback (migration)Complexity: S | Impact: H
Files: mcp-server.py, migrate.py, test_fixes.py