Skip to content

Commit ffc2aa5

Browse files
hyperpolymathclaude
andcommitted
chore(6a2): migrate bot_directives to A2ML, remove deprecated .scm metadata files
Converted .machine_readable/bot_directives/*.scm → *.a2ml (8 files: echidnabot, finishbot, glambot, rhodibot, robot-repo-automaton, seambot, sustainabot, README). Content equivalent; format is now A2ML TOML-like with copyright headers, consistent with 6a2 state files. Removed echidnabot/TESTING-REPORT.scm (2025-12-29 snapshot, superseded by STATE.a2ml which is the authoritative state record). Updated .claude/CLAUDE.md with explicit deprecation rule: any .scm metadata file found under .machine_readable/ must be converted to A2ML and deleted. Guix package .scm files are explicitly exempted. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 02fd283 commit ffc2aa5

18 files changed

Lines changed: 142 additions & 160 deletions

.claude/CLAUDE.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,22 @@ The following files in `.machine_readable/` contain structured project metadata:
88
- `.machine_readable/6a2/AGENTIC.a2ml` - AI agent interaction patterns
99
- `.machine_readable/6a2/NEUROSYM.a2ml` - Neurosymbolic integration config
1010
- `.machine_readable/6a2/PLAYBOOK.a2ml` - Operational runbook
11+
- `.machine_readable/bot_directives/*.a2ml` - Per-bot permission and scope rules
12+
13+
### CRITICAL: .scm metadata files are DEPRECATED
14+
15+
**All `.scm` state/metadata files have been replaced by `.a2ml`.**
16+
17+
If you find any `.scm` file under `.machine_readable/` (e.g. `STATE.scm`, `META.scm`,
18+
`ECOSYSTEM.scm`, `AGENTIC.scm`, `NEUROSYM.scm`, `PLAYBOOK.scm`, bot directive `.scm`
19+
files, or similar), you MUST:
20+
21+
1. Check whether an equivalent `.a2ml` file already exists
22+
2. If yes — delete the `.scm` file immediately (`git rm`)
23+
3. If no — convert its content to A2ML format first, then delete the `.scm` original
24+
25+
**Exception:** `guix.scm` files and files under `guix/` or `guix-channel/` are Guix
26+
package definitions (not metadata files) and must NOT be deleted.
1127

1228
---
1329

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# README.a2ml — index for .machine_readable/bot_directives/
5+
6+
[index]
7+
version = "1.0"
8+
format = "a2ml" # migrated from .scm on 2026-04-11
9+
10+
[notes]
11+
purpose = "Per-bot rules and constraints for this repository."
12+
policy = "Bots must follow these directives in addition to global policies."
13+
14+
[files]
15+
echidnabot = "echidnabot.a2ml"
16+
finishbot = "finishbot.a2ml"
17+
glambot = "glambot.a2ml"
18+
rhodibot = "rhodibot.a2ml"
19+
robot-repo-automaton = "robot-repo-automaton.a2ml"
20+
seambot = "seambot.a2ml"
21+
sustainabot = "sustainabot.a2ml"

.machine_readable/bot_directives/README.scm

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# echidnabot.a2ml — bot directive for echidnabot
5+
6+
[bot]
7+
name = "echidnabot"
8+
scope = "formal verification and fuzzing"
9+
10+
[permissions]
11+
allow = ["analysis", "fuzzing", "proof checks"]
12+
deny = ["write to core modules", "write to bindings"]
13+
14+
[notes]
15+
guidance = "May open findings; code changes require explicit approval"

.machine_readable/bot_directives/echidnabot.scm

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# finishbot.a2ml — bot directive for finishbot
5+
6+
[bot]
7+
name = "finishbot"
8+
scope = "release readiness"
9+
10+
[permissions]
11+
allow = ["release checklists", "docs updates", "metadata fixes"]
12+
deny = ["code changes without approval"]
13+
14+
[notes]
15+
guidance = "Focus on polish, licensing, and packaging"

.machine_readable/bot_directives/finishbot.scm

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# glambot.a2ml — bot directive for glambot
5+
6+
[bot]
7+
name = "glambot"
8+
scope = "presentation + accessibility"
9+
10+
[permissions]
11+
allow = ["docs", "readme badges", "ui/accessibility suggestions"]
12+
deny = ["logic changes"]
13+
14+
[notes]
15+
guidance = "Edits limited to presentation layers"

.machine_readable/bot_directives/glambot.scm

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# rhodibot.a2ml — bot directive for rhodibot
5+
6+
[bot]
7+
name = "rhodibot"
8+
scope = "rsr-compliance"
9+
10+
[permissions]
11+
allow = ["metadata", "docs", "repo-structure checks"]
12+
deny = ["destructive edits without approval"]
13+
14+
[notes]
15+
guidance = "Auto-fix allowed only for formatting in docs and metadata"

0 commit comments

Comments
 (0)