Skip to main content

Manifest Fields Reference

Complete field reference for the AXAG Semantic Manifest JSON document.

Top-Level Fields

FieldTypeRequiredDescription
versionstringMUSTSpec version (e.g., "0.1.0-draft")
entitiesEntity[]MUSTArray of entity definitions
metadataMetadataMAYGeneration metadata

Metadata Object

FieldTypeRequiredDescription
generatorstringMAYTool that generated the manifest
generated_atstring (ISO 8601)MAYTimestamp of generation
source_urlstring (URI)MAYURL of the annotated source
checksumstringMAYSHA-256 hash of manifest content

Entity Object

FieldTypeRequiredDescription
namestringMUSTEntity name (snake_case)
descriptionstringSHOULDHuman-readable entity description
actionsAction[]MUSTArray of actions on this entity

Action Object

FieldTypeRequiredDescription
intentstringMUSTentity.action identifier
operation_idstringSHOULDUnique operation ID (snake_case)
action_typestringMUSTread, write, or delete
descriptionstringSHOULDHuman-readable description
parametersParametersSHOULDParameter definitions
risk_levelstringSHOULDnone/low/medium/high/critical
idempotentbooleanSHOULDSafe to retry?
confirmation_requiredbooleanSHOULDUser confirmation needed?
approval_requiredbooleanMAYRole-based approval needed?
approval_rolesstring[]MUST (if approval)Roles that can approve
preconditionsstring[]MAYPre-execution conditions
postconditionsstring[]MAYPost-execution guarantees
side_effectsstring[]MAYExternal side-effects
scopestringSHOULDData access scope
tenant_boundarystringMAYstrict or relaxed
asyncbooleanMAYAsynchronous operation?

Parameter Definition Object

FieldTypeRequiredDescription
typestringMUSTJSON Schema type
requiredbooleanMUSTIs this parameter required?
descriptionstringMAYParameter description
enumany[]MAYAllowed values
minimumnumberMAYMinimum numeric value
maximumnumberMAYMaximum numeric value
minLengthintegerMAYMinimum string length
maxLengthintegerMAYMaximum string length
patternstringMAYRegex pattern for validation
formatstringMAYemail, uri, date, date-time
defaultanyMAYDefault value if not provided
itemsobjectMAYArray item schema (when type=array)
propertiesobjectMAYNested object properties (when type=object)

Example Manifest

{
"version": "0.1.0-draft",
"metadata": {
"generator": "axag-cli",
"generated_at": "2024-01-15T10:30:00Z",
"source_url": "https://example.com"
},
"entities": [
{
"name": "product",
"description": "Product catalog entity",
"actions": [
{
"intent": "product.search",
"operation_id": "product_search",
"action_type": "read",
"description": "Search the product catalog",
"parameters": {
"query": { "type": "string", "required": true },
"category": { "type": "string", "required": false }
},
"risk_level": "none",
"idempotent": true,
"scope": "public"
}
]
}
]
}