Skip to main content

LogEntry

An immutable, append-only record of something that happened. The audit trail primitive — never updated or deleted after creation.

ID prefixLOG
State machinenone (immutable)
MCP serverevent-log
Skillevent-log (Layer 0)

Fields

Required

FieldTypeDescription
event_typestringMachine-readable event type (e.g. workitem.created, gate.passed)
actorstringID of actor who caused the event
timestampdatetimeWhen the event occurred (ISO 8601 UTC)

Optional

FieldTypeDescription
subjectstringID of the entity the event concerns
subject_kindstringKind of subject entity (fast filtering)
summarystringOne-line human-readable summary
detailsobjectEvent-specific structured payload
correlation_idstringLinks related events (e.g. a workflow run)

Example

---
apiVersion: processkit.projectious.work/v1
kind: LogEntry
metadata:
id: LOG-20260411_0901-SteadyWren-workitem-transitioned
created: '2026-04-11T09:01:00Z'
spec:
event_type: workitem.transitioned
actor: ACTOR-claude
timestamp: '2026-04-11T09:01:00Z'
subject: BACK-20260411_0900-BoldVale-fts5-full-text-search
subject_kind: WorkItem
summary: WorkItem transitioned from backlog to in-progress
details:
from_state: backlog
to_state: in-progress
---

Auto-logging

Entity-mutating MCP servers (create_*, transition_*, link_*) append a LogEntry automatically — callers do not need to call log_event separately.

Manual calls to log_event are for events that have no MCP server: deploying a build, running a meeting, making a phone call, completing a manual step in a process.

Event type conventions

Use dot-separated entity.verb naming:

PatternExamples
<kind>.createdworkitem.created, decision.created
<kind>.transitionedworkitem.transitioned, scope.transitioned
<kind>.linkedworkitem.linked, decision.linked
gate.passed / gate.failed / gate.waivedgate evaluation results
metric.recordedindividual metric reading
constraint.violatedconstraint breach
session.handoverend-of-session handover written

Notes

  • LogEntries are never updated or deleted. If an event was logged in error, log a corrective entry explaining the error.
  • query_events and recent_events support filtering by subject, actor, event_type, and date range.
  • Logs are date-sharded: context/logs/{year}/{month}/.