SuruchBoss / SuruchBoss/Cwork

CW-018 · Semantic knowledge search

Open
#16 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

assistant P3
Dominant language
TypeScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Priority P3 · Area assistant · Estimate M

Retrieval is full-text plus trigram, which handles Thai well and needs no embeddings — deliberately. pgvector is installed but unused. Paraphrased questions ("can I get money for my kid's school fees?" against a document titled "สวัสดิการการศึกษาบุตร") are where lexical search gives up.

Scope

Optional embedding pipeline behind the existing provider interface; hybrid ranking with the lexical score; keep lexical as the default so the assistant still works with no external API.

Acceptance

With embeddings off, behaviour is unchanged. With them on, paraphrased queries retrieve the right document, measured against a fixture set.

Files backend/src/modules/assistant/


Tracked in docs/backlog.md.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in backend/src/modules/assistant/ and trace the existing provider interface and full-text/trigram retrieval path. Define how the optional embedding pipeline combines with the lexical score while preserving the default behavior, then use the fixture set to verify paraphrased queries retrieve the intended document with embeddings enabled and unchanged results with them off.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql, typescript
Domain
ai, backend, search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.