Get Started

Cases and handoffs

Start real work, assign responsibility, preserve outcomes, review, and resume.


Start and inspect a Case

epismo case start --version-id <version-id> --case-input '{"customer":"Acme"}'
epismo case start --title "Review contract exception"
epismo case get <case-id>
epismo case list --status open
epismo case list --assigned-to <user-id>

Use a Version-backed Case when the guidance matters for reproducibility; use an ad hoc Case when the matter is useful to share but no Playbook exists. Neither form creates Tasks automatically.

case get returns a continuation-ready overview: the Case, its current Tasks, Records from it and its ancestors, its direct handoff neighborhood, and the Playbook and pinned Version it was started from when those are still readable. The bundle costs one Case get rather than six separate reads.

Assign and coordinate

epismo case acl <case-id> --acl <principal-ids> --lock-version <n>
epismo case assign <case-id> --assigned-to <user-id> --lock-version <n>
epismo case task create <case-id> --kind work --title "Verify totals" \
  --instructions "Use the latest invoice" --assigned-to <user-id>
epismo case task create <case-id> --kind review --title "Approve recommendation" \
  --subject-record-id <record-id> --assigned-to <user-id>
epismo task list --status open

Add a User to the Case ACL before assignment. Assign the Case for whole-matter responsibility and a Task for one explicit piece of work or review. A review Task should identify its exact subject Record. Top-level task list defaults to Tasks assigned to the current user; pass --assigned-to only for another assignee.

Connect Case handoffs

epismo case handoff <from-case-id> --to-case-id <to-case-id>
epismo case handoff <to-case-id> --from-case-id <from-case-id>
epismo case handoff graph <case-id> --scope connected

Connect sequential or dependent Cases using directed handoffs (fromCaseId -> toCaseId). Creating a handoff requires management authority on at least one Case and ACL access on both. Loops and cycles are strictly rejected. Inspect the DAG around any Case using epismo case handoff graph.

Append and read Records

epismo case record append <case-id> --kind result --origin agent --content "..."
epismo case record append <case-id> --task-id <task-id> --input @evidence.json
epismo case record list <case-id> --scope ancestors --order asc

Every participant covered by an open Case's ACL may append Records; assignment is still required for managing the Case or its Tasks. Pass --scope (self, ancestors, descendants, neighbors, connected) to expand the timeline across connected handoffs. Filters narrow that timeline, and the returned cursor continues stable pagination.

Update and close

epismo task update <task-id> --title "Verify totals and tax" \
  --instructions "Use the signed invoice" --lock-version <n>
epismo task close <task-id> --outcome approved --lock-version <n>
epismo task reopen <task-id> --lock-version <n>
epismo case update <case-id> --title "Updated title" --lock-version <n>
epismo case close <case-id> --outcome completed --lock-version <n>
epismo case reopen <case-id> --lock-version <n>

You may append final Records atomically while closing a Task or Case by providing the records array through --input or the relevant flag. Completion requires all Tasks closed. Cancellation and abandonment close remaining Tasks; reopening the Case leaves them closed.