| name | step-ooda-loop |
| description | OODA (Observe-Orient-Decide-Act) loop driver. Checks GOAP + DASL planners for pending tasks, decides next action, executes it. The meta-loop that coordinates the self-improvement pipeline. |
Step: OODA Loop — Observe-Orient-Decide-Act Driver
The meta-controller that decides what to do next by querying planners.
Command
aristotle-manager next
What it does
- Check GOAP planner (
~/dasl-planning/.../dasl-planner) for pending tasks
- Check DASL planner (
~/dasl-planning/dasl-planner status) for project state
- If pending tasks exist → execute them
- If nothing pending → report all projects processed
The OODA Cycle mapped to pipeline steps
Observe ──→ fetch (check API for new/updated projects)
│
▼
Orient ──→ split + merge (extract declarations, understand structure)
│
▼
Decide ──→ dasl-finish (update planners, let GOAP decide next action)
diagonalize (find minimal core, what needs fixing?)
│
▼
Act ──→ enrich (build indexes, exports)
repair (apply SPARQL/GOAP fixes)
│
└──────→ back to Observe (next fetch cycle)
Planner Locations
| Planner | Path | Role |
|---|
| DASL | ~/dasl-planning/dasl-planner | Project metadata, processing state |
| GOAP | ~/dasl-planning/plan-mappings/goap/.../dasl-planner | Goal-oriented action planning |
Key Code
In src/main.rs around line 5281 (cmd_next):
let goap = Command::new("/home/mdupont/...dasl-planner").output();
let plan = Command::new("~/dasl-planning/dasl-planner").args(["status"]);
Related Skills
- [[self-improve-pipeline]] — Full cycle overview
- [[step-dasl-finish]] — Updates planners
- [[step-diagonalize]] — Self-application decision