Data arrays
The Data Array Engine declares arrays in .ags/data-arrays.yml: where the data lives,
how to locate it, how to order it, and what uniqueness key to use. Enforcement fails closed on
violations; normalize planning tells the agent exactly how to rewrite the list.
Configure an array
schemaVersion: 1
arrays:
- id: mcp-tools
path: config/mcp-tools.json
locator:
jsonPath: tools
order: alpha
uniqueBy: "$value"
itemKind: string
graphArtifact: docs/data-array-map/latest.jsonpath— file that holds the arraylocator.jsonPath— where inside the file the array sitsorder— e.g.alphauniqueBy— expression for dedupe ($valuefor string lists)itemKind— expected element type
MCP tools
| Tool | Does |
|---|---|
| array_get | Read declared arrays / graph |
| array_validate | Validate shape without enforcing write policy |
| array_enforce | Fail on order / dupes / shape issues |
| array_plan_normalize | Return a concrete rewrite plan the agent can apply |
// MCP tool: array_enforce
{ "arrayId": "mcp-tools" }
// MCP tool: array_plan_normalize
{ "arrayId": "mcp-tools" }Gate
gate.array plugs into the same enforcement / CI path as other engines. Sentinel can fire
a reflex.array_enforce remediation hint when arrays fail mid-session.
Related: Canonicalization · Showcase · Examples.