Conformance Levels
Start small, grow as you need to
You don't have to adopt the full protocol at once. Akashik is designed for progressive adoption — every level adds capability without requiring you to rewrite what already works.
| Level | Name | What you get | Effort |
|---|---|---|---|
| 0 | Starter | RECORD (with intent) + simplified ATTUNE. Keyword-based matching. No embeddings. | An afternoon |
| 1 | Core | + Persistence, logical clocks, explicit conflict detection, polling subscriptions | A week |
| 2 | Standard | + Semantic ATTUNE with embeddings, conflict resolution, push notifications, replay | Serious build |
| 3 | Full | + All conflict strategies, proactive push, full security model, coordination extension | Production-grade |
Level 0 — Starter
The minimum viable Akashik implementation. Under an hour to add to an existing system.
Required:
- REGISTER / DEREGISTER
- RECORD with
intent.purposerequired on every write - ATTUNE (simplified — keyword/lexical matching, no embeddings)
- In-memory Field (persistence optional)
- RECORD in
committedanddraftmodes - Core MemoryUnit types:
finding,decision,observation,question
Not required at Level 0:
- Confidence fields
- Logical clocks / epochs
- Conflict detection
- Event log
- Subscriptions
// This is everything Level 0 requires
const field = new Field()
const agent = field.register({ id: 'agent-01', role: 'researcher' })
await agent.record({
type: 'finding',
content: 'European SaaS market growing at 23% CAGR.',
intent: { purpose: 'Validate market size for go-to-market strategy' }
})
const context = await agent.attune({
scope: { role: 'strategist', max_units: 10 }
})
Level 1 — Core
Adds persistence, ordering guarantees, and the beginnings of coordination.
Added at Level 1:
- Persistent storage (file-based or database)
- Lamport logical clocks (
epochon every MemoryUnit) - Mandatory
confidenceblock on all committed MemoryUnits - Explicit conflict detection via
contradictsrelations - DETECT operation (list mode)
- Append-only event log
- Polling subscriptions via
since_epochon ATTUNE - REPLAY operation
Use Level 1 when: Your agents run across multiple sessions, or you need an audit trail of what was known and when.
Level 2 — Standard
Adds semantic intelligence and proactive coordination.
Added at Level 2:
- Semantic ATTUNE via vector embeddings
context_hintandmax_tokenson ATTUNE scope- Automatic conflict detection (scan mode without explicit
contradictsrequired) - MERGE operation with all 7 resolution strategies
- SUBSCRIBE operation with push delivery (WebSocket/SSE)
- Agent-level interests, priorities, and context windows
- Full Relation type vocabulary (9 types)
Use Level 2 when: You have multiple specialized agents with overlapping knowledge, or you need semantic search quality from your context delivery.
Level 3 — Full
Production-grade. Adds the full security model, authority hierarchy, and coordination extension.
Added at Level 3:
- Full security model: authentication, visibility rules, cross-agent authority
- Authority hierarchy (levels 0–10)
- Visibility fields on MemoryUnits and Agents
- Proactive push with fine-grained event filtering
- COMPACT operation for storage management
- Conflict auto-resolution via configured strategies
- Full conformance test suite compliance
Use Level 3 when: You're deploying in a production environment with security requirements, untrusted agents, or high-volume workloads.
What level should I start at?
Start at Level 0. It solves the core problem — agents sharing memory with intent tracking — with almost no overhead.
Move to Level 1 when any of these are true:
- You need memory to survive between sessions
- You want to know what was true at a specific point in time
- You have agents that might contradict each other
Move to Level 2 when:
- You want "relevant" context, not just keyword-matched context
- You want agents to be notified of changes without polling
Move to Level 3 when:
- You're moving to production
- You have trust or security boundaries between agents
Formal requirements
The full normative requirements checklist for each level is in the specification: