7 rows, live from D1
Criteria
The full a2a.terse.v1 spec: 4 structural elements plus the 7 rubric criteria they're graded against.
Rubric criteria
| slug | name | what it checks | pass threshold |
|---|---|---|---|
structural_fidelity |
structural_fidelity | Validates that all four required top-level keys (inputs, outputs, steps, eval) are present, correctly typed, and non-empty. A spec missing or malforming any of the four fails this criterion outright. | all 4 keys present + correctly typed |
terseness |
terseness | Penalizes verbosity: redundant keys, restated-in-prose fields duplicating structured data, multi-sentence step descriptions, and unearned YAML anchor/alias overhead. | no redundant keys; steps read as single clauses |
io_contract |
io_contract | Checks that inputs and outputs are fully typed and complete: every field has a declared type, required/optional status is unambiguous, and nothing referenced in steps or eval is missing from the declared contract. | every field typed; no undeclared references |
self_eval_tail |
self_eval_tail | Checks that the eval array exists and contains meaningful, executable self-check entries, not a placeholder or a single trivial assertion. | eval array non-trivial and executable |
cross_platform |
cross_platform | Checks that the spec renders identically across standard YAML 1.2 parsers: no exotic tags, no parser-specific extensions, no constructs that parse differently across languages. | parses identically on 3+ standard YAML 1.2 loaders |
determinism |
determinism | Checks for ambiguous or non-reproducible constructs: unordered maps where order matters, locale-dependent coercion, or steps whose outcome depends on unstated external state. | no ambiguous or locale-dependent constructs |
traceability |
traceability | Checks that the spec is attributable, versioned, and citable: carries an identifiable version marker such as a2a.terse.v1, and cites sources where content is derived rather than original. | version marker present; sources cited where derived |
Machine-readable version: GET /api/criteria?kind=rubric_criterion