Documentation Index
Fetch the complete documentation index at: https://simili.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Pipeline Context
Understanding how data flows through Simili Bot’s pipeline.
Context object
Single Context object carries data through all 13 steps:
type Context struct {
Issue Issue
Config *Config
Result *Result
Metadata map[string]interface{}
}
Issue
GitHub issue data:
type Issue struct {
Org string
Repo string
Number int
Title string
Body string
State string // "open" or "closed"
URL string
Labels []string
Author string
EventType string // "issues" or "issue_comment"
CommentBody string
CommentAuthor string
}
Result
Accumulates analysis results:
type Result struct {
IssueNumber int
Skipped bool
SimilarFound []SimilarIssue
TransferTarget string
Transferred bool
CommentPosted bool
Indexed bool
SuggestedLabels []string
QualityScore float64
QualityIssues []string
IsDuplicate bool
DuplicateOf int
DuplicateConfidence float64
Errors []string
}
Step-to-step communication:
Metadata["similar_issues"] = []Issue{...}
Metadata["quality_analysis"] = QualityResult{...}
Metadata["transfer_decision"] = TransferDecision{...}
Each step adds to this map for later steps to read.
Data flow example
Step 1: gatekeeper
→ Result.Skipped = false (repo enabled)
Step 4: similarity_search
→ Metadata["similar_issues"] = [issue1, issue2, issue3]
→ Result.SimilarFound = [...]
Step 7: duplicate_detector
→ Reads Metadata["similar_issues"]
→ Result.IsDuplicate = true
→ Result.DuplicateOf = 234
→ Result.DuplicateConfidence = 0.87
Step 10: response_builder
→ Reads Result.SimilarFound
→ Reads Result.IsDuplicate
→ Reads Result.QualityScore
→ Builds formatted comment text
Step 11: action_executor
→ Posts comment from Step 10
→ Applies labels from Result.SuggestedLabels
→ Transfers to Result.TransferTarget
Step 13: Output
→ Return populated Result
Error handling
Errors accumulate, don’t stop pipeline:
// If step fails:
if err != nil {
result.Errors = append(result.Errors, err.Error())
// Continue to next step
}
All errors reported in final Result.
Next steps
Pipeline steps
Details on each of the 13 steps