Definition JSON
This fragment is shown exactly as published. Use the chevrons to fold objects and arrays; linked $ref values return to their targets in the complete schema.
{ "type": "object",
"additionalProperties": false,
"required": [ "id",
"category",
"normativity",
"targets",
"activation",
"requirement",
"verification",
"source" ],
"properties": { "id": { "type": "string",
"pattern": "^[A-Za-z0-9._:-]+$" },
"title": { "type": "string" },
"category": { "enum": [ "material_selection",
"product_form",
"chemistry",
"mechanical",
"impact",
"hardness",
"metallurgy",
"corrosion_testing",
"heat_treatment",
"manufacturing",
"welding_consumable",
"fabrication",
"nde",
"pmi",
"documentation",
"traceability",
"marking",
"dimensions",
"external_standard",
"other" ] },
"normativity": { "$ref": "#/$defs/normativity" },
"targets": { "$ref": "#/$defs/targets" },
"activation": { "$ref": "#/$defs/activation" },
"requirement": { "$ref": "#/$defs/requirement" },
"effect": { "$ref": "#/$defs/effect" },
"verification": { "$ref": "#/$defs/verification" },
"dependencies": { "$ref": "#/$defs/dependencies" },
"references": { "type": "array",
"items": { "$ref": "#/$defs/document_reference" } },
"source": { "$ref": "#/$defs/source_ref" },
"notes": { "type": "array",
"items": { "type": "string" } },
"group_id": { "type": "string" },
"structured_level": { "enum": [ "fully_structured",
"partially_structured",
"text_preserved",
"lookup_required" ] },
"sources": { "type": "array",
"minItems": 1,
"items": { "$ref": "#/$defs/source_ref" } },
"extensions": { "type": "object",
"additionalProperties": true,
"propertyNames": { "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$",
"description": "Direct rule-extension keys use lowercase snake_case." } } }}Fields
| Field | Type | Status | Meaning |
|---|---|---|---|
id | string — pattern ^[A-Za-z0-9._:-]+$ | Required | Stable rule identifier used for invocation, dependencies, checking, and result traceability. |
title | string | Optional | Short human-readable statement of the rule. |
category | enum — "material_selection", "product_form", "chemistry", "mechanical", "impact", "hardness", … | Required | Controlled material-requirement category used for filtering and downstream processing. |
normativity | Normativity | Required | The source document's normative strength and modal wording, kept separate from project activation. |
targets | Targets | Required | Materials, grades, product forms, equipment components, weld regions, sides, services, and fabrication states to which a rule can apply. |
activation | Activation | Required | How a rule becomes active for a purchase, including always-active, conditionally active, purchaser-invoked, or scoped invocation. |
requirement | Requirement | Required | The typed behavior imposed by the rule, such as a limit, test, examination, heat treatment, document field, prohibition, or decision procedure. |
effect | Effect | Optional | How a MatReq rule supplements, restricts, replaces, selects, prohibits, or otherwise interacts with a base MatSpec requirement. |
verification | Verification | Required | Evidence types, checking method, and result behavior used to demonstrate compliance. |
dependencies | Dependencies | Optional | Other rules, decisions, or external documents needed before this rule can be evaluated. |
references | array | Optional | External documents invoked or used by this rule, together with the precise reference role. |
source | Source ref | Required | Primary source locator for the rule. Use sources when multiple noncontiguous locations jointly establish it. |
notes | array | Optional | Additional interpretation or extraction notes that do not replace the structured rule. |
group_id | string | Optional | Identifier linking related atomic rules that originate from one larger source requirement or decision sequence. |
structured_level | enum — "fully_structured", "partially_structured", "text_preserved", "lookup_required" | Optional | Degree to which the source requirement has been converted into executable structure rather than preserved text or a lookup. |
sources | array — at least 1 item(s) | Optional | One or more source locations jointly supporting the rule. |
extensions | object | Optional | Namespaced workflow or domain data associated with this rule. |