How kartika09/mas-reliability-capstone works
This repository is a starter multi-agent research-analysis system. A researcher submits a question to the pipeline, which plans evidence and critical subtasks, optionally retrieves supporting abstracts, and has independent agents produce outputs. Depending on the experiment condition, the pipeline validates the evidence handoff, checks peer consistency, and may invoke a guard and recovery before the planner synthesizes a report. It records messages and run results for evaluation. Retrieval and fault injection are optional branches; several research mechanisms remain documented stubs. The dataset loader and logger details are inferred from documented interfaces, not sampled source.
Main entry points: pipeline.py Run pipeline · models.py Data contracts · retriever.py Embedding retrieval · agents.py Evidence agent
Components 19
Pipeline orchestration
- Run pipeline
pipeline.py - Fault injection
fault_injection/injector.py - Research report
Research and retrieval
- Planner agent
agents/agents.py - Evidence agent
agents/agents.py - Critical agent
agents/agents.py - LLM client
llm_client.py - SciFact dataset
mas_scifact_dataset (1).json - Dataset loader
dataset.py - Embedding retrieval
retrieval/retriever.py - In-memory index
retrieval/retriever.py
Validation and recovery
- Sequential validator
validation/sequential_validator.py - Peer consistency
peer_consistency/checker.py - Guard decision
guard/decision.py - Recovery
guard/recovery.py
Contracts and evaluation
- Data contracts
schemas/models.py - Run logger
evaluation/logger.py - Run result
schemas/models.py
Other components
- Researcher
Connections 30
- Researcher → Run pipeline: submits question
- Run pipeline → Planner agent: decomposes and synthesizes
- Planner agent → LLM client: requests completion
- Run pipeline → Evidence agent: requests evidence
- Run pipeline → Critical agent: requests critique
- Evidence agent → LLM client: requests completion
- Critical agent → LLM client: requests completion
- SciFact dataset → Dataset loader: loaded by
- Dataset loader → Embedding retrieval: provides corpus
- Embedding retrieval → In-memory index: builds index
- Run pipeline → Embedding retrieval: retrieves passages
- Embedding retrieval → Evidence agent: supplies context
- Embedding retrieval → Critical agent: supplies context
- Run pipeline → Fault injection: optionally injects fault
- Run pipeline → Sequential validator: validates handoff
- Run pipeline → Peer consistency: checks agreement
- Run pipeline → Guard decision: requests decision
- Run pipeline → Recovery: recovers flagged output
- Run pipeline → Peer consistency: verifies recovery
- Run pipeline → Sequential validator: verifies recovery
- Run pipeline → Run logger: logs messages and run
- Run pipeline → Research report: returns report
- Run pipeline → Run result: creates run result
- Run pipeline → Data contracts: uses contracts
- Planner agent → Data contracts: parses and returns shapes
- Evidence agent → Data contracts: parses output shape
- Critical agent → Data contracts: parses output shape
- Sequential validator → Data contracts: returns validation result
- Peer consistency → Data contracts: returns peer result
- Guard decision → Data contracts: returns guard decision