---
title: AXM-COMMS-001 · Axiom Automaton for Inter-Agent Communication
kind: axiom
captured: 2026-05-23
captured_by: orchestrator (cowork session local_ditto_60a94878) per Captain directive
project_code: AXM-COMMS-001
parent_framework: AXM-000 (Automaton Axioms · structural axioms of the company)
back_reference: ../_principia/executing-as-architecting.md
parent_brief: ./BRIEF-OMPHALOS-001.md
groundrule: ./AGENT-PRE-FLIGHT.md
sibling_principia:
  - ../_principia/delegation-and-handoff.md
runtime: ./axiom-automaton.py
keystone_index: ./keystones/keystones.jsonl
captain_inbox: ../_captain/inbox/
principle_honored:
  - executing-as-architecting (the comm IS the protocol, instantiated through use)
  - AGENT-PRE-FLIGHT item 4 (frontmatter back-references)
  - axiom-requirements-determine-decisions (the axiom's structure follows from comm requirements, not aesthetic preference)
sigil: ⊙
---

# AXM-COMMS-001 · the loom

> *Agents communicate by stamped artifacts in a coord folder; the stamping IS the protocol; the protocol is never separately specified — it is performed and refined through use; the most recent mutually-acknowledged exchange IS the baseline.*

## Metaphor

A loom. Two agents pass shuttles (stamped files) across each other in a coord folder. Each pass tightens the weave. The pattern is not designed before weaving — it emerges in the weave. Cut the loom open mid-pass and the protocol lives in the threads themselves. Architecting-in-execution: the warp is built by passing the weft.

## The three sub-rules

### 1 · Stamped artifacts

Every comm is a file: `<PROJECT>-<TYPE>-<BRANCH><VERSION>-<MM-DD>-<HH-MM>-<purpose>.<ext>`. No anonymous messages. No clean-slate edits. Each comm is a new stamped artifact in the coord folder.

### 2 · Back-reference required

Each new file's frontmatter cites the prior file it responds to. The thread is reconstructible from any point by walking back-references.

### 3 · Mutual acknowledgment baselines

When both parties' stamped files agree on a point, the agreement gets stamped jointly (`<PROJECT-A>-<PROJECT-B>-COORD-...`). That joint stamp IS the new baseline. Disagreements stay open until next acknowledgment. The baseline is queryable.

## Captain's three policy answers (2026-05-23)

### Mode · passive first

Build passive mode (validates on-demand) as v0.1. Active mode (file-watcher daemon) follows after passive MVP proves the schema, unless active turns out easier from the start.

### Ratification authority · two modes

- **Captain's Seal** required when the joint acknowledgment changes direction — a project's scope shifts, a code locks, a principium is added or removed, an architectural decision crosses a threshold.
- **Agent self-declare** sufficient when the joint acknowledgment maintains the Captain's course — schema details that follow the captain's stated requirements, naming inside an already-locked code, routine schema convergence.

Agents flag every joint-ratification attempt with a mode indicator: `mode: course-maintenance` or `mode: direction-change`. The automaton routes direction-change items to `_captain/inbox/` for Captain Seal; course-maintenance items log and proceed.

### Baseline retention · cores retained, bodies referenced

Queryable history of core keystones only. The full body of each exchange stays where it was written (in the coord folder); the keystone — the load-bearing distillation of what was agreed — gets extracted to `keystones/keystones.jsonl` with a back-reference link to the source body.

This makes the keystone index small, queryable, and durable. Bodies can be archived or pruned without breaking the keystone. The keystone IS the architecture; the body is the trace.

Keystone schema (per row in `keystones.jsonl`):

```jsonc
{
  "id": "AXM-K-<MM-DD>-<HH-MM>-<slug>",
  "stamped_at": "2026-05-23T20:41:00-07:00",
  "parties": ["AZL-000", "BOW-000"],
  "agreement": "single sentence stating what was agreed",
  "mode": "course-maintenance | direction-change",
  "ratified_by": "agents-self | captain-seal",
  "source_ref": "_ops/coord/AZL-BOW/AZL-BOW-COORD-A000-05-23-13-41-gap-overlap.md",
  "supersedes": null
}
```

## Captain's notification surface

Lives at `~/Desktop/root/_captain/inbox/`. Agents write stamped notification files when they need the Captain's eye for a direction-change ratification. Filename follows the global schema with `INBOX` as the type: `<PROJECT>-INBOX-A000-<MM-DD>-<HH-MM>-<purpose>.md`.

Captain's lane rule (per `_captain/README.md`): agents write to `_captain/inbox/` ONLY — they never read or modify anything else under `_captain/`. The inbox is the membrane.

## Runtime

`./axiom-automaton.py` — passive validator. v0.1 functions:

- `validate_stamp(filename)` — checks the filename matches the global stamp convention
- `list_open(coord_path)` — surfaces unack'd exchanges in a coord folder
- `list_baselines(coord_path)` — current acknowledged baseline per coord pair
- `extract_keystone(joint_file)` — pulls the keystone from a joint-acknowledged file, appends to `keystones.jsonl`
- `query_keystones(filter)` — query the keystone history

Active mode (v0.2): file watcher on `_ops/coord/` and `_captain/inbox/` triggering automatic validation + keystone extraction on write.

## Falsification

If a coord folder accumulates exchanges that the automaton can't parse, or if a baseline shifts without a stamped joint acknowledgment, this axiom failed. The next correction promotes the runtime from `_ops/` utility to a Cowork plugin skill that auto-fires on every artifact write under root/.

## Lineage

- Sprouted from Captain's directive 2026-05-23 in cowork session `local_ditto_60a94878`, immediately after the AZL-000 / BOW-000 gap-overlap analysis surfaced the need for a comm protocol between the two running agents.
- Sibling to AXM-000 (Automaton Axioms framework) — first concrete inhabitant.
- Walking-distance to `executing-as-architecting.md` — the comm IS the architecture.

## Pre-flight affirmation

```yaml
pre_flight:
  read_principia: yes
  found_grammar: yes          # axiom, automaton, baseline, keystone — all already in Captain's lexicon
  viewer_skin: piped through _ptah/cyrelium-md-viewer.html when surfaced
  stamped: yes
  gaps_disclosed: yes         # active mode deferred to v0.2; keystone schema may need fields added as use surfaces them
  ptah_write: n/a             # new file, no prior version
```
