Files
houseplan-card/test/fixtures/config-lifecycle/current.json
T
Codex 24681ee26f feat: schema manifest, parity allow-list and lifecycle fixtures (#33)
The Voluptuous schema is now dumped into a deterministic committed
manifest (265 leaf paths); a pytest fails on drift. A parity test
compares manifest enums with the exported frontend const lists through
a machine-readable allow-list that also refuses to rot. The field
registry gains passports (allow-extra / lovelace-card), enforcedBy
citations for mechanisms that already shipped, and passports for the
v1.68-v1.69 fields; a completeness test bans dead decisions. Lifecycle
fixtures (oldest / current / future) prove lossless loading, and the
config auditor gains the 0/3/2 exit-code contract.

User-Visible: yes
Issue: #33
2026-08-30 12:42:31 +03:00

188 lines
3.1 KiB
JSON

{
"model_version": 9,
"spaces": [
{
"id": "ground",
"title": "Ground",
"view_box": [
0,
0,
1000,
750
],
"rooms": [
{
"id": "hall",
"name": "Hall",
"poly": [
[
100,
100
],
[
400,
100
],
[
400,
400
],
[
100,
400
]
],
"wall_ids": [
"w1",
"w2",
"w3",
"w4"
]
}
],
"wall_segments": [
{
"id": "w1",
"a": [
100,
100
],
"b": [
400,
100
],
"cm": 15
},
{
"id": "w2",
"a": [
400,
100
],
"b": [
400,
400
],
"cm": 15
},
{
"id": "w3",
"a": [
400,
400
],
"b": [
100,
400
],
"cm": 15
},
{
"id": "w4",
"a": [
100,
400
],
"b": [
100,
100
],
"cm": 15
}
],
"walls": [
{
"key": "[100, 100]|[400, 100]",
"a": [
100,
100
],
"b": [
400,
100
],
"cm": 15
},
{
"key": "[400, 100]|[400, 400]",
"a": [
400,
100
],
"b": [
400,
400
],
"cm": 15
},
{
"key": "[400, 400]|[100, 400]",
"a": [
400,
400
],
"b": [
100,
400
],
"cm": 15
},
{
"key": "[100, 400]|[100, 100]",
"a": [
100,
400
],
"b": [
100,
100
],
"cm": 15
}
],
"decor": [
{
"id": "d1",
"kind": "line",
"x1": 0.1,
"y1": 0.1,
"x2": 0.3,
"y2": 0.1,
"color": "#8b0000",
"width_cm": 5
},
{
"id": "d2",
"kind": "furniture",
"symbol": "sofa",
"x": 0.2,
"y": 0.2,
"w": 0.1,
"h": 0.05
}
],
"settings": {
"bg_mode": "daynight",
"north_deg": 45
}
}
],
"markers": [
{
"id": "sensor",
"binding": "entity:sensor.temp",
"space": "ground",
"display": "value",
"value_source": {
"kind": "entity_attr",
"attr": "temperature"
}
}
],
"settings": {
"decor_default_style": {
"color": "#8b0000",
"width_cm": 5
}
}
}