1- # ⚠️ STOP - CRITICAL READING REQUIRED
1+ # STOP - CRITICAL READING REQUIRED
22
33**THIS FILE MUST BE READ FIRST BY ALL AI AGENTS**
44
@@ -13,13 +13,13 @@ This is the AI manifest for **standards**. It declares:
1313
1414### Machine-Readable Metadata: `.machine_readable/` ONLY
1515
16- These 6 SCM files MUST exist in `.machine_readable/` directory ONLY:
17- 1. **STATE.scm ** - Project state, progress, blockers
18- 2. **META.scm ** - Architecture decisions, governance
19- 3. **ECOSYSTEM.scm ** - Position in ecosystem, relationships
20- 4. **AGENTIC.scm ** - AI agent interaction patterns
21- 5. **NEUROSYM.scm ** - Neurosymbolic integration config
22- 6. **PLAYBOOK.scm ** - Operational runbook
16+ These 6 A2ML files MUST exist in `.machine_readable/` directory ONLY:
17+ 1. **STATE.a2ml ** - Project state, progress, blockers
18+ 2. **META.a2ml ** - Architecture decisions, governance
19+ 3. **ECOSYSTEM.a2ml ** - Position in ecosystem, relationships
20+ 4. **AGENTIC.a2ml ** - AI agent interaction patterns
21+ 5. **NEUROSYM.a2ml ** - Neurosymbolic integration config
22+ 6. **PLAYBOOK.a2ml ** - Operational runbook
2323
2424**CRITICAL:** If ANY of these files exist in the root directory, this is an ERROR.
2525
@@ -40,9 +40,9 @@ Bot-specific instructions for:
4040
4141## CORE INVARIANTS
4242
43- 1. **No SCM duplication** - Root must NOT contain STATE.scm , META.scm , etc.
43+ 1. **No A2ML duplication** - Root must NOT contain STATE.a2ml , META.a2ml , etc.
44442. **Single source of truth** - `.machine_readable/` is authoritative
45- 3. **No stale metadata** - If root SCMs exist, they are OUT OF DATE
45+ 3. **No stale metadata** - If root A2ML files exist, they are OUT OF DATE
46464. **License consistency** - All code PMPL-1.0-or-later unless platform requires MPL-2.0
47475. **Author attribution** - Always "Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>"
4848
@@ -57,24 +57,36 @@ standards/
5757├── 0-AI-MANIFEST.a2ml # THIS FILE (start here)
5858├── README.md # Project overview
5959├── [your source files] # Main code
60- ├── .machine_readable/ # SCM files (6 files)
61- │ ├── STATE.scm
62- │ ├── META.scm
63- │ ├── ECOSYSTEM.scm
64- │ ├── AGENTIC.scm
65- │ ├── NEUROSYM.scm
66- │ └── PLAYBOOK.scm
60+ ├── .machine_readable/ # A2ML files (6 files)
61+ │ ├── STATE.a2ml
62+ │ ├── META.a2ml
63+ │ ├── ECOSYSTEM.a2ml
64+ │ ├── AGENTIC.a2ml
65+ │ ├── NEUROSYM.a2ml
66+ │ └── PLAYBOOK.a2ml
6767└── .bot_directives/ # Bot instructions
6868```
6969
70+ ## A2ML ATOMICITY PROTOCOL (AAP)
71+
72+ When multiple agents or bots may be writing to A2ML files concurrently:
73+
74+ 1. **Read** the file and record `git-sha-at-read` in the `[provenance]` section
75+ 2. **Lock** by creating `.machine_readable/.lock-<FILENAME>` (advisory)
76+ 3. **Write** the updated file with new `[provenance]` metadata
77+ 4. **Release** by removing the lock file
78+ 5. **Conflict** — if `git-sha-at-read` does not match current HEAD, re-read and retry
79+
80+ This prevents lost writes when multiple agents update state files simultaneously.
81+
7082## SESSION STARTUP CHECKLIST
7183
72- ✅ Read THIS file (0-AI-MANIFEST.a2ml) first
73- ✅ Understand canonical locations (.machine_readable/, .bot_directives/)
74- ✅ Know the invariants (no SCM duplication, etc.)
75- ✅ Check for MCP enforcement (if applicable)
76- ✅ Read `.machine_readable/STATE.scm ` for current status
77- ✅ Read `.machine_readable/AGENTIC.scm ` for interaction patterns
84+ - Read THIS file (0-AI-MANIFEST.a2ml) first
85+ - Understand canonical locations (.machine_readable/, .bot_directives/)
86+ - Know the invariants (no A2ML duplication, etc.)
87+ - Check for MCP enforcement (if applicable)
88+ - Read `.machine_readable/STATE.a2ml ` for current status
89+ - Read `.machine_readable/AGENTIC.a2ml ` for interaction patterns
7890
7991## LIFECYCLE HOOKS
8092
@@ -86,15 +98,15 @@ When starting a new session:
86982. Log session start (optional but recommended)
8799 - Format: `[YYYY-MM-DD HH:MM:SS] Session started: [agent-name]`
88100 - Location: `.machine_readable/session-log.txt`
89- 3. Read `.machine_readable/STATE.scm `
101+ 3. Read `.machine_readable/STATE.a2ml `
901024. Check for blockers
911035. State understanding of canonical locations
92104
93105### on-exit (Session End)
94106
95107When ending a session:
96108
97- 1. Update `.machine_readable/STATE.scm ` if changes made
109+ 1. Update `.machine_readable/STATE.a2ml ` if changes made
981102. Log session end (optional but recommended)
99111 - Format: `[YYYY-MM-DD HH:MM:SS] Session ended: [summary]`
100112 - Location: `.machine_readable/session-log.txt`
@@ -105,7 +117,7 @@ When ending a session:
105117
106118After reading this file, demonstrate understanding by stating:
107119
108- **"I have read the AI manifest. SCM files are located in `.machine_readable/` ONLY, bot directives in `.bot_directives/`, and I will not create duplicate files in the root directory."**
120+ **"I have read the AI manifest. A2ML files are located in `.machine_readable/` ONLY, bot directives in `.bot_directives/`, and I will not create duplicate files in the root directory."**
109121
110122## META
111123
0 commit comments