Akashik Protocol
Concepts

The Field

The shared memory surface that all agents in a system read from and write to.

What the Field is

The Field is the top-level primitive in the Akashik Protocol. It is the shared surface through which agents exchange knowledge — the boundary within which entries are written, scored, and compared.

import { createField } from '@akashikprotocol/core'

const field = createField()

In v0.2, the Field is in-memory. All state is scoped to the current process.

What the Field does

CapabilityWhat it means in practice
Entry storageStores all committed entries by agent
Agent registryTracks registered agents and their declared roles
AttunementReturns ranked, relevant entries when an agent requests context
Conflict detectionSurfaces contradictions across committed entries on the same topic
Draft managementHolds private entries until the author commits or discards them

What the Field does not do in v0.2

  • No persistence — state is lost when the process exits. Persistent storage ships in v0.3.
  • No subscriptions — agents poll with attune() / reckon(). Push notifications are Level 2.
  • No merging — the protocol surfaces conflicts; your code decides how to resolve them.
  • No distributed coordination — one Field, one process. Multi-node federation is future.

How agents interact with the Field

Every agent interaction goes through one of the Field's methods:

register()          — join the Field with a declared role
write()             — commit an entry immediately
attune()            — receive ranked, relevant context
reckon()            — receive context plus conflict detection
draft()             — stage a private entry before committing
commit()            — publish a draft to the shared field
discard()           — delete a draft
retract()           — withdraw a committed entry (author only)
supersede()         — replace a committed entry with a newer one
deregister()        — leave the Field
read()              — direct access to all entries (debugging, history)

Scope

A Field is a bounded space. Agents within a Field share entries with each other. Agents in different Fields do not.

This makes the Field the unit of isolation — one Field per application is the default pattern. Use multiple Fields only if you need hard memory isolation between distinct agent populations.

Next

  • Writing with Intent — how entries work, topic conventions, and why intent is mandatory
  • Attunement — how agents receive relevant context from the Field