How lakshyapanwar05/troubleshoot-engine works
Smart Guided Troubleshooting Engine is an offline-first Python service that turns a customer complaint and optional support-document (SIIS) text into a validated troubleshooting plan. The main workflow enters through the API, normalizes the query, processes relevant support sections into classified and ordered actions, matches actionable steps to catalog deeplinks, then applies a safety and formatting gate before returning the response. The README documents additional semantic caching, paraphrase handling, and deterministic rule-based output. Connections for unsampled implementation details are limited to documented capabilities or the orchestrator’s indexed references.
Main entry points: pipeline.py Pipeline Orchestrator · main.py Troubleshoot API · loader.py Data Loader · classify.py Action Classifier
Components 22
Service API
- Troubleshoot API
app/main.py - Request Contract
app/envelope.py - Plan Schema
schema.py
Query and Support Text
- Query Normalizer
app/normalize.py - SIIS Sectioner
app/sectioner.py
Plan Construction
- Pipeline Orchestrator
app/pipeline.py - Step Extractor
app/steps.py - Action Classifier
app/classify.py - Deeplink Matcher
app/deeplinks.py - Hybrid Retrieval
app/retrieval.py - Text Rule Formatter
app/textrules.py - Action Orderer
app/ordering.py
Rules and Catalog
- Data Loader
app/loader.py - SIIS Articles
data/siis_responses.json - Classification Rules
rules/categories.yaml - Symptom Rules
rules/symptoms.yaml - Deeplink Catalog
data/deeplinks.json
Cache and Validation
- Query Variations
app/variations.py - Semantic Plan Cache
app/cache.py - Safety Validator
app/validators.py - Optional LLM Stub
app/llm_optional.py
Other components
- Customer
Connections 24
- Customer → Troubleshoot API: submits query
app/main.py - Troubleshoot API → Request Contract: parses request
app/main.py - Troubleshoot API → Pipeline Orchestrator: calls pipeline
app/main.py - Troubleshoot API → Data Loader: loads startup articles
app/main.py - Troubleshoot API → Plan Schema: uses response type
app/main.py - Troubleshoot API → Customer: returns plan
app/main.py - Pipeline Orchestrator → Query Normalizer: normalizes query
app/pipeline.py - Pipeline Orchestrator → SIIS Sectioner: parses SIIS text
app/pipeline.py - Pipeline Orchestrator → Semantic Plan Cache: checks and updates
app/pipeline.py - Pipeline Orchestrator → Data Loader: loads catalog
app/pipeline.py - Pipeline Orchestrator → Step Extractor: extracts steps
app/pipeline.py - Pipeline Orchestrator → Action Classifier: classifies actions
app/pipeline.py - Pipeline Orchestrator → Deeplink Matcher: matches deeplinks
app/pipeline.py - Pipeline Orchestrator → Action Orderer: orders actions
app/pipeline.py - Pipeline Orchestrator → Text Rule Formatter: formats plan text
app/pipeline.py - Pipeline Orchestrator → Safety Validator: validates response
app/pipeline.py - Pipeline Orchestrator → Query Variations: generates cache variants
app/pipeline.py - Deeplink Matcher → Hybrid Retrieval: retrieves candidates
app/deeplinks.py - Data Loader → SIIS Articles: reads articles
app/loader.py - Data Loader → Deeplink Catalog: reads catalog
app/loader.py - Action Classifier → Classification Rules: uses category rules
README.md - Text Rule Formatter → Symptom Rules: uses symptom templates
README.md - Safety Validator → Plan Schema: checks schema
app/validators.py - Optional LLM Stub → Pipeline Orchestrator: optional request-time use