Skip to content

FAQ prompts: accept Buddy questions and drop action/mentor requests (chat → Buddy migration) #209

Description

@daniilperkin

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

  • Action requests, personal-state questions and context-only follow-ups are relevant = false in classify and land in discard_ids in group
  • Documentation questions asked in a mentor tone ("how do I get VPN access?") still count
  • Tests in tests/insights/test_faq_classification.py and test_faq.py cover each discard category, with ScriptedLLMClient asserting the prompt contains the new rules
  • Gates pass: uv run ruff format --check ., uv run ruff check ., uv run pyright src/, uv run pytest

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions