Logs

Append, list, and delete activity/comment logs on tracks.


Use epismo log for comments, agent updates, and review notes attached to task and goal tracks. Logs do not edit the track's own content; they create a timeline alongside it. Anyone who can access a track can read and append logs on that track.

Appending and deleting logs are free. Listing logs costs 1 credit.

Create a log

epismo log create <track-reference> --content "Blocked on missing test fixtures."
epismo log create <track-reference> --kind review --content "Tests failed" --metadata '{"verdict":"fail"}'
epismo log create <track-reference> --content "Retry-safe note" --idempotency-key 00000000-0000-4000-8000-000000000001

<track-reference> must be a task or goal UUID, or a URL that contains one. Track aliases do not exist.

--kind is one of:

Kind Use for
comment Discussion, questions, notes, or shared context
update Work-state reports: what changed, was found, or next
review Verdicts, QA results, approvals, or review outcomes

comment is the default. The internal system kind is reserved for platform-generated entries and cannot be written through the CLI.

--metadata accepts a JSON object, capped at 16KB once serialized. Use it for compact machine-readable fields; put larger human-readable detail in --content. Use --idempotency-key with a UUID when retrying safely. Reusing an idempotency key returns the existing log unless that log has been deleted, in which case the command fails with a conflict.

List logs

epismo log list <track-reference>                       # newest first for one track
epismo log list <track-reference> --cursor <logId>      # older history
epismo log list <track-reference> --order asc           # chronological from the start
epismo log list                                          # every log you can see, newest first
epismo log list --author-id <userId>                     # only logs one user wrote

epismo log list reads one track's logs when you pass <track-reference>. Omit it for a separate activity feed across every track you can currently access instead. --author-id narrows either mode.

Results are newest first by default (--order desc). Use --order asc for chronological replay or, with --cursor, to fetch only what was appended after a known log. Pagination is the same in both modes: pass the response's nextCursor back as --cursor with the same --order to fetch the next page.

Track-scoped reads always reflect the track's current ACL. The cross-track feed reflects an ACL snapshot taken when each log was written, not a live re-check. If you're later removed from a track, logs you could already see there may still appear in the feed; epismo log list <track-reference> is unaffected and checks the track's current ACL.

Each log includes the resolved userId and authorName when the caller can see that author. Authors outside the caller's visible set are returned as "unknown" rather than exposing their account id. If --author-id targets an author the caller cannot see, the result is empty.

Delete a log

epismo log delete <logId>

log delete deletes one log. Authors can delete their own logs; a track's creator can delete any log on that track. Deleted logs are omitted from future list results.

Cost

Command Cost
epismo log create free
epismo log list 1 credit
epismo log delete free

Common mistakes

  • Pass a track UUID or a URL containing one to create and track-scoped list. Track aliases do not exist.
  • Keep --order unchanged when passing nextCursor into --cursor.
  • Use --metadata for compact structured data only. Long updates belong in --content.