Foreword. Data Artifact: the machine-readable twin of VRS-DOM-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-DOM-201 and to this twin is one change instrument.
1 Scope
This Data Artifact carries the rubric data of the Domestic & Consumer (DOM) sector in machine-readable form: the 10 sector criteria of VRS-DOM-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-DOM-201 could be read to differ, VRS-DOM-201 governs and this twin is regenerated to match.
2 Normative references
- VRS-DOM-201, Domestic & Consumer — AR Assessment Protocol — source protocol twinned (Clauses 5–7).
- VRS-DOM-001, Domestic & Consumer — 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-DOM-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": "DOM sector AR rubric data twin — machine-readable form of VRS-DOM-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-DOM-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": "dom",
"bands_percent": {
"AAA": 90,
"AA": 75,
"A": 60,
"B": 45,
"C": 0
},
"application_classes": [
"floor robots (vacuum/mop)",
"lawn/outdoor consumer",
"companion/toy",
"kitchen/assistive appliance"
],
"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-6",
"document": "VRS-GEN-101",
"clause": "6.6"
},
{
"id": "SF-7",
"document": "VRS-GEN-101",
"clause": "6.7"
},
{
"id": "SF-8",
"document": "VRS-GEN-101",
"clause": "6.8"
},
{
"id": "RL-8",
"document": "VRS-GEN-102",
"clause": "6.8"
},
{
"id": "SV-1",
"document": "VRS-GEN-103",
"clause": "6.1"
},
{
"id": "SV-5",
"document": "VRS-GEN-103",
"clause": "6.5"
},
{
"id": "SV-8",
"document": "VRS-GEN-103",
"clause": "6.8"
},
{
"id": "CY-2",
"document": "VRS-GEN-105",
"clause": "6.2"
},
{
"id": "CY-3",
"document": "VRS-GEN-105",
"clause": "6.3"
},
{
"id": "CY-6",
"document": "VRS-GEN-105",
"clause": "6.6"
},
{
"id": "MS-4",
"document": "VRS-GEN-106",
"clause": "6.4"
},
{
"id": "MS-7",
"document": "VRS-GEN-106",
"clause": "6.7"
},
{
"id": "SI-2",
"document": "VRS-GEN-104",
"clause": "6.2"
},
{
"id": "SI-3",
"document": "VRS-GEN-104",
"clause": "6.3"
},
{
"id": "SI-6",
"document": "VRS-GEN-104",
"clause": "6.5"
},
{
"id": "EC-1",
"document": "VRS-GEN-107",
"clause": "6.1"
},
{
"id": "EC-4",
"document": "VRS-GEN-107",
"clause": "6.4"
}
],
"sector_criteria": [
{
"clause": "6.1",
"id": "DOM-1",
"name": "Consumer-safety anchor conformity (IEC 60335 / GPSR / UL listing)",
"points_max": 14,
"what_is_measured": ".",
"rungs": [
{
"points": 14,
"state": "third-party listing/certificate for the whole product (UL/ETL/TÜV mark)"
},
{
"points": 11,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 10,
"state": "notified-body/regulatory conformity"
},
{
"points": 8,
"state": "self-declared with test reports"
},
{
"points": 4,
"state": "self-declaration only"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 8,
"verified": 11,
"certified": 14
},
"company_wide": null,
"evidence_bar": "Declaration/listing for the rated version.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"not_applicable_by_class": false
},
{
"clause": "6.2",
"id": "DOM-2",
"name": "Child and pet contact protection",
"points_max": 14,
"what_is_measured": "Pinch/entrapment/ingestion-of-parts protections; contact force on small obstacles; brush/blade guarding.",
"rungs": [
{
"points": 14,
"state": "witnessed with child-hand/paw test probes"
},
{
"points": 11,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 10,
"state": "certified ((public))"
},
{
"points": 8,
"state": "independently tested"
},
{
"points": 5,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 8,
"verified": 11,
"certified": 14
},
"company_wide": null,
"evidence_bar": "Guarding described.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"not_applicable_by_class": false
},
{
"clause": "6.3",
"id": "DOM-3",
"name": "Cliff, stair and ledge behaviour",
"points_max": 10,
"what_is_measured": "No fall from declared ledge height on declared floor types incl. dark carpet.",
"rungs": [
{
"points": 10,
"state": "witnessed all floor types"
},
{
"points": 9,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 8,
"state": "independently tested (editorial labs)"
},
{
"points": 7,
"state": "publicly evidenced only (no pack, no demonstration)"
},
{
"points": 5,
"state": "documented"
},
{
"points": 0,
"state": "not established. · 0. Mobile classes only"
}
],
"ceiling": {
"unverified": 7,
"verified": 9,
"certified": 10
},
"company_wide": null,
"evidence_bar": "Applies to mobile classes; ledge/floor envelope declared.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"not_applicable_by_class": false
},
{
"clause": "6.4",
"id": "DOM-4",
"name": "Battery and charging fire safety",
"points_max": 12,
"what_is_measured": "Cell/pack certification (IEC 62133 / UL 2054), charger interlocks, thermal cut-offs; no fire/thermal events in public record.",
"rungs": [
{
"points": 12,
"state": "certificates + witnessed interlocks"
},
{
"points": 10,
"state": "certificates public"
},
{
"points": 9,
"state": "publicly evidenced only (no pack, no demonstration)"
},
{
"points": 6,
"state": "documented"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 9,
"verified": 10,
"certified": 12
},
"company_wide": null,
"evidence_bar": "Battery chemistry/pack declared.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"not_applicable_by_class": false
},
{
"clause": "6.5",
"id": "DOM-5",
"name": "Foreseeable misuse tolerance",
"points_max": 8,
"what_is_measured": "Behaviour under manual-contradicting use: wet use, blocked sensors, DIY parts, overload.",
"rungs": [
{
"points": 8,
"state": "witnessed declared cases"
},
{
"points": 7,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 6,
"state": "independently tested"
},
{
"points": 3,
"state": "documented warnings only"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 6,
"verified": 7,
"certified": 8
},
"company_wide": null,
"evidence_bar": "Misuse warnings exist.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"not_applicable_by_class": false
},
{
"clause": "6.6",
"id": "DOM-6",
"name": "In-home data capture and account security",
"points_max": 12,
"what_is_measured": "What is captured (camera/mic/maps), local-vs-cloud, retention, deletion, account 2FA, third-party sharing.",
"rungs": [
{
"points": 12,
"state": "shown on device/app + independent privacy audit"
},
{
"points": 9,
"state": "documented in detail (privacy notice, security page)"
},
{
"points": 8,
"state": "publicly evidenced only (no pack, no demonstration)"
},
{
"points": 5,
"state": "partial"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 8,
"verified": 9,
"certified": 12
},
"company_wide": null,
"evidence_bar": "Privacy disclosure exists.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"not_applicable_by_class": false
},
{
"clause": "6.7",
"id": "DOM-7",
"name": "Support life and end-of-life behaviour",
"points_max": 10,
"what_is_measured": "Published software-support horizon; device remains safe and locally usable after EOL; no forced obsolescence.",
"rungs": [
{
"points": 10,
"state": "≥ 5-yr horizon published + local-mode after EOL shown"
},
{
"points": 9,
"state": "pack-evidenced (documents), not demonstrated"
},
{
"points": 7,
"state": "horizon published"
},
{
"points": 6,
"state": "publicly evidenced only (no pack, no demonstration)"
},
{
"points": 4,
"state": "policy stated"
},
{
"points": 1,
"state": "horizon passed, no statement"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 6,
"verified": 9,
"certified": 10
},
"company_wide": null,
"evidence_bar": "None.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"not_applicable_by_class": false
},
{
"clause": "6.8",
"id": "DOM-8",
"name": "Consumer recall and incident record",
"points_max": 10,
"what_is_measured": "CPSC / Safety Gate / national recall databases and incident reports over the window.",
"rungs": [
{
"points": 10,
"state": "none, model-specific"
},
{
"points": 8,
"state": "company-wide record in place of model-specific data"
},
{
"points": 7,
"state": "recalls remediated with published effectiveness"
},
{
"points": 3,
"state": "null-result rung"
},
{
"points": 0,
"state": "unremediated. Regime-full at Unverified"
}
],
"ceiling": {
"unverified": 10,
"verified": 10,
"certified": 10
},
"company_wide": {
"text": "Company-wide → 8",
"ceiling": 8
},
"evidence_bar": "None.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"not_applicable_by_class": false
},
{
"clause": "6.9",
"id": "DOM-9",
"name": "Recall reach and remediation capability",
"points_max": 6,
"what_is_measured": "Ability to reach a dispersed consumer fleet: registration rate, OTA reach, notification channels, published recall effectiveness.",
"rungs": [
{
"points": 6,
"state": "demonstrated reach + published effectiveness"
},
{
"points": 5,
"state": "pack-evidenced or company-wide record"
},
{
"points": 4,
"state": "mechanisms documented"
},
{
"points": 2,
"state": "registration only"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 4,
"verified": 5,
"certified": 6
},
"company_wide": {
"text": "Company-wide → 5",
"ceiling": 5
},
"evidence_bar": "None.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"not_applicable_by_class": false
},
{
"clause": "6.10",
"id": "DOM-10",
"name": "Repairability and parts for owners",
"points_max": 4,
"what_is_measured": "Owner-replaceable consumables/parts, public parts store, repair guides.",
"rungs": [
{
"points": 4,
"state": "all"
},
{
"points": 2,
"state": "parts store only"
},
{
"points": 0,
"state": "not established"
}
],
"ceiling": {
"unverified": 4,
"verified": 4,
"certified": 4
},
"company_wide": null,
"evidence_bar": "None.",
"applicability": "floor robots (vacuum/mop) · lawn/outdoor consumer · companion/toy · kitchen/assistive appliance. DOM-3 (cliff/stairs) applies to mobile classes only.",
"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-DOM-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 dom --check; a non-zero exit means the
committed twin no longer matches VRS-DOM-201 and shall be regenerated before publication.
Bibliography
- VRS-DOM-201, Domestic & Consumer — AR Assessment Protocol, v1.0.0, 2026 — the source of every number in Clause 4.
- VRS-DOM-001, DOM 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-DOM-201 Clause 5–7 (criteria, rungs, tier ceilings, contributors, bands, classes). Weights, modifiers, confidence and stage-prior fields removed. |