How lyslama/k5-l3a-day4-lythanhlam-2a202603475-reactloopagent works
This is a Python status-investigation agent and teaching lab. The main workflow accepts a user question, runs an LLM/tool loop, queries GitHub or Cloudflare status data, and returns an answer with a trace. The CLI selects snapshot or live data and an LLM provider. A separate bonus toolset adds three providers and paginated incident details. Eval runs exercise the agent and use mechanical checks plus an LLM judge. Core runtime paths were sampled; the bonus and eval capabilities are also documented in the README. Not every unsampled connection is shown.
Main entry points: run_evals.py Eval runner · agent.py Agent loop · tools.py Bonus status tools · run.py CLI runner
Components 17
Agent interaction
- CLI runner
run.py - Agent loop
agent.py - Run trace
agent.py
Model providers
- Provider adapter
providers.py - LLM service
Status investigation
- Core status tools
status_tools.py - Core snapshots
fixtures - GitHub and Cloudflare APIs
- Bonus status tools
bonus/tools.py - Bonus snapshots
bonus/fixtures - Additional status APIs
Evaluation
- Eval runner
evals/run_evals.py - Eval cases
evals/cases.json - Fault scenarios
evals/scenarios.py - Eval grader
evals/grading.py - Bonus cases
bonus/cases.json
Other components
- Questioner
Connections 24
- Questioner → CLI runner: asks
README.md - CLI runner → Agent loop: runs
run.py - CLI runner → Provider adapter: configures
run.py - CLI runner → Core status tools: selects
run.py - CLI runner → Bonus status tools: selects bonus
run.py - Agent loop → Provider adapter: requests completion
agent.py - Provider adapter → LLM service: sends requests
providers.py - Agent loop → Core status tools: executes calls
agent.py - Agent loop → Bonus status tools: executes calls
agent.py - Agent loop → Run trace: records results
agent.py - Core status tools → Core snapshots: reads snapshots
status_tools.py - Core status tools → GitHub and Cloudflare APIs: fetches status
status_tools.py - Bonus status tools → Core snapshots: reads core snapshots
bonus/tools.py - Bonus status tools → Bonus snapshots: reads snapshots
bonus/tools.py - Bonus status tools → Additional status APIs: fetches status
bonus/tools.py - Questioner → Eval runner: requests evaluation
README.md - Eval runner → Eval cases: loads cases
evals/run_evals.py - Eval runner → Bonus cases: loads bonus cases
evals/run_evals.py - Eval runner → Agent loop: runs cases
evals/run_evals.py - Eval runner → Provider adapter: creates providers
evals/run_evals.py - Eval runner → Fault scenarios: selects scenarios
evals/run_evals.py - Eval runner → Bonus status tools: selects bonus tools
evals/run_evals.py - Eval runner → Eval grader: grades results
evals/run_evals.py - Eval grader → Provider adapter: requests judge
evals/grading.py