Paradaux

PAR-227

0

Triage bot: conversational ANSWER action — reply in natural language with cited issues

DoneUnassignedTesksFeature

Make the bot actually agentic: not just a CREATE/UPDATE/COMMENT/FIND/NONE classifier, but able to answer questions about the workspace in natural language, grounded in data it looks up with its tools, and surface the issues it cites as an embed.

New ANSWER action (TriageDecision): the model can, after using the existing read tools (search_tasks / get_task) in the agentic loop, emit {"action":"ANSWER","answer":"…","refs":["ENG-1"]}. The service (applyAnswer) resolves the cited refs to tasks and returns a TriageResult.ANSWERED; the Discord embed renders the prose reply plus a "Referenced" list of linked issues. ANSWER is read-only (no confirm step — replies immediately like FIND).

Prompting: ANSWER handles "is there an issue for X?", "what's the status of ENG-12?", "how many open bugs?", "what's Alice working on?". Hard rule: ground every claim in tool results — never state a ref/status/count it didn't look up; if nothing was found, say so. Genuine workspace questions → ANSWER; off-topic general-assistant asks (code/trivia/maths) or banter/insults → still NONE. FIND remains for bare "search/list X".

Full backend suite green incl. a new ANSWER apply test (cited refs resolved into the embed).

Not in this change: true semantic (vector/embedding) search — retrieval still uses the existing Postgres full-text search (recall-first OR-prefix + ts_rank). Adding pgvector + an embedding/backfill pipeline is a separate follow-up if we want semantic recall.

Resources

Comments

No comments yet.

Activity

  • paradaux changed status to Status → Done
  • tesks changed status to Status → Pending Release
  • ParadauxIO linked a commit — Commit 1469780 — Triage: add a conversational ANSWER action with cited issues (PAR-227)
  • tesks created the issue