fix(ci): resolve A2ML manifest baseline failure (Refs #87) - #112
Merged
Conversation
Two `.a2ml` files outside `.machine_readable/` lacked the identity field required by `hyperpolymath/a2ml-validate-action`: - `.boj/project-memories.a2ml` - `cartridges/007-mcp/schemas/memory-tag-map.a2ml` Both use s-expression body shape `(memory-tag-map …)` / `(project-memories …)` which the validator's line regex `^\s*(name|agent-id|project)\s*=` cannot match. Added a TOML-shape `[identity]` preamble exposing `name`, `project`, `version`, `schema_version` to the regex. Consumers ignore non-`(…)` lines: - `cartridges/007-mcp/ffi/oo7_mcp_ffi.zig` `matchMemories` skips every line until it sees `(tag …)` (`if (!in_memories) continue;` at the parse loop), so the TOML preamble is benign. - `.boj/project-memories.a2ml` is only `cat`'d into Claude worker briefings — informational, not parsed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
🔍 Hypatia Security ScanFindings: 31 issues detected
View findings[
{
"reason": "Stale AI session file -- delete",
"type": "stale",
"file": "GEMINI.md",
"action": "delete",
"rule_module": "root_hygiene",
"severity": "medium"
},
{
"reason": "Issue in quality.yml",
"type": "missing_workflow",
"file": "quality.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in security-policy.yml",
"type": "missing_workflow",
"file": "security-policy.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
"type": "unpinned_action",
"file": "governance.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Python file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/boj-server/boj-server/.github/scripts/validate-eclexiaiser.py",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
},
{
"reason": "TypeScript file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/boj-server/boj-server/cartridges/sanctify-mcp/adapter/mod.ts",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
},
{
"reason": "TypeScript file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/boj-server/boj-server/cartridges/academic-workflow-mcp/adapter/mod.ts",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
},
{
"reason": "TypeScript file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/boj-server/boj-server/cartridges/fireflag-mcp/adapter/mod.ts",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
},
{
"reason": "TypeScript file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/boj-server/boj-server/cartridges/ephapax-mcp/adapter/mod.ts",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
},
{
"reason": "TypeScript file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/boj-server/boj-server/cartridges/bofig-mcp/adapter/mod.ts",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two
.a2mlfiles outside.machine_readable/were failinghyperpolymath/a2ml-validate-actionwithMissing required identity field (agent-id, name, or project):.boj/project-memories.a2mlcartridges/007-mcp/schemas/memory-tag-map.a2mlBoth 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 exposingname,project,version, andschema_versionto the regex. The TOML lines are benign for downstream consumers:cartridges/007-mcp/ffi/oo7_mcp_ffi.zig::matchMemoriesskips every line until it sees(tag …)(if (!in_memories) continue;), so non-(…)lines never enter the parse path..boj/project-memories.a2mlis purely informational —cat'd into Claude worker session briefings.Test plan
Validate A2ML manifestsgreenEmpty-linter,Groove manifest check,Validate eclexiaiser manifestRefs #87.
🤖 Generated with Claude Code