Skip to content
docs
Arxo ↗

Answer shapes

For LLMs4 sections

A structural question returns one of four documents. The first three come from the engines; the fourth is the host envelope around the first.

queryResult carries the manifest with the query hash and the package list with their hashes, the columns, the rows with values and provenance, the warnings, and the funnel that explains empty answers. Its schema is published once and shared: query-result.

queryError carries a diagnostic code with the message, the position and the hints. Every code of the query family has its own page under diagnostics: the message wording is part of the contract, the code is the stable handle.

querySchema lists every relation with its fields and every function with its arity, with row counts on the current snapshot. queryCatalog lists the named questions with their descriptions and parameters. Both are printed by the command itself instead of an answer: law query --schema and law query --list. The relations and functions pages of this topic render the same dictionary with one paragraph of meaning per entry.

The host answers with a window onto the full document rather than the document: the manifest of a wide scope alone would overflow the answer budget. The envelope carries the identity of the full document and of the scope, so the page checks against the command-line document.

fielduse
kindalways queryPage: a window onto a full queryResult, never the document itself
schemaVersionpage schema, 0.1, matching the queryResult it windows
languagethe LawQL line the host runs
queryHashsha256 of the query text
resultHashsha256 of the canonical bytes of the full queryResult: the page checks against the CLI —json document
snapshotsha256 of the canonical bytes of manifest.corpus: the identity of the scope with package hashes
packageshow many scope packages the manifest lists
materializationEnginewho ran eval() materializations, if any
materializationshow many eval() materializations ran
columnsthe select aliases of this window
rowCountrows of the whole result, not just this window
rowOffsetwhere this window starts
rowLimitwindow size: 20 by default, at most 5000
rowsthe window rows, each values with provenance
nextcursor for the continuation, with snapshot, or null on the last window
explainthe funnel: row counts after each clause, and the clause that emptied the answer
warningspage warnings, including ROWS_TRUNCATED while the result does not fit one window

A continuation is taken from the next cursor together with the snapshot; a continuation on another snapshot is refused. The full document instead of a page is served only for a single-package scope that fits the budget.

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.