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.

Assign and hand off

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

Append and read Records

epismo record append <case-id> --kind result --origin agent --content "..."
epismo record append <case-id> --task-id <task-id> --input @evidence.json
epismo record list --case-id <case-id> --order asc
epismo record list --kinds result,decision --origins user,agent --order desc
epismo record list --acl <project-id> --page-size 50

Without --case-id, record list is a cross-Case activity feed for every Case the caller can currently read. Filters narrow that authorized feed; they never widen access. Continue with the returned cursor for 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.