#CONSORT #Structured #English for #AI
Flexible ways for specifying the format of the output of a #Consort #task, #named #agent, or #pipeline:
1. Formal JSON Schema
! Extract structured user data from unstructured bio text
# Free-text bios pasted from a signup form, may be messy or incomplete
$ Return valid JSON only, no prose, no markdown fences
%252:
{
“type”: “object”,
“properties”: {
“name”: {“type”: “string”},
“email”: {“type”: “string”, “format”: “email”},
“age”: {“type”: “number”},
“tags”: {“type”: “array”, “items”: {“type”: “string”}}
},
“required”: [“name”, “email”]
}
2. Less formal JSON Template notation
! Extract structured user data from unstructured bio text
# Free-text bios pasted from a signup form, may be messy or incomplete
$ Return valid JSON only, no prose, no markdown fences
%84:
{
“name”: “string”,
“email”: “string”,
“age”: “number”,
“tags”: [“string”]
}
Only % directives are #framed here, because its JSON payload contains {, :, and other punctuation that a parser could otherwise misread — and the shorthand types (“string”, “number”) replace the JSON Schema version for brevity, at the cost of not being machine-validatable.
#CONSORT #Specification: https://hyperonomy.com/2026/08/03/consort-prompt-dsl-system-prompt/