If you can’t see what SYRIS is doing, you can’t safely run it 24/7. Observability is a product requirement.
Every meaningful operation emits an AuditEvent:
Audit must be searchable by:
trace_idevent_id, task_id, step_idProjections are query-optimized views derived from event/audit logs:
A persistent heartbeat record should include:
Alarms are persisted entities with:
Example alarm types:
Status:
GET /healthGET /stateQuery:
GET /eventsGET /auditGET /tasks, GET /tasks/{id}GET /schedulesGET /watchersGET /rulesGET /integrationsGET /approvalsGET /alarmsControls (all audited):
POST /controls/pause / /resumePOST /tasks/{id}/pause|resume|cancel|retryPATCH /watchers/{id} enable/disablePATCH /rules/{id} enable/disablePATCH /integrations/{id} enable/disablePOST /controls/autonomyPOST /approvals/{id}/approve|denyPOST /alarms/{id}/ack|resolvetrace_id for the originating eventtrace_idThis workflow should work without reading logs.