Foreword. Data Artifact: the machine-readable twin of VRS-MAR-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-MAR-201 and to this twin is one change instrument.
1 Scope
This Data Artifact carries the rubric data of the Marine & Subsea (MAR) sector in machine-readable form: the 9 sector criteria of VRS-MAR-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-MAR-201 could be read to differ, VRS-MAR-201 governs and this twin is regenerated to match.
2 Normative references
- VRS-MAR-201, Marine & Subsea — AR Assessment Protocol — source protocol twinned (Clauses 5–7).
- VRS-MAR-001, Marine & Subsea — 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-MAR-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": "MAR sector AR rubric data twin — machine-readable form of VRS-MAR-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-MAR-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": "mar",
"bands_percent": {
"AAA": 90,
"AA": 75,
"A": 60,
"B": 45,
"C": 0
},
"application_classes": [
"ROV (tethered)",
"AUV (untethered)",
"USV (surface)",
"hull-crawler"
],
"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-1",
"document": "VRS-GEN-102",
"clause": "6.1"
},
{
"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-7",
"document": "VRS-GEN-106",
"clause": "6.7"
},
{
"id": "SI-1",
"document": "VRS-GEN-104",
"clause": "6.1"
},
{
"id": "SI-2",
"document": "VRS-GEN-104",
"clause": "6.2"
},
{
"id": "SI-6",
"document": "VRS-GEN-104",
"clause": "6.5"
},
{
"id": "EC-3",
"document": "VRS-GEN-107",
"clause": "6.3"
}
],
"sector_criteria": [
{
"clause": "6.1",
"id": "MAR-1",
"name": "Class / anchor fit (classification rules, ISO 12100)",
"points_max": 14,
"what_is_measured": ".",
"rungs": [
{
"points": 14,
"state": "class certificate + validated"
},
{
"points": 12,
"state": "class certificate or third-party survey public"
},
{
"points": 11,
"state": "publicly evidenced only (no pack, no demonstration)"
},
{
"points": 9,
"state": "self-declared + internal validation"
},
{
"points": 5,
"state": "declared"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 11,
"verified": 12,
"certified": 14
},
"company_wide": null,
"evidence_bar": "Class and depth rating declared.",
"applicability": "ROV (tethered) · AUV (untethered) · USV (surface) · hull-crawler. MAR-6 tether items apply to tethered classes; all other criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.2",
"id": "MAR-2",
"name": "Pressure and ingress qualification at depth",
"points_max": 14,
"what_is_measured": "Hull/penetrator pressure test to declared depth with margin; ingress after cycling.",
"rungs": [
{
"points": 14,
"state": "witnessed pressure test (lab route) or certified with published data"
},
{
"points": 12,
"state": "certified ((public))"
},
{
"points": 9,
"state": "test reports"
},
{
"points": 5,
"state": "declared"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 9,
"verified": 12,
"certified": 14
},
"company_wide": null,
"evidence_bar": "Depth rating declared.",
"applicability": "ROV (tethered) · AUV (untethered) · USV (surface) · hull-crawler. MAR-6 tether items apply to tethered classes; all other criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.3",
"id": "MAR-3",
"name": "Loss-at-sea prevention",
"points_max": 12,
"what_is_measured": "Abort ascent/buoyancy, drop-weight, locator beacons, drift-away prevention.",
"rungs": [
{
"points": 12,
"state": "witnessed"
},
{
"points": 10,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 9,
"state": "validated"
},
{
"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": "Recovery aids declared.",
"applicability": "ROV (tethered) · AUV (untethered) · USV (surface) · hull-crawler. MAR-6 tether items apply to tethered classes; all other criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.4",
"id": "MAR-4",
"name": "Loss-of-comms behaviour and GNSS-denied drift",
"points_max": 12,
"what_is_measured": "Acoustic/RF loss → declared behaviour; navigation drift bounds stated and tested.",
"rungs": [
{
"points": 12,
"state": "witnessed"
},
{
"points": 10,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 9,
"state": "validated"
},
{
"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": "Comms/navigation architecture declared.",
"applicability": "ROV (tethered) · AUV (untethered) · USV (surface) · hull-crawler. MAR-6 tether items apply to tethered classes; all other criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.5",
"id": "MAR-5",
"name": "Collision avoidance and surfacing protections",
"points_max": 12,
"what_is_measured": "Obstacle avoidance; surfacing-into-traffic checks; diver-proximity protections.",
"rungs": [
{
"points": 12,
"state": "witnessed"
},
{
"points": 10,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 9,
"state": "validated"
},
{
"points": 6,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 6,
"verified": 10,
"certified": 12
},
"company_wide": null,
"evidence_bar": "Protections declared.",
"applicability": "ROV (tethered) · AUV (untethered) · USV (surface) · hull-crawler. MAR-6 tether items apply to tethered classes; all other criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.6",
"id": "MAR-6",
"name": "Launch-and-recovery deck-operation hazards",
"points_max": 10,
"what_is_measured": "Lift points, handling procedures, tether management, pinch/crush points during LARS.",
"rungs": [
{
"points": 10,
"state": "witnessed procedure"
},
{
"points": 8,
"state": "documented in detail + certified lift points"
},
{
"points": 7,
"state": "publicly evidenced only (no pack, no demonstration)"
},
{
"points": 4,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 7,
"verified": 8,
"certified": 10
},
"company_wide": null,
"evidence_bar": "Tether items for tethered classes.",
"applicability": "ROV (tethered) · AUV (untethered) · USV (surface) · hull-crawler. MAR-6 tether items apply to tethered classes; all other criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.7",
"id": "MAR-7",
"name": "Environmental release and sensitive-site controls",
"points_max": 8,
"what_is_measured": "Fluid containment, contact-with-infrastructure protections.",
"rungs": [
{
"points": 8,
"state": "witnessed + certified"
},
{
"points": 7,
"state": "documented in detail"
},
{
"points": 4,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 7,
"verified": 7,
"certified": 8
},
"company_wide": null,
"evidence_bar": "None.",
"applicability": "ROV (tethered) · AUV (untethered) · USV (surface) · hull-crawler. MAR-6 tether items apply to tethered classes; all other criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.8",
"id": "MAR-8",
"name": "Corrosion, bio-fouling and maintenance programme",
"points_max": 10,
"what_is_measured": "Published maintenance programme; anode/coating regime; post-dive inspection.",
"rungs": [
{
"points": 10,
"state": "witnessed inspection + programme"
},
{
"points": 9,
"state": "programme documented in detail"
},
{
"points": 8,
"state": "publicly evidenced or company-wide record"
},
{
"points": 5,
"state": "partial"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 8,
"verified": 9,
"certified": 10
},
"company_wide": {
"text": "Record company-wide → 8",
"ceiling": 8
},
"evidence_bar": "None.",
"applicability": "ROV (tethered) · AUV (untethered) · USV (surface) · hull-crawler. MAR-6 tether items apply to tethered classes; all other criteria apply to all classes.",
"not_applicable_by_class": false
},
{
"clause": "6.9",
"id": "MAR-9",
"name": "Incident and loss record",
"points_max": 8,
"what_is_measured": "Vehicle losses/incidents over the window.",
"rungs": [
{
"points": 8,
"state": "none (model)"
},
{
"points": 7,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 6,
"state": "null-result rung"
},
{
"points": 5,
"state": "remediated"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 6,
"verified": 7,
"certified": 8
},
"company_wide": {
"text": "Company-wide → 6",
"ceiling": 6
},
"evidence_bar": "Exposure or null search.",
"applicability": "ROV (tethered) · AUV (untethered) · USV (surface) · hull-crawler. MAR-6 tether items apply to tethered classes; all other 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-MAR-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 mar --check; a non-zero exit means the
committed twin no longer matches VRS-MAR-201 and shall be regenerated before publication.
Bibliography
- VRS-MAR-201, Marine & Subsea — AR Assessment Protocol, v1.0.0, 2026 — the source of every number in Clause 4.
- VRS-MAR-001, MAR 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-MAR-201 Clause 5–7 (criteria, rungs, tier ceilings, contributors, bands, classes). Weights, modifiers, confidence and stage-prior fields removed. |