This folder provides an overview of how to test and validate AOM payloads in this repo. It ties together the language-specific tools in tools/python/ and tools/node/ and the versioned examples in examples/.
For AOM v0.1.0, the primary entrypoint for testing is the validate commands; there is no separate “test runner” beyond these validators and the demo agents.
# Validate all examples (recommended)
python aom.py validate all --examples-dir examples/v0.1.0
node aom.mjs validate all --examples-dir examples/v0.1.0
# Validate one surface or output
python aom.py validate input --file examples/v0.1.0/login-single/login.aom.json
python aom.py validate output --file examples/v0.1.0/login-single/outputs/_login.success.output.json
Use the validate tools to check your AOM JSON against the schemas in spec/v0.1.0/:
tools/python/validate/README.mdtools/node/validate/README.mdFrom the repo root (script-level, advanced):
# Validate all examples
python tools/python/validate/validate_all.py
# or
node tools/node/validate/validate_all.js
These commands:
*.aom.json and *.output.json under examples/spec/v0.1.0/aom-input-schema.jsonspec/v0.1.0/aom-output-schema.jsonGolden outputs/*.output.json files are generated and updated by the create-outputs tools:
python aom.py create-outputs
node aom.mjs create-outputs
These discover every *.aom.json under examples/ and write:
To avoid overwriting hand-edited outputs, add a .skip marker file alongside the JSON you want to protect.
Under examples/v0.1.0/demo-agents/ you will find:
python/ — a demo agent and pytest-based testsnode/ — a demo agent and Node test runnerThese are reference implementations that consume example AOM surfaces and produce outputs that match the golden files.
For sites or agents adopting AOM v0.1.0:
The validators are the official conformance testing tools for this repo; no additional test framework is required for MVP.
If you want more opinionated starter code for building agents that consume and produce AOM, AOM Agent kits (Python and Node) are distributed from aom.tools. These live outside this spec repo and complement the free demo agents and validators here.