Vector Database: Semantic ability selection + NLP test framework
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- javascript, wasm
- Domain
- ai, frontend, search, testing-qa
Research direction
Start by reviewing the proposed src/services/embeddings.js, src/services/vector-store.js, and src/services/ability-matcher.js structure, then inspect src/tests/nlp-ability-matching.test.js and its fixtures. Done means browser-loaded embeddings, top-K similarity results, CI-friendly NLP validation, and at least 20 scenarios with over 90% passing.
Written by the indexing model from the issue text.
Description
Goal
Implement client-side vector database for semantic ability selection, with automated testing framework for NLP input validation.
Part 1: Vector Database Implementation
Architecture
- Embeddings model: all-MiniLM-L6-v2 via transformers.js (~80MB)
- Vector store: hnswlib-wasm OR simple cosine similarity (if only 12 abilities)
- Flow:
- User input → embedding
- Similarity search → top 3-4 relevant abilities
- Pass only those to ReAct loop (not all 12)
Embedding Data
For each ability, embed:
- Name + description
- Example trigger phrases
- Keywords
- Expected outcomes
Benefits
- Reduced context: Small model sees 3-4 abilities instead of 12
- Better accuracy: More relevant tool suggestions
- Privacy-first: All embeddings computed client-side
- Semantic matching: "site is slow" matches cache-flush + db-optimize, not error-log-read
Part 2: NLP Testing Framework
Goal
Unit-test-style validation for vector DB quality. Essential for hackathon team iteration.
Test Structure
const nlpTests = [
{
input: "my site is slow",
expectedAbilities: ["cache-flush", "db-optimize", "site-health"],
notExpected: ["error-log-read", "plugin-activate"]
},
{
input: "500 error on homepage",
expectedAbilities: ["error-log-read", "plugin-list", "site-health"],
notExpected: ["cache-flush", "revision-cleanup"]
},
{
input: "need to clean up database",
expectedAbilities: ["db-optimize", "revision-cleanup", "transient-flush"],
notExpected: ["plugin-activate", "rewrite-flush"]
}
];
Test Runner
- Run similarity search for each test input
- Verify top-K results match expected abilities
- Flag mismatches
- Output: Pass/Fail with similarity scores
- CI-friendly (can run in GitHub Actions)
Iteration Workflow (for hackathon team)
- Tester adds new NLP input example
- Runs test suite
- If fails, adjusts ability embeddings (description, keywords)
- Re-runs tests
- Repeat until all pass
Test Output Example
✅ "my site is slow" → cache-flush (0.89), db-optimize (0.85), site-health (0.78)
❌ "500 error" → Expected error-log-read (0.92) ✅, plugin-list (0.65) ✅, but got cache-flush (0.71) ❌
Implementation Files
src/
├── services/
│ ├── embeddings.js # transformers.js wrapper
│ ├── vector-store.js # similarity search
│ └── ability-matcher.js # top-K retrieval
└── __tests__/
├── nlp-ability-matching.test.js # main test suite
└── fixtures/
└── test-cases.json # test inputs + expectations
Success Criteria
- Embeddings model loads in browser
- Similarity search returns top-K abilities
- Test framework validates NLP → ability mappings
- At least 20 test cases covering common SRE scenarios
- >90% test pass rate before hackathon
Priority
High - critical for vector DB quality validation
Deadline
Target: March 8 (1 week before CloudFest for team iteration)
Resources
- transformers.js
- hnswlib-wasm
- Audio explanation: /tmp/vector-db-explanation.mp3 (sent to Marcel on Feb 6)
- Dominant language
- JavaScript
- Stars
- 28
- Forks
- 6
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pluginslab/wp-agentic-admin
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
pluginslab/wp-agentic-admin#226 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
pluginslab/wp-agentic-admin#215 ·
-
php question wporg-submission
pluginslab/wp-agentic-admin#228 · 5 comments · 2 assignees ·
-
enhancement react-js ux
Difficulty 5/5 Over a week Newbie friendliness 35/100
pluginslab/wp-agentic-admin#224 ·
-
enhancement ux
Difficulty 4/5 3-5 days Newbie friendliness 48/100
pluginslab/wp-agentic-admin#223 ·
All issues in pluginslab/wp-agentic-admin
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
area-deployment area-integrations triage:bot-seen
Difficulty 2/5 Half a day Newbie friendliness 86/100
-
Issue-Bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
sugarlabs/musicblocks#8924 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
ArduPilot/ardupilot_wiki#8088 ·
-
[BUG] createTool tools cannot be registered with Mastra when exactOptionalPropertyTypes is enabled Opencustomer-eng status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 84/100