Pipeline Steps
Simili Bot’s modular pipeline consists of 13 composable steps.Step overview
| # | Step | Purpose | Speed | Dependencies |
|---|---|---|---|---|
| 1 | gatekeeper | Check repo enabled | <1ms | Config |
| 2 | command_handler | Parse commands | <10ms | GitHub |
| 3 | vectordb_prep | Ensure collection | 10-100ms | Qdrant |
| 4 | similarity_search | Find related | 500ms-1s | Qdrant, Embedder |
| 5 | transfer_check | Rule-based route | <100ms | Transfer |
| 6 | llm_router | AI routing | 2-5s | LLM |
| 7 | duplicate_detector | Identify dupes | 2-5s | LLM |
| 8 | quality_checker | Score issue | 1-3s | LLM |
| 9 | triage | Suggest labels | 1-2s | LLM |
| 10 | response_builder | Build comment | <100ms | Results |
| 11 | action_executor | Post to GitHub | 100-500ms | GitHub API |
| 12 | indexer | Add to vector DB | 500ms-1s | Qdrant, Embedder |
| 13 | pending_actions | Schedule ops | <10ms | State |
Detailed steps## Detailed steps
1. gatekeeper
Checks if repository is enabled in configuration. Input: Issue, Config Output: Skip if disabled Speed: <1ms Dependencies: None2. command_handler
Processes@simili-bot commands in issue comments.
Input: Comments
Output: Commands parsed
Speed: <10ms
Dependencies: GitHub API
3. vectordb_prep
Ensures Qdrant collection exists, creates if needed. Input: Config Output: Collection ready Speed: 10-100ms Dependencies: Qdrant4. similarity_search
Finds related issues using semantic search. Input: Issue embedding Output: Related issues list Speed: 500ms-1s Dependencies: Qdrant, Embedder5. transfer_check
Evaluates rule-based routing against configured rules. Input: Issue metadata Output: Target repository (or empty) Speed: <100ms Dependencies: Transfer matcher6. llm_router
Uses AI to determine correct repository based on content. Input: Issue + repo descriptions Output: Routing recommendation Speed: 2-5s Dependencies: LLM (Gemini)7. duplicate_detector
Analyzes similar issues to identify duplicates. Input: Similar issues, current issue Output: Duplicate info + confidence score Speed: 2-5s Dependencies: LLM8. quality_checker
Assesses issue description quality. Input: Issue content Output: Quality score + improvement suggestions Speed: 1-3s Dependencies: LLM9. triage
Suggests appropriate labels based on content. Input: Issue + existing labels Output: Suggested labels with confidence Speed: 1-2s Dependencies: LLM10. response_builder
Constructs comprehensive analysis comment from results. Input: All previous step results Output: Formatted comment text Speed: <100ms Dependencies: None (uses previous results)11. action_executor
Posts to GitHub and applies suggested actions. Input: Comment text, labels, transfer target Output: GitHub updates Speed: 100-500ms per action Dependencies: GitHub API12. indexer
Adds or updates issue in vector database for semantic search. Input: Issue text + metadata Output: Indexed in Qdrant Speed: 500ms-1s Dependencies: Embedder, Qdrant13. pending_action_scheduler
Schedules actions for later execution. Input: Pending actions Output: Scheduled operations Speed: <10ms Dependencies: State managementExecution flow
Context object, passing data forward.
Step dependencies
Steps can be reordered but dependencies matter:similarity_searchneedsvectordb_prepduplicate_detectorneedssimilarity_searchllm_routeroptional (needs LLM only)response_buildershould be near endaction_executorshould be near end