How 8ohamed/incubator-llm works
This is an incubator advisory digital twin for predicting the effect of opening a tempeh incubator lid. The main workflow reads and validates the current incubator state, simulates the temperature trajectory, then assesses batch risk and reports a verdict. A separate heater-boost workflow searches for a setpoint-and-wait plan when the opening is high risk; plotting visualizes simulation output without making a verdict. The graph follows the README and indexed references; some implementation details for CLI and plotting are unsampled.
Main entry points: simulate.py Lid simulation · heater_boost.py Boost planner · cli.py Opening CLI · analyze.py Risk assessment
Components 19
Operator interfaces
- Opening CLI
tools/cli.py - Boost CLI
tools/heater_boost_cli.py - Trajectory plot
tools/plot_simulation.py - Simulation plot
Incubator twin
- Lid simulation
tools/simulate.py - Boosted simulation
tools/heater_boost_simulate.py - Incubator controller
incubator_dt/models/controller_models/controller_model4.py - Controller state machine
incubator_dt/models/controller_models/controller_model_sm.py - Four-parameter plant
incubator_dt/models/plant_models/four_parameters_model/four_parameter_model.py - Two-parameter plant base
incubator_dt/models/plant_models/two_parameters_model/two_parameter_model.py
Risk and planning
- Risk assessment
tools/analyze.py - Boost planner
tools/heater_boost.py - Risk verdict and advice
- Boost plan or limits
State and domain data
- State reader
tools/state.py - Current state
state/current_state.json - Tempeh thresholds
domain_knowledge/tempeh_thresholds.json - Domain knowledge
tools/domain_knowledge.py
Other components
- Operator
Connections 25
- Operator → Opening CLI: asks about opening
README.md - Opening CLI → Lid simulation: runs simulation
tools/cli.py - Opening CLI → Risk assessment: requests assessment
tools/cli.py - Opening CLI → State reader: loads state
tools/cli.py - State reader → Current state: reads and validates
tools/state.py - Lid simulation → State reader: loads state
tools/simulate.py - Lid simulation → Incubator controller: wires controller
tools/simulate.py - Lid simulation → Four-parameter plant: wires plant
tools/simulate.py - Incubator controller → Controller state machine: delegates steps
incubator_dt/models/controller_models/controller_model4.py - Four-parameter plant → Two-parameter plant base: inherits equations
incubator_dt/models/plant_models/four_parameters_model/four_parameter_model.py - Risk assessment → Domain knowledge: applies thresholds
tools/analyze.py - Domain knowledge → Tempeh thresholds: reads definitions
tools/domain_knowledge.py - Risk assessment → Risk verdict and advice: returns verdict
tools/analyze.py - Operator → Boost CLI: requests boost plan
README.md - Boost CLI → Boost planner: runs search
tools/heater_boost_cli.py - Boost planner → Lid simulation: checks unboosted case
tools/heater_boost.py - Boost planner → Risk assessment: judges candidates
tools/heater_boost.py - Boost planner → Boosted simulation: simulates candidates
tools/heater_boost.py - Boosted simulation → Controller state machine: schedules setpoint
tools/heater_boost_simulate.py - Boost planner → Boost plan or limits: returns plan or limit
tools/heater_boost.py - Operator → Trajectory plot: requests visualization
README.md - Trajectory plot → Lid simulation: plots simulation output
tools/plot_simulation.py - Trajectory plot → Simulation plot: draws trajectory
tools/plot_simulation.py - Risk verdict and advice → Operator: explains risk
README.md - Boost plan or limits → Operator: returns instructions
README.md