How poteto/noodle works
Noodle is a Go-based, skill-driven agent orchestration product with a browser dashboard. Its principal workflow is to prepare and schedule work, dispatch agent sessions, track their events and outcomes, and expose current state for monitoring and control. The graph includes the event/state-processing layers and the dashboard as a separate user-facing branch. Some source excerpts are partial, so uncertain connections—especially among unsampled runtime subsystems—are omitted.
Main entry points: loop_cycle_pipeline.go Cycle Planning · writer.go Event Log · main.go CLI · loop.go Scheduler Loop
Components 19
Orchestration
- CLI
main.go - Scheduler Loop
loop/loop.go - Cycle Planning
loop/loop_cycle_pipeline.go - Skill Resolver
skill/resolver.go - Backlog Adapter
adapters/main.go - Worktree Manager
worktree/app.go
Agent Runtime
- Session Dispatcher
- Output Parser
parse/registry.go - Session Monitor
monitor/monitor.go
Events and State
- Event Log
event/writer.go - Event Ingestion
internal/ingest/ingester.go - State Reducer
internal/reducer/reducer.go - State Projection
internal/projection/projection.go - Snapshot Builder
internal/snapshot/snapshot_builder.go
Dashboard
- HTTP and WS API
server/server.go - Dashboard UI
ui/src/routes/dashboard.tsx - UI API Client
ui/src/client/api.ts
Other components
- User
- Agent Provider
Connections 19
- User → CLI: runs commands
- CLI → Scheduler Loop: starts loop
- Scheduler Loop → Cycle Planning: plans cycle
- Cycle Planning → Skill Resolver: resolves skills
- Cycle Planning → Backlog Adapter: syncs backlog
- Cycle Planning → Worktree Manager: prepares worktree
- Cycle Planning → Session Dispatcher: spawns sessions
- Session Dispatcher → Agent Provider: launches agent
- Agent Provider → Output Parser: emits output
- Session Monitor → Event Log: records activity
- Output Parser → Event Log: writes events
- Event Log → Event Ingestion: supplies events
- Event Ingestion → State Reducer: normalizes events
- State Reducer → State Projection: updates state
- State Projection → Snapshot Builder: builds snapshot
- HTTP and WS API → Snapshot Builder: loads snapshot
- User → Dashboard UI: views dashboard
- Dashboard UI → UI API Client: requests data
- UI API Client → HTTP and WS API: calls API