DEREGISTER
Purpose
DEREGISTER allows an agent to leave the Field gracefully, cleaning up its active presence without destroying the knowledge it contributed. Memory units previously recorded by the agent MUST remain.
Conformance Level
Level 1+ — Level 0 implementations MAY omit DEREGISTER.
Request
{
"agent_id": "<string>"
}
| Field | Required | Description |
|---|---|---|
agent_id | ✓ | The agent leaving the Field. |
Response
{
"status": "ok | not_found",
"cleanup": {
"units_orphaned": "<number>",
"tasks_reassigned": "<number>"
}
}
Behavioral Requirements
Level 1+ The Field MUST remove the agent from the active registry.
Level 1+ Memory units previously recorded by this agent MUST NOT be deleted. They remain in the Field and remain visible to other agents during ATTUNE.
Level 1+ If the agent has assigned tasks (Coordination Extension), the Field SHOULD flag them for reassignment and include the count in tasks_reassigned.
Level 1+ If no agent with the given agent_id is found, the Field MUST return status: "not_found" rather than an error.
Example
Request:
{
"protocol": "akashik",
"version": "0.1.0",
"id": "msg-050",
"operation": "DEREGISTER",
"agent_id": "researcher-01",
"session_id": null,
"epoch": 50,
"payload": {
"agent_id": "researcher-01"
}
}
Response:
{
"status": "ok",
"cleanup": {
"units_orphaned": 12,
"tasks_reassigned": 0
}
}
Error Codes
| Code | Condition | Recoverable |
|---|---|---|
AGENT_NOT_REGISTERED | agent_id is not found in the registry | No |