34 lines
1.4 KiB
JSON
34 lines
1.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://assetoverflow.dev/core/schemas/probe",
|
|
"title": "CORE Probe Record",
|
|
"description": "A deterministic probe for pack validation. Probes are the executable assertions that verify a pack's contract against real inputs.",
|
|
"type": "object",
|
|
"required": ["probe_id", "kind", "input", "expected"],
|
|
"properties": {
|
|
"probe_id": {
|
|
"type": "string",
|
|
"description": "Stable unique identifier. Convention: {lang}:{gate}:{probe-name}."
|
|
},
|
|
"kind": {
|
|
"type": "string",
|
|
"description": "Which gate this probe tests. One of: 'schema', 'lexical', 'morphology', 'lift', 'readback', 'determinism', 'alignment', 'coverage'.",
|
|
"enum": ["schema", "lexical", "morphology", "lift", "readback", "determinism", "alignment", "coverage"]
|
|
},
|
|
"input": {
|
|
"description": "The input to the operation under test. Shape depends on kind."
|
|
},
|
|
"expected": {
|
|
"description": "The expected output or outcome. Shape depends on kind."
|
|
},
|
|
"tolerance": {
|
|
"type": ["number", "null"],
|
|
"description": "For numeric comparisons, the acceptable deviation. Null for exact-match probes."
|
|
},
|
|
"notes": {
|
|
"type": ["string", "null"],
|
|
"description": "Optional commentary on what this probe is checking and why."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|