Skip to content

Commit 3240209

Browse files
fix(ci): resolve A2ML manifest baseline failure (Refs #87) (#112)
## Summary Two `.a2ml` files outside `.machine_readable/` were failing `hyperpolymath/a2ml-validate-action` with `Missing required identity field (agent-id, name, or project)`: - `.boj/project-memories.a2ml` - `cartridges/007-mcp/schemas/memory-tag-map.a2ml` Both files use S-expression body shape (`(memory-tag-map …)` / `(project-memories …)`) which the validator's line regex `^\s*(name|agent-id|project)\s*=` cannot match. ## Fix Added a TOML-shape `[identity]` preamble to each file exposing `name`, `project`, `version`, and `schema_version` to the regex. The TOML lines are benign for downstream consumers: - `cartridges/007-mcp/ffi/oo7_mcp_ffi.zig::matchMemories` skips every line until it sees `(tag …)` (`if (!in_memories) continue;`), so non-`(…)` lines never enter the parse path. - `.boj/project-memories.a2ml` is purely informational — `cat`'d into Claude worker session briefings. ## Test plan - [ ] CI: Dogfood Gate / `Validate A2ML manifests` green - [ ] CI: no regression on `Empty-linter`, `Groove manifest check`, `Validate eclexiaiser manifest` Refs #87. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 98f7905 commit 3240209

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

.boj/project-memories.a2ml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@
55
; Auto-prepended to every Claude worker session via claude() shell hook.
66
; Media-Type: application/a2ml
77

8+
; ── Identity (required by hyperpolymath/a2ml-validate-action) ─────────
9+
; TOML-shape preamble exposes name/version to the line-regex validator.
10+
; Consumers of the s-exp body below ignore non-`(...)` lines, so this
11+
; header is benign for the claude() shell-hook cat-and-prepend pipeline.
12+
[identity]
13+
name = "project-memories"
14+
project = "boj-server"
15+
version = "1.0.0"
16+
schema_version = "1.0.0"
17+
818
(project-memories
919
(version "1.0.0")
1020
(repo "boj-server")

cartridges/007-mcp/schemas/memory-tag-map.a2ml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,17 @@
2323
;;
2424
;; The adapter resolves those against $HOME at OnEnter time.
2525

26+
;; ── Identity (required by hyperpolymath/a2ml-validate-action) ─────────
27+
;; TOML-shape preamble exposes name/version to the line-regex validator.
28+
;; The Zig consumer (cartridges/007-mcp/ffi/oo7_mcp_ffi.zig matchMemories)
29+
;; only honours `(tag …)` / `(memories …)` blocks, so non-`(` lines here
30+
;; are skipped by `if (!in_memories) continue;` at the parse loop.
31+
[identity]
32+
name = "memory-tag-map"
33+
project = "007-mcp"
34+
version = "0.1.0"
35+
schema_version = "1.0.0"
36+
2637
(memory-tag-map
2738
(version "0.1.0")
2839
(generated-for "007-lang")

0 commit comments

Comments
 (0)