Autonomous focus management — rank goals by urgency, knowledge gaps, and topology complexity.
Mode: $ARGUMENTS
route(action: "attention_survey", include_idle: false)
Returns ranked attention_items sorted by score (0.0-1.0). Each item includes:
goal_id, goal_title — which goal
attention_score — composite priority (0.0-1.0)
dispatch_mode — act, learn, escalate, or idle
coverage_score, max_kappa, routing — epistemic state
attention_rationale — compact summary of why this score
autonomy_level — current autonomy setting
next_heartbeat_in_ms — when the next automatic re-evaluation happens
Use include_idle: true to also see goals that don't need attention right now.
route(action: "attention_cycle", autonomy_override: "advise")
Autonomy levels:
observe (default, safe) — survey and rank only, no side effects
advise — rank + suggest next steps, no execution
act — rank + execute high-priority items autonomously
Response fields:
surveyed_count, actionable_count, dispatched_count
Per-item: dispatched boolean, advice strings
cycle_duration_ms
attention_status: autonomy_level, next_heartbeat_in_ms, last_cycle_at, total_cycles_run
act — coverage adequate, topology clean — execute the goal's next action
learn — gaps or low confidence — gather more info first
escalate — critically low coverage or high risk — mark blocked, request help
idle — doesn't need attention now
The composite score combines:
| Dimension | What it measures |
|---|---|
| Urgency | Goal priority and horizon |
| Knowledge gap | 1.0 - coverage_score (higher gap = more attention) |
| Coverage decision severity | act < learn < escalate |
| Topology complexity | Higher kappa = more attention needed |
| Staleness | Time since last progress update |
When attention survey shows a goal with routing: "deliberate":
Don't immediately act — the knowledge has cycles
Run route(action: "topology", ...) on that goal's linked nodes
route(action: "deliberate", ...) if kappa > 0 before proceeding
Only dispatch act after cycles are resolved or acknowledged
route(action: "attention_survey", include_idle: false)
Pick top-ranked item (highest attention_score)
Resume that goal or follow user's request
The attention engine runs automatic re-evaluation cycles in the background. next_heartbeat_in_ms tells you when the next automatic survey happens. Manual surveys/cycles supplement this.
Running attention cycles too frequently — once at session start + when context shifts is enough
Ignoring dispatch_mode — if the engine says learn, don't skip to act
Over-automating with act autonomy when advise would be safer