How rudrao2/stratum works
Stratum is a local-first document intelligence workbench for CMPDI and Coal India. Users add documents to the Library; ingestion parses and stores evidence, then extracts and validates traceable facts. From the workbench they can ask evidence-grounded questions, build parliamentary replies or reports, explore topics, review flagged facts, and inspect quality metrics. The plugin mediates workbench interactions and local model routing; the Python backend provides domain services over SQLite. Edges cite excerpts or README statements; some product branches are documented but their implementation was not sampled.
Main entry points: ask/service.py Ask service · pipeline.py Document pipeline · metrics/service.py Quality metrics · facts/service.py Fact review
Components 31
Workbench plugin
- Harness integration
plugins/stratum-ui/lib/index.js - Stratum tools
plugins/stratum-ui/lib/tools/stratum-tools.js - Backend client
plugins/stratum-ui/lib/backend/client.js - Model dispatch
plugins/stratum-ui/lib/router/dispatch.js - Route scoring
plugins/stratum-ui/lib/router/score.js - Model registry
plugins/stratum-ui/lib/registry/loader.js - Local model provider
plugins/stratum-ui/lib/model-plane/local-provider.js - Turn trace
plugins/stratum-ui/lib/trace/turn.js
Library ingestion
- Document pipeline
backend/stratum/ingest/pipeline.py - Document parsing
backend/stratum/ingest/docling_parse.py - Evidence chunking
backend/stratum/ingest/chunker.py
Facts and review
- Fact mapping
backend/stratum/facts/mapper.py - Verbatim extraction
backend/stratum/facts/extract.py - Fact checks
backend/stratum/facts/validate.py - Fact review
backend/stratum/facts/service.py
Evidence products
- Question intent
backend/stratum/ask/intent.py - Ask service
backend/stratum/ask/service.py - Fact query compiler
backend/stratum/ask/sql.py - Hybrid retrieval
backend/stratum/search/hybrid.py - Text embeddings
backend/stratum/search/embed.py - PQ reply builder
backend/stratum/pq/service.py - Report generator
backend/stratum/reports/service.py - Topic analysis
backend/stratum/topics/service.py - Quality metrics
backend/stratum/metrics/service.py
Backend runtime
- FastAPI service
backend/stratum/api.py - Coal domain rules
backend/stratum/domain/__init__.py - SQLite evidence store
backend/stratum/db.py - Local LLM client
backend/stratum/llm.py - Word output
backend/stratum/docx_out.py
Other components
- Workbench user
- llama-swap models
Connections 47
- Workbench user → Harness integration: uses workbench
- Harness integration → Stratum tools: registers tools
plugins/stratum-ui/lib/index.js - Stratum tools → Backend client: calls backend
plugins/stratum-ui/lib/tools/stratum-tools.js - Backend client → FastAPI service: HTTP requests
plugins/stratum-ui/lib/backend/client.js - Harness integration → Model dispatch: routes turns
plugins/stratum-ui/lib/index.js - Model dispatch → Route scoring: scores routes
plugins/stratum-ui/lib/router/dispatch.js - Model dispatch → Model registry: selects model
plugins/stratum-ui/lib/model-plane/llm-adapter.js - Harness integration → Local model provider: registers provider
- Local model provider → Turn trace: records images
- FastAPI service → Document pipeline: accepts library documents
- Document pipeline → Document parsing: parses documents
backend/stratum/ingest/pipeline.py - Document pipeline → Evidence chunking: creates chunks
backend/stratum/ingest/pipeline.py - Document pipeline → Fact mapping: maps tables
backend/stratum/ingest/pipeline.py - Document pipeline → Verbatim extraction: extracts values
backend/stratum/ingest/pipeline.py - Document pipeline → Fact checks: checks facts
backend/stratum/ingest/pipeline.py - Document pipeline → SQLite evidence store: persists evidence
backend/stratum/ingest/pipeline.py - Fact mapping → Local LLM client: requests mapping
- Fact review → Fact checks: recomputes checks
backend/stratum/facts/service.py - Fact review → SQLite evidence store: reads and reviews
backend/stratum/facts/service.py - Workbench user → Ask service: asks question
- FastAPI service → Ask service: serves questions
- Ask service → Question intent: parses intent
backend/stratum/ask/service.py - Ask service → Fact query compiler: queries facts
backend/stratum/ask/service.py - Ask service → Hybrid retrieval: retrieves passages
backend/stratum/ask/service.py - Ask service → Local LLM client: composes answer
backend/stratum/ask/service.py - Fact query compiler → Fact review: looks up facts
backend/stratum/ask/sql.py - Hybrid retrieval → Text embeddings: embeds query
backend/stratum/search/hybrid.py - Question intent → Coal domain rules: normalizes terms
backend/stratum/ask/intent.py - Fact query compiler → Coal domain rules: uses domain rules
backend/stratum/ask/sql.py - Hybrid retrieval → SQLite evidence store: reads chunks
backend/stratum/search/hybrid.py - Text embeddings → Local LLM client: uses local embedding model
- Local LLM client → llama-swap models: sends local requests
backend/stratum/llm.py - Workbench user → PQ reply builder: builds PQ reply
- PQ reply builder → Ask service: gets answer evidence
backend/stratum/pq/service.py - PQ reply builder → Word output: writes Word reply
backend/stratum/pq/service.py - Workbench user → Report generator: generates report
- Report generator → Ask service: uses answer services
backend/stratum/reports/service.py - Report generator → Word output: writes report
backend/stratum/reports/service.py - Workbench user → Topic analysis: explores topics
- Topic analysis → Text embeddings: uses embeddings
backend/stratum/topics/service.py - Topic analysis → SQLite evidence store: reads library
backend/stratum/topics/service.py - Workbench user → Fact review: reviews flagged facts
- Workbench user → Quality metrics: views measurements
- Quality metrics → SQLite evidence store: reads answer records
backend/stratum/metrics/service.py - Quality metrics → Question intent: measures routing
backend/stratum/metrics/service.py - Quality metrics → Fact query compiler: measures correctness
backend/stratum/metrics/service.py - Quality metrics → Fact review: measures extraction
backend/stratum/metrics/service.py