Incident
The watcher notices, a person gathers the records, the incident recorder writes the timeline and the record with every gap named, and a person decides. No cause is guessed and no fix is proposed by an agent.
where it stands
What has actually happened with it
A reference process: it is published to be adopted, not run as it stands. Its owner and effective lines are blanks the adopter fills, and the watcher's phase has no holder because no watcher exists yet. The process runner refuses the document with those blanks open, on purpose. The incident recorder that holds the recording phase exists: it was the agent the New agent process produced on its first run.
the document
Incident, in the process language
This is the document the process runner reads, as it stands in the repository. The roster that names which agent holds each phase travels with the run, not with the document.
PROCESS: record an incident id: agentmesh/incident v1
owner: <the account that adopts this process> effective: <the date it adopts it>
trigger: an agent on the fleet goes quiet or a job fails, noticed by the
watcher, or reported by a person naming the agent and the time
concurrency: runs may overlap - one run per agent and time
goal: an incident record that names every fact's source and every gap,
in front of a person who decides what happens next, with nothing
guessed and nothing fixed by an agent
This is a reference process: it is published to be adopted, not run as it
stands. The watcher's phase has no holder, because no watcher exists yet,
and the owner and effective lines above are blanks the adopter fills. The
process runner refuses a document with either blank, on purpose.
phases:
notice - runs watch: the agent that went quiet or the job
that failed, with the time, from the platform's
records; until a watcher exists a person notices
and sends the trigger by hand
owner: watcher
after: trigger automation: autonomous
gather-the-records - human: the person collects the platform's
activity records and the agent's own records for
the window around the failure and attaches them
owner: <the adopter>
after: notice
automation: manual
record-the-incident - runs record-incident: the timeline of what is
known and what is not, and the incident record
naming every fact's source and every gap
owner: incident-recorder
after: gather-the-records
automation: autonomous
decide - human: the person reads the record and decides:
leave it, restart the agent, retire it, or start
a New agent run to change it
owner: <the adopter>
after: record-the-incident
automation: never
handoffs:
notice -> gather-the-records [alarm]: the agent's handle, the time, and
what the watcher saw
gather-the-records -> record-the-incident [records]: the platform's
activity records and the agent's own records for the window, as
files
record-the-incident -> decide [incident]: the timeline and the incident
record, with the gaps named
deviations:
record-the-incident -> gather-the-records [more-records]: the record
names a gap the person can fill from records they did not attach;
they attach them and the record is written again
bindings:
roster: the incident recorder is an agent named in the roster the
adopter sends with the run; the watcher is unheld until one exists;
the person is the adopter
systems: none of the phases reaches a system of its own; the records
arrive as files
data: the platform's activity records, the agent's own records
policy:
no cause is guessed and no fix is proposed by an agent; the record says
what is known, what is not, and where each fact came from
the agent being recorded is never contacted by the recorder
the decision is a person's, every time
measures:
time: from the notice to the decision
gaps: intervals in the timeline no record covers