Files
saltbo__agent-kanban/docs/architecture/task-lifecycle.md

1.6 KiB

Task lifecycle

todo
  ├─ assign ─► todo + assigned actor
  │              └─ claim ─► in_progress
  │                            └─ submit review ─► in_review
  │                                                  ├─ reject ─► in_progress
  │                                                  └─ complete ─► done
  └──────────────────────────── cancel ─────────────► cancelled

Assignment stores the selected Agent projection's Realmroot subject in assigned_to; it does not call Agency or start a Session. Only that verified Agent actor can claim, release, or submit review. An authorized human or a different authorized Agent can reject or complete. A decision includes the current Review Submission version so a stale or concurrent decision fails.

Claim copies runtime and session_id provenance from the verified Realmroot-issued Agent binding. The values are not accepted from request JSON. The exact Session is exposed to human viewers through the read-only observation flow in session observation.

Task dependencies are stored as Task relationships. A Task is computed as blocked while any dependency is not done; recursive checks reject dependency cycles and cross-tenant relationships. Notes form the Task communication and streaming audit surface.

Assignment, rejection, completion, and cancellation notify the assignee after the D1 transition commits. See ADR 0009.