memory_action_create or POST /agentmemory/actions; update with memory_action_update. Statuses: pending, active, done, blocked, cancelled. An action with an unsatisfied requires edge starts blocked; setting a dependency to done flips its dependents back to pending.
Edges
Edges are validated at create time (
actions/edges adds them later); an unknown type or missing target is rejected.
Frontier
memory_frontier (GET /agentmemory/frontier) returns every action with no unsatisfied requires edge, excluding done and cancelled, ranked by priority and urgency and annotated with lease conflicts. memory_next (GET /agentmemory/next) collapses that to the single highest-scoring action; active actions get a score bonus so in-flight work wins ties.
Coordination around actions
memory_diagnose checks all of these subsystems for stuck, orphaned, or inconsistent state; memory_heal fixes what is fixable (stale leases, stuck actions, orphaned data).
Completed chains are compressed into crystals.