From 7d92387bb8566fc438578df7c7064c5789952a1c Mon Sep 17 00:00:00 2001 From: fez5587 Date: Mon, 26 Oct 2026 23:01:48 -0500 Subject: [PATCH] coach: accept rules_context in build_user_prompt (every Coach request failed) Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_016Er49soaMyG7Yburq57PeB --- coach/prompt_template.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/coach/prompt_template.py b/coach/prompt_template.py index 528e7af..a8555fa 100644 --- a/coach/prompt_template.py +++ b/coach/prompt_template.py @@ -546,6 +546,21 @@ def build_quick_system_prompt(report: DeckReport, def build_user_prompt(report: DeckReport, + candidates: Dict[str, List[dict]] = None, + rag_cards: List[dict] = None, + rules_context: List[dict] = None) -> str: # FARMHOUSE_RULES_CONTEXT + text = _farmhouse_build_user_prompt(report, candidates, rag_cards) + rules = [] + for item in (rules_context or [])[:3]: + body = (item.get('text') or item.get('document') or item.get('content')) if isinstance(item, dict) else str(item) + if body: + rules.append('- ' + str(body).strip()[:700]) + if rules: + text += '\n\n## Relevant rules (for grounding; do not quote them back)\n' + '\n'.join(rules) + return text + + +def _farmhouse_build_user_prompt(report: DeckReport, candidates: Dict[str, List[dict]] = None, rag_cards: List[dict] = None) -> str: """Build the user prompt with full deck report data.