space.updated
A space was retitled, closed or reopened — by a person in it, or by the harness that opened it — or made a harness’s home. The apps call closing a space archiving it.
Direction: Chips → the log
Sent by: a person or a harness
Requires a run: no
Schema: space.updated.json
Fields
Section titled “Fields”Every event also carries the envelope.
| Field | Required | Type | Description |
|---|---|---|---|
v |
yes | 1 |
Protocol major version. |
type |
yes | "space.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. |
title |
no | string |
The new title. A harness that learns a better name for a room it opened sends this; a person’s rename holds over it afterwards. |
state |
no | "open" | "closed" |
Closed takes the space off the list: the runs going in it are stopped and its agents are released, free to join another room (ADR 0087). Its history and its people stay, and it can be reopened, which brings back each agent that is still free. The apps say archived and unarchived. Whether a person or a harness set it last is kept, and a harness’s listing of its spaces reports it as moved_by (ADR 0066). |
home |
no | boolean |
The harness’s home: the room its lead speaks in, which is always there. Nobody archives or erases it; the apps do not offer either. Only the harness that opened the space sends this (ADR 0069). |
Example
Section titled “Example”{ "v": 1, "type": "space.updated", "id": "evt_01K4ZQPX0000000000000000CA", "ts": "2026-09-02T14:21:00.004Z", "workspace_id": "ws_01K4ZQPX000000000000000001", "space_id": "spc_01K4ZQPX000000000000000002", "actor": { "kind": "person", "id": "usr_01K4ZQPX000000000000000003" }, "idempotency_key": "space-spc_01K4ZQPX000000000000000002-title-1", "title": "PO-4471 · Northwind"}