RECORD
Purpose
RECORD is the only way to add knowledge to shared memory. An agent submits a memory unit — in either draft or committed mode — and the Field validates, stores, and returns the assigned unit with its generated ID and metadata.
Conformance Level
Level 0+ — all conformant implementations MUST implement RECORD.
Request
{
"mode": "draft | committed",
"type": "<MemoryType>",
"content": "<string>",
"intent": {
"purpose": "<string>",
"task_id": "<string | null>",
"question": "<string | null>"
},
"confidence": {
"score": "<number>",
"reasoning": "<string>",
"evidence": ["<string>"],
"assumptions": ["<string>"]
},
"relations": ["<Relation>"]
}
Required Fields by Mode and Level
| Field | Draft (Level 0+) | Committed (Level 0) | Committed (Level 1+) |
|---|---|---|---|
type | REQUIRED | REQUIRED | REQUIRED |
content | REQUIRED | REQUIRED | REQUIRED |
intent.purpose | REQUIRED | REQUIRED | REQUIRED |
confidence.score | — | — | REQUIRED |
confidence.reasoning | — | — | REQUIRED |
relations | optional | optional | optional |
Response
{
"status": "accepted | rejected",
"memory_unit_id": "<string>",
"epoch": "<number>",
"conflicts_detected": ["<string>"],
"rejection_reason": "<string | null>"
}
Behavioral Requirements
CORE The Field MUST validate the payload against the required fields for the given mode and conformance level.
CORE If intent.purpose is missing or empty, the Field MUST reject the RECORD with error MISSING_INTENT.
Level 1+ If confidence.score is required and missing, the Field MUST reject with MISSING_CONFIDENCE.
CORE If confidence.score is present, it MUST be between 0.0 and 1.0 inclusive. Otherwise reject with INVALID_CONFIDENCE.
CORE The Field MUST generate id, epoch, source, and status for the memory unit. Agents MUST NOT provide these.
CORE For draft mode, the Field MUST set status to "draft". For committed mode, MUST set status to "active".
Level 1+ The Field MUST append the operation to the event log.
Level 1+ If any relations include a contradicts type, the Field MUST create a Conflict object.
Level 2+ The Field SHOULD run semantic conflict detection against existing memory units and return any detected conflicts in conflicts_detected.
Level 2+ The Field SHOULD evaluate the new unit against active agent subscriptions and push notifications to matching agents.
Partial Failure Handling
- If the event log write succeeds but enrichment (embedding generation) fails, the Field MUST commit the unit with status
"pending_enrichment"and include a warning in the response. - If the event log write succeeds but conflict detection times out, the Field MUST commit the unit and return
"conflicts_detected": []with a"conflict_detection": "deferred"flag.
Example
{
"protocol": "akashik",
"version": "0.1.0",
"id": "msg-002",
"operation": "RECORD",
"agent_id": "researcher-01",
"session_id": null,
"epoch": 1,
"payload": {
"mode": "committed",
"type": "finding",
"content": "European SaaS market for SMB HR tools is growing at 23% CAGR, expected to reach $4.2B by 2027.",
"intent": {
"purpose": "Validate market size assumption for go-to-market strategy",
"task_id": "task-market-sizing",
"question": "Is the European HR SaaS market large enough to justify a dedicated go-to-market?"
},
"confidence": {
"score": 0.82,
"reasoning": "Based on three independent analyst reports with consistent estimates.",
"evidence": ["https://example.com/report-a", "https://example.com/report-b"],
"assumptions": ["EU AI Act enforcement begins Q3 2026"]
}
}
}
Response:
{
"status": "accepted",
"memory_unit_id": "mem-abc123",
"epoch": 2,
"conflicts_detected": []
}
Error Codes
| Code | Condition | Recoverable |
|---|---|---|
MISSING_INTENT | intent absent or intent.purpose is empty | Yes — resubmit with intent |
MISSING_CONFIDENCE | Committed RECORD at Level 1+ without confidence | Yes — resubmit with confidence |
INVALID_CONFIDENCE | confidence.score outside 0.0–1.0 range | Yes — correct and resubmit |
INVALID_TYPE | Unknown or unsupported MemoryType | Yes — use a supported type |
AGENT_NOT_REGISTERED | Operation from an unregistered agent | Yes — call REGISTER first |