Types
Scope
Controls what an agent receives during attunement.
Scope
Scope is the filter passed by an agent during ATTUNE that tells the Field how to compute and bound the relevance results. Every conformance level requires at minimum role and max_units. Extended scope fields unlock richer relevance filtering at Level 2+.
Required Scope (Level 0+)
All conformance levels MUST support the following minimal scope:
{
"role": "<string>",
"max_units": "<number>"
}
Extended Scope (Level 2+)
{
"role": "<string>",
"max_units": "<number>",
"max_tokens": "<number>",
"interests": ["<string>"],
"active_task_id": "<string | null>",
"temporal_layers": ["past", "present", "future"],
"relevance_threshold": "<number>",
"recency_weight": "<number>",
"since_epoch": "<number | null>"
}
Field Reference
| Field | Level | Required | Description |
|---|---|---|---|
role | 0+ | ✓ | Agent's declared role. Used as the primary relevance signal. |
max_units | 0+ | ✓ | Maximum number of memory units to return. |
since_epoch | 1+ | Only return units committed after this epoch. Enables polling-based subscriptions. | |
max_tokens | 2+ | Token budget. The Field will truncate or summarize to fit within this limit. | |
interests | 2+ | Topic areas to prioritize in scoring. | |
active_task_id | 2+ | Prioritize memory units related to this task ID. | |
temporal_layers | 2+ | Which temporal layers to include (past, present, future). | |
relevance_threshold | 2+ | Minimum relevance score (0.0–1.0) to include in results. | |
recency_weight | 2+ | How much to prefer recent memory units, from 0.0 (ignore recency) to 1.0 (recency dominates). |
Behavioral Requirements
CORE The Field MUST reject ATTUNE requests where scope.role is absent or empty.
CORE The Field MUST truncate results to scope.max_units after scoring and sorting.
Level 2+ The Field SHOULD also respect scope.max_tokens by estimating token counts and either including full content or summaries.
Level 2+ If scope.relevance_threshold is set, the Field MUST exclude any memory unit with a score below that threshold.
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://akashikprotocol.com/schema/0.1.0/scope.json",
"type": "object",
"required": ["role", "max_units"],
"properties": {
"role": { "type": "string", "minLength": 1 },
"max_units": { "type": "integer", "minimum": 1 },
"max_tokens": { "type": "integer", "minimum": 1 },
"interests": { "type": "array", "items": { "type": "string" } },
"active_task_id": { "type": ["string", "null"] },
"temporal_layers": {
"type": "array",
"items": { "type": "string", "enum": ["past", "present", "future"] }
},
"relevance_threshold": { "type": "number", "minimum": 0.0, "maximum": 1.0 },
"recency_weight": { "type": "number", "minimum": 0.0, "maximum": 1.0 },
"since_epoch": { "type": ["integer", "null"], "minimum": 0 }
}
}