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",
"source_requirement_refs",
"subject_refs",
"category",
"normativity",
"resolution_status",
"activation_basis" ],
"properties": { "id": { "$ref": "https://matjson.org/schema/core/0.1/schema.json#/$defs/local_id" },
"source_requirement_refs": { "type": "array",
"minItems": 1,
"items": { "$ref": "https://matjson.org/schema/core/0.1/schema.json#/$defs/requirement_ref" } },
"subject_refs": { "type": "array",
"minItems": 1,
"uniqueItems": true,
"items": { "$ref": "https://matjson.org/schema/core/0.1/schema.json#/$defs/local_id" } },
"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": { "enum": [ "mandatory",
"prohibited",
"recommended",
"permitted",
"informative" ] },
"resolution_status": { "enum": [ "active",
"inactive",
"not_applicable",
"unresolved_selector",
"missing_project_input",
"superseded",
"overridden",
"conflict",
"manual_resolution_required" ] },
"activation_basis": { "$ref": "#/$defs/activation_basis" },
"selector_context": { "$ref": "#/$defs/selector_context" },
"precedence": { "$ref": "#/$defs/precedence" },
"effective_requirement": { "$ref": "#/$defs/effective_requirement" },
"verification_plan": { "$ref": "#/$defs/verification_plan" },
"source_text": { "type": "string" },
"notes": { "type": "array",
"items": { "type": "string" } } },
"allOf": [ { "if": { "properties": { "resolution_status": { "const": "active" } },
"required": [ "resolution_status" ] },
"then": { "required": [ "effective_requirement",
"verification_plan" ] } } ]}Fields
| Field | Type | Status | Meaning |
|---|---|---|---|
id | Local id | Required | Stable identifier for this object within its containing MatJSON document. |
source_requirement_refs | array — at least 1 item(s) | Required | Source requirement refs used by this schema object. |
subject_refs | array — at least 1 item(s) | Required | Subject refs used by this schema object. |
title | string | Optional | Short human-readable name displayed in documentation and review tools. |
category | enum — "material_selection", "product_form", "chemistry", "mechanical", "impact", "hardness", … | Required | Category used by this schema object. |
normativity | enum — "mandatory", "prohibited", "recommended", "permitted", "informative" | Required | Normativity used by this schema object. |
resolution_status | enum — "active", "inactive", "not_applicable", "unresolved_selector", "missing_project_input", "superseded", … | Required | Resolution status used by this schema object. |
activation_basis | Activation basis | Required | Activation basis used by this schema object. |
selector_context | Selector context | Optional | Selector context used by this schema object. |
precedence | Precedence | Optional | Precedence used by this schema object. |
effective_requirement | Effective requirement | Optional | Effective requirement used by this schema object. |
verification_plan | Verification plan | Optional | Verification plan used by this schema object. |
source_text | string | Optional | Source text used by this schema object. |
notes | array | Optional | Additional explanatory notes that do not replace the structured requirement. |