Foreword. Data Artifact: the machine-readable twin of VRS-HAZ-201 (VRS 2026 (draft)) — the sector criteria with their point ranges, rungs and tier ceilings, the contributing intrinsic criteria, the letter bands and the application classes — generated FROM the protocol’s Clause 5–7 by
tools/vrs-twin-generate.py. Consistency is by construction and re-verified on every build (conformance check 15). The JSON in Clause 4 is the normative payload; scorer tooling consumes it directly. A change to VRS-HAZ-201 and to this twin is one change instrument.
1 Scope
This Data Artifact carries the rubric data of the Hazardous & Emergency (HAZ) sector in machine-readable form: the 9 sector criteria of VRS-HAZ-201 Clause 6 with points, rungs and Unverified / Verified / Certified ceilings; the contributing intrinsic criteria of Clause 5; the letter bands and application classes of Clause 7. It states no independent requirements. Where this artifact and VRS-HAZ-201 could be read to differ, VRS-HAZ-201 governs and this twin is regenerated to match.
2 Normative references
- VRS-HAZ-201, Hazardous & Emergency — AR Assessment Protocol — source protocol twinned (Clauses 5–7).
- VRS-HAZ-001, Hazardous & Emergency — Sector Standard — application classes and hazard groups.
- VRS-GEN-005, IR Methodology — point sum, tier ceilings, no-evidence rule.
- VRS-GEN-006, AR Scheme — pool mechanics, letter bands, tier caps by construction.
- VRS-GEN-002, Designation and Drafting Rules — criterion layout (§6.5) and versioning.
3 Terms and definitions
The terms of VRS-GEN-001 and VRS-HAZ-201 apply. data twin — a machine-readable artifact regenerated one-to-one from a source protocol’s normative clauses. rung — a named state of a criterion awarding a stated integer number of points (VRS-GEN-002 §3.9). ceiling — the maximum points a criterion awards at a stated tier (VRS-GEN-002 §3.10).
4 Payload
Sector criteria total 100 points; ceilings Unverified 70, Verified 85, Certified 100.
{
"_meta": {
"description": "HAZ sector AR rubric data twin — machine-readable form of VRS-HAZ-201 Clause 5/6/7 (VRS 2026 (draft)). Generated by tools/vrs-twin-generate.py; never hand-edited.",
"edition": "VRS 2026 (draft)",
"source_protocol": "VRS-HAZ-201 v1.0.0",
"generated": "2026-09-16",
"conforms_to": "VRS-GEN-005 §6 (point sum, tier ceilings); VRS-GEN-006 §6–§8 (pool, bands, tier caps by construction)"
},
"sector_code": "haz",
"bands_percent": {
"AAA": 90,
"AA": 75,
"A": 60,
"B": 45,
"C": 0
},
"application_classes": [
"explosive-atmosphere",
"nuclear/radiological",
"firefighting",
"EOD",
"search-and-rescue"
],
"contributing_ir_criteria": [
{
"id": "SF-1",
"document": "VRS-GEN-101",
"clause": "6.1"
},
{
"id": "SF-2",
"document": "VRS-GEN-101",
"clause": "6.2"
},
{
"id": "SF-5",
"document": "VRS-GEN-101",
"clause": "6.5"
},
{
"id": "SF-8",
"document": "VRS-GEN-101",
"clause": "6.8"
},
{
"id": "RL-2",
"document": "VRS-GEN-102",
"clause": "6.2"
},
{
"id": "RL-5",
"document": "VRS-GEN-102",
"clause": "6.5"
},
{
"id": "SV-2",
"document": "VRS-GEN-103",
"clause": "6.2"
},
{
"id": "SV-5",
"document": "VRS-GEN-103",
"clause": "6.5"
},
{
"id": "CY-4",
"document": "VRS-GEN-105",
"clause": "6.4"
},
{
"id": "MS-1",
"document": "VRS-GEN-106",
"clause": "6.1"
},
{
"id": "MS-6",
"document": "VRS-GEN-106",
"clause": "6.6"
},
{
"id": "MS-7",
"document": "VRS-GEN-106",
"clause": "6.7"
},
{
"id": "SI-2",
"document": "VRS-GEN-104",
"clause": "6.2"
},
{
"id": "SI-6",
"document": "VRS-GEN-104",
"clause": "6.5"
}
],
"sector_criteria": [
{
"clause": "6.1",
"id": "HAZ-1",
"name": "Environment-specific certification / qualification",
"points_max": 14,
"what_is_measured": "Explosive-atmosphere: ATEX/IECEx certificate for the declared zone; nuclear: radiation-tolerance qualification; fire: thermal rating evidence; SAR/EOD: ingress + drop qualification.",
"rungs": [
{
"points": 14,
"state": "third-party certificate/qualification public + validated"
},
{
"points": 12,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 11,
"state": "certificate public"
},
{
"points": 8,
"state": "self-qualification with reports"
},
{
"points": 4,
"state": "declared"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 11,
"verified": 12,
"certified": 14
},
"company_wide": null,
"evidence_bar": "Class and environment declared.",
"applicability": "explosive-atmosphere · nuclear/radiological · firefighting · EOD · search-and-rescue. HAZ-1 anchor differs by class (stated in the row); all criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.2",
"id": "HAZ-2",
"name": "Mission-critical failure behaviour",
"points_max": 12,
"what_is_measured": "On fault mid-mission: declared safe state; self-recovery or retrieval procedure; never an obstacle in an egress route.",
"rungs": [
{
"points": 12,
"state": "witnessed"
},
{
"points": 10,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 8,
"state": "validated"
},
{
"points": 7,
"state": "publicly evidenced only (no pack, no demonstration)"
},
{
"points": 5,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 7,
"verified": 10,
"certified": 12
},
"company_wide": null,
"evidence_bar": "Fault behaviours documented.",
"applicability": "explosive-atmosphere · nuclear/radiological · firefighting · EOD · search-and-rescue. HAZ-1 anchor differs by class (stated in the row); all criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.3",
"id": "HAZ-3",
"name": "Operator-link loss and control handover",
"points_max": 12,
"what_is_measured": "Link loss in shielded/underground/burning structures: declared behaviour (hold, retrace, autonomous return); handover between operators.",
"rungs": [
{
"points": 12,
"state": "witnessed"
},
{
"points": 10,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 9,
"state": "documented in detail + tested"
},
{
"points": 8,
"state": "publicly evidenced only (no pack, no demonstration)"
},
{
"points": 6,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 8,
"verified": 10,
"certified": 12
},
"company_wide": null,
"evidence_bar": "Link architecture declared.",
"applicability": "explosive-atmosphere · nuclear/radiological · firefighting · EOD · search-and-rescue. HAZ-1 anchor differs by class (stated in the row); all criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.4",
"id": "HAZ-4",
"name": "Environmental attrition qualification",
"points_max": 12,
"what_is_measured": "Radiation dose, thermal, corrosive/abrasive exposure qualification with stated limits and dose budgets.",
"rungs": [
{
"points": 12,
"state": "qualification reports + published limits + third-party test"
},
{
"points": 11,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 8,
"state": "reports"
},
{
"points": 5,
"state": "limits declared"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 8,
"verified": 11,
"certified": 12
},
"company_wide": null,
"evidence_bar": "Environmental limits declared.",
"applicability": "explosive-atmosphere · nuclear/radiological · firefighting · EOD · search-and-rescue. HAZ-1 anchor differs by class (stated in the row); all criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.5",
"id": "HAZ-5",
"name": "Ignition-source and contamination-spread controls",
"points_max": 12,
"what_is_measured": "No ignition source in declared zone; sealed against contamination carry-out; surface decontaminability.",
"rungs": [
{
"points": 12,
"state": "witnessed + certified"
},
{
"points": 10,
"state": "certified ((public))"
},
{
"points": 8,
"state": "publicly evidenced only (no pack, no demonstration)"
},
{
"points": 6,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 8,
"verified": 10,
"certified": 12
},
"company_wide": null,
"evidence_bar": "Zone/contamination envelope declared.",
"applicability": "explosive-atmosphere · nuclear/radiological · firefighting · EOD · search-and-rescue. HAZ-1 anchor differs by class (stated in the row); all criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.6",
"id": "HAZ-6",
"name": "Decontamination and disposal procedures",
"points_max": 10,
"what_is_measured": "Validated decontamination procedure; disposal path for contaminated units; consumable dependency.",
"rungs": [
{
"points": 10,
"state": "validated + witnessed"
},
{
"points": 8,
"state": "validated procedure documented"
},
{
"points": 4,
"state": "procedure only"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 8,
"verified": 8,
"certified": 10
},
"company_wide": null,
"evidence_bar": "Procedure exists.",
"applicability": "explosive-atmosphere · nuclear/radiological · firefighting · EOD · search-and-rescue. HAZ-1 anchor differs by class (stated in the row); all criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.7",
"id": "HAZ-7",
"name": "Responder interaction and incident-command integration",
"points_max": 10,
"what_is_measured": "Markings, lighting, responder-accessible e-stop, comms with incident command, hand-signal/stop response.",
"rungs": [
{
"points": 10,
"state": "witnessed"
},
{
"points": 8,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 7,
"state": "documented in detail"
},
{
"points": 4,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 7,
"verified": 8,
"certified": 10
},
"company_wide": null,
"evidence_bar": "None.",
"applicability": "explosive-atmosphere · nuclear/radiological · firefighting · EOD · search-and-rescue. HAZ-1 anchor differs by class (stated in the row); all criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.8",
"id": "HAZ-8",
"name": "Recovery logistics and field repair",
"points_max": 10,
"what_is_measured": "Field-replaceable modules; recovery of a stranded unit; parts logistics for deployed teams.",
"rungs": [
{
"points": 10,
"state": "witnessed swap + commitments + record"
},
{
"points": 8,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 7,
"state": "commitments + record"
},
{
"points": 4,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 7,
"verified": 8,
"certified": 10
},
"company_wide": {
"text": "Record company-wide → 7",
"ceiling": 7
},
"evidence_bar": "None.",
"applicability": "explosive-atmosphere · nuclear/radiological · firefighting · EOD · search-and-rescue. HAZ-1 anchor differs by class (stated in the row); all criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.9",
"id": "HAZ-9",
"name": "Mission incident record",
"points_max": 8,
"what_is_measured": "Incidents over the window.",
"rungs": [
{
"points": 8,
"state": "none above near-miss (model)"
},
{
"points": 6,
"state": "null-result rung"
},
{
"points": 5,
"state": "remediated"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 6,
"verified": 8,
"certified": 8
},
"company_wide": {
"text": "Company-wide → 6",
"ceiling": 6
},
"evidence_bar": "Exposure or null search.",
"applicability": "explosive-atmosphere · nuclear/radiological · firefighting · EOD · search-and-rescue. HAZ-1 anchor differs by class (stated in the row); all criteria apply to all classes.",
"not_applicable_by_class": false
}
],
"pool": {
"sector_only": {
"points": 100,
"ceiling_unverified": 70,
"ceiling_verified": 85,
"ceiling_certified": 100,
"best_letter": {
"unverified": "A",
"verified": "AA",
"certified": "AAA"
}
},
"with_contributors": "contributor ceilings are those of the cited IR standards; the combined pool sums are verified by the conformance gate (check 14)"
},
"rules": {
"no_evidence": "0 points (VRS-GEN-005 §6, R3.3); the criterion stays in the pool at full range",
"not_applicable": "criterion removed from numerator and denominator for that class (VRS-GEN-006 §6)",
"tier_rule": "AR tier ≤ IR tier (VRS-GEN-006 §7)"
}
}
5 Field dictionary
| Field | Meaning |
|---|---|
sector_criteria[].clause |
VRS-HAZ-201 subclause (6.k) — the “Required by” reference used in derived packs and protocols |
sector_criteria[].points_max |
Upper end of the criterion’s integer range |
sector_criteria[].rungs[] |
Every verifiable state and its points, highest first; the 0 state is implicit where not listed |
sector_criteria[].ceiling |
Maximum points at each tier; always equal to a rung value (VRS-GEN-002 §7.5.1) |
sector_criteria[].company_wide |
Field-record criteria only: the reduced ceiling when company-wide data substitutes for model data |
sector_criteria[].applicability / not_applicable_by_class |
Application classes the criterion applies to; excluded criteria leave the pool for that class |
contributing_ir_criteria[] |
Intrinsic criteria counted in the sector pool, with the standard and clause that score them |
pool.sector_only |
Sums over the sector criteria and the best attainable letter at each tier (A / AA / AAA by construction) |
bands_percent |
Letter thresholds as a percentage of the applicable pool (VRS-GEN-006 §4) |
6 Verification
Regenerate with python3 tools/vrs-twin-generate.py --sector haz --check; a non-zero exit means the
committed twin no longer matches VRS-HAZ-201 and shall be regenerated before publication.
Bibliography
- VRS-HAZ-201, Hazardous & Emergency Response — AR Assessment Protocol, v1.0.0, 2026 — the source of every number in Clause 4.
- VRS-HAZ-001, HAZ Sector Standard, 2026 — sector scope, hazard taxonomy and application classes.
- VRS-GEN-005, Intrinsic Rating — Methodology, 2026 — point aggregation and tier ceilings for the contributing IR criteria.
- VRS-GEN-006, Application Rating Scheme, 2026 — letter bands and pool mechanics reproduced in
bands_percentandpool. - VRS-GEN-002, Designation and Drafting Rules, 2026 — §6.5 criterion layout and §7.5.1 (ceilings equal rungs) that this twin verifies.
- VRS-GEN-004, Change, Edition and Review Policy, 2026 — how a twin regeneration is designated.
- VRS-GEN-009, Robot Risk Passport and Registry — Data Schema, 2026 — consumer of the payload.
- ISO/IEC 21778:2017, Information technology — The JSON data interchange syntax.
Change history
| Version | Date | Change |
|---|---|---|
| 1.0.0 (draft) | 2026-09-16 | VRS 2026 (draft) rewrite: regenerated from VRS-HAZ-201 Clause 5–7 (criteria, rungs, tier ceilings, contributors, bands, classes). Weights, modifiers, confidence and stage-prior fields removed. |