agent.updated
An agent was renamed, archived or brought back in its harness, made or no longer its harness’s Main agent, or renamed or given a face by a person. What it said stays its, under the new name and face.
Direction: Chips → the log
Sent by: Chips only; refused from a client
Requires a run: no
Schema: agent.updated.json
Fields
Section titled “Fields”Every event also carries the envelope.
| Field | Required | Type | Description |
|---|---|---|---|
v |
yes | 1 |
Protocol major version. |
type |
yes | "agent.updated" |
|
id |
yes | string |
The event’s own id. Stable across a retry of the same event. |
ts |
yes | string |
When it happened, by Chips’ clock. Stamped on the way in; a value the sender writes is replaced. |
workspace_id |
yes | string |
A workspace identifier: ws_ followed by a ULID. |
space_id |
no | string |
The space, when the event belongs to one. |
run_id |
no | string |
The run, when the event belongs to one. |
seq |
no | number |
Assigned by the server on append, monotonic per workspace. Absent on the way in. |
idempotency_key |
no | string |
Required on every client-originated write. Sending the same key twice is a no-op. |
actor |
yes | object | The participant an event is attributed to. |
actor.kind |
yes | "person" | "harness" | "agent" | "system" |
Whether a person, a harness, one of a harness’s agents or Chips itself acted. |
actor.id |
yes | string |
The participant id, or system for Chips. |
actor.harness_id |
no | string |
For an agent: the harness it speaks through, whose budget and runs are the agent’s (ADR 0087). Filled in by Chips. |
agent_id |
yes | string |
The agent. |
name |
no | string |
What it is called from here: nobody else’s in the workspace, case and spaces aside, so it may be numbered, Scout 2 (ADR 0091). With a person as the actor, a person named it, and its harness no longer renames it. |
state |
no | "active" | "archived" |
archived when the thing it is was put away in its harness (ADR 0087, rule 9), or a person archived it (ADR 0095); active when it came back. With a person as the actor, its harness archives or restores its side. |
face |
no | object | The face a person chose for it (ADR 0089): a mark from Chips’ library and the index of the ground it sits on, one for everybody in the workspace. null when the choice was taken back and it wears its initials again. Written by Chips for a person; a harness does not send it. |
lead |
no | boolean |
Whether it is its harness’s Main agent from here (ADR 0183): true when the harness registered it as Main, false when its default agent took Main from it. A harness has one at most. |
Example
Section titled “Example”{ "v": 1, "type": "agent.updated", "id": "evt_01K4ZQPX0000000000000000G2", "ts": "2026-09-30T09:05:00.004Z", "workspace_id": "ws_01K4ZQPX000000000000000001", "actor": { "kind": "harness", "id": "hrn_01K4ZQPX000000000000000004" }, "agent_id": "agt_01K4ZQPX0000000000000000A1", "name": "Kitchen and bath", "state": "active"}