Parent Story
Part of SprintStartProject/Wiki#319 (chat → Buddy migration). Blocks SprintStartProject/sprintstart-backend#214, which starts feeding Buddy questions into the FAQ. Can be done in parallel with sprintstart-ai#206.
Why
Decision (Wiki#319, 2026-09-25): every question in a project-scoped Buddy conversation feeds the FAQ, in both capability modes; only the AI classifier filters.
Chat only ever received documentation questions. Buddy with capabilities on also gets mentor and action requests:
- "move my card to done"
- "what should I work on next?"
- "remind my PM about the review"
- "summarise my onboarding path"
Both FAQ prompts describe their input as questions "asked to a docs chatbot". Their discard rules only name greetings, smalltalk and thanks, so these requests would become FAQ entries.
Changes
insights/faq_classification.py _CLASSIFY_SYSTEM, rule 1: also set relevant = false for requests to do something (board actions, reminders, messages to the PM), for questions about the asker's own onboarding state (their tasks, progress, path), and for follow-ups that only make sense inside a conversation ("and the second one?"). Keep it a documentation question when the same docs would answer anyone who asks.
insights/faq.py _GROUPING_SYSTEM, rule 1: the same, via discard_ids, so a full rebuild agrees with the live classifier.
- Replace "documentation chatbot" / "docs chatbot" with a neutral "the project's assistant" in both prompts, and update
FaqClassifyRequest.question's description ("asked in the chat").
- No schema change: the backend keeps sending question text only. It strips quoted selections before sending (backend#214).
Acceptance Criteria
Parent Story
Part of SprintStartProject/Wiki#319 (chat → Buddy migration). Blocks SprintStartProject/sprintstart-backend#214, which starts feeding Buddy questions into the FAQ. Can be done in parallel with sprintstart-ai#206.
Why
Decision (Wiki#319, 2026-09-25): every question in a project-scoped Buddy conversation feeds the FAQ, in both capability modes; only the AI classifier filters.
Chat only ever received documentation questions. Buddy with capabilities on also gets mentor and action requests:
Both FAQ prompts describe their input as questions "asked to a docs chatbot". Their discard rules only name greetings, smalltalk and thanks, so these requests would become FAQ entries.
Changes
insights/faq_classification.py_CLASSIFY_SYSTEM, rule 1: also setrelevant = falsefor requests to do something (board actions, reminders, messages to the PM), for questions about the asker's own onboarding state (their tasks, progress, path), and for follow-ups that only make sense inside a conversation ("and the second one?"). Keep it a documentation question when the same docs would answer anyone who asks.insights/faq.py_GROUPING_SYSTEM, rule 1: the same, viadiscard_ids, so a full rebuild agrees with the live classifier.FaqClassifyRequest.question's description ("asked in the chat").Acceptance Criteria
relevant = falsein classify and land indiscard_idsin grouptests/insights/test_faq_classification.pyandtest_faq.pycover each discard category, withScriptedLLMClientasserting the prompt contains the new rulesuv run ruff format --check .,uv run ruff check .,uv run pyright src/,uv run pytest