madoo.quality-policy/v1
Madoo quality policy — Rules for aggregating one or more portable quality checks.
| Reference | madoo.quality-policy/v1 |
| Schema id | urn:madoo:schema:quality-policy:v1 |
| Version | 1.0.0 |
| Served at | GET /api/v1/json-schemas/madoo.quality-policy/v1 · MCP get_json_schema |
Where it appears
Section titled “Where it appears”- Read by:
utility/quality_gate→policy - Saved in the parameter:
utility/quality_gate→policy
Fields
Section titled “Fields”| Field | Type | Required | Rules | Description |
|---|---|---|---|---|
schema |
"madoo.quality-policy/v1" |
yes | ||
policyId |
string | yes | min length 1; max length 128 | |
profile |
one of "all_must_pass", "weighted", "advisory" |
yes | ||
minimumScore |
number | yes | ≥ 0; ≤ 1 | |
onMissing |
one of "fail", "warn", "ignore" |
yes | ||
rules |
array or null | max items 32 | ||
rules[].checkId |
string | yes | min length 1; max length 128 | |
rules[].required |
boolean | yes | ||
rules[].weight |
number | yes | ≤ 1000; > 0 |
The complete schema
Section titled “The complete schema”madoo.quality-policy/v1 (JSON Schema)
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "urn:madoo:schema:quality-policy:v1", "title": "Madoo Quality Policy v1", "description": "Explicit policy used to aggregate portable quality checks.", "type": "object", "required": [ "schema", "policyId", "profile", "minimumScore", "onMissing" ], "properties": { "schema": { "const": "madoo.quality-policy/v1" }, "policyId": { "type": "string", "minLength": 1, "maxLength": 128 }, "profile": { "type": "string", "enum": [ "all_must_pass", "weighted", "advisory" ] }, "minimumScore": { "type": "number", "minimum": 0, "maximum": 1 }, "onMissing": { "type": "string", "enum": [ "fail", "warn", "ignore" ] }, "rules": { "type": [ "array", "null" ], "maxItems": 32, "items": { "type": "object", "required": [ "checkId", "required", "weight" ], "properties": { "checkId": { "type": "string", "minLength": 1, "maxLength": 128 }, "required": { "type": "boolean" }, "weight": { "type": "number", "exclusiveMinimum": 0, "maximum": 1000 } }, "additionalProperties": false } } }, "additionalProperties": false}