You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(points): add shared zone point resolution (#75)
Finalize strict point dictionary imports and aliases, move four reviewed shared-zone records to one canonical owner, and preserve existing fault keys and runtime artifacts.
Copy file name to clipboardExpand all lines: points/sys.points.json
+11-19Lines changed: 11 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
{
2
-
"schema": "cxf-library/points/v1",
2
+
"schema": "cxf-library/points/v2",
3
3
"equipment": "sys",
4
4
"namespaces": {
5
5
"brick": {
@@ -19,7 +19,16 @@
19
19
"verified_version": "QUDT 3.1.4"
20
20
}
21
21
},
22
-
"notes": "System-level / cross-equipment point dictionary. The sensor-health rules (SYS-0005/SYS-0009/SYS-0010) bind ROLE POINTS, not canonical equipment points — the documented exception to the canonical-name convention (SCHEMA.md points contract; decided 2026-08-17, internal sensor-health design note §3). The reference's own SYS-0005 card does the same ('varies by application'). The host's instance configuration records which real point each role is bound to; that same record drives the adjudicates NO_EVAL fan-out. Role entries carry brick/s223 null — the semantics belong to whatever the role is bound to. The reference ch.16 waste/schedule rules (SYS-0001..SYS-0004, SYS-0007, SYS-0008) bind CANONICAL cross-equipment points (grounded below); SYS-0006 binds the physical_sensor/virtual_value role pair. Points that also exist in equipment dicts (oat, sf_status, rht_vlv_cmd) are duplicated here with matched groundings because lint resolves a card's points against its own family dictionary.",
22
+
"imports": [
23
+
"points/zone.points.json"
24
+
],
25
+
"aliases": [
26
+
{
27
+
"name": "occ_sensor",
28
+
"target": "points/zone.points.json#occ_sensor"
29
+
}
30
+
],
31
+
"notes": "System-level / cross-equipment point dictionary. The sensor-health rules (SYS-0005/SYS-0009/SYS-0010) bind ROLE POINTS, not canonical equipment points — the documented exception to the canonical-name convention (SCHEMA.md points contract; decided 2026-08-17, internal sensor-health design note §3). The reference's own SYS-0005 card does the same ('varies by application'). The host's instance configuration records which real point each role is bound to; that same record drives the adjudicates NO_EVAL fan-out. Role entries carry brick/s223 null — the semantics belong to whatever the role is bound to. The reference ch.16 waste/schedule rules (SYS-0001..SYS-0004, SYS-0007, SYS-0008) bind CANONICAL cross-equipment points (grounded below); SYS-0006 binds the physical_sensor/virtual_value role pair. Points that also exist in equipment dictionaries remain duplicated here when their ownership is contextual (oat, sf_status, rht_vlv_cmd). occ_sensor is a compatibility alias to the canonical zone point.",
23
32
"points": [
24
33
{
25
34
"name": "sensor_value",
@@ -185,23 +194,6 @@
185
194
},
186
195
"notes": "Brick 1.4.4 has no lighting-specific run status class; On_Off_Status on the lighting equipment/zone is the closest grounding."
187
196
},
188
-
{
189
-
"name": "occ_sensor",
190
-
"description": "Occupancy sensor state (TRUE = occupied detected)",
191
-
"kind": "bool",
192
-
"unit": "bool",
193
-
"qudt_unit": null,
194
-
"brick": "Occupancy_Sensor",
195
-
"s223": {
196
-
"pattern": "EnumeratedObservableProperty on the occupancy Sensor via hasProperty",
Copy file name to clipboardExpand all lines: points/vav.points.json
+12-53Lines changed: 12 additions & 53 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
{
2
-
"schema": "cxf-library/points/v1",
2
+
"schema": "cxf-library/points/v2",
3
3
"equipment": "vav",
4
4
"namespaces": {
5
5
"brick": {
@@ -23,66 +23,25 @@
23
23
"verified_version": "QUDT 3.1.4"
24
24
}
25
25
},
26
-
"notes": "VAV terminal unit point dictionary. Zone-level points grep-verified against Brick 1.4.4 (equipment anchor: brick:Variable_Air_Volume_Box_With_Reheat); 223P patterns follow the AHU dictionary's property-class conventions but no VAV reference-model instance has been checked, so 223P attachments are pattern guidance. satisfied_zone_fraction is host-derived (see zone_reheat_fraction precedent). Airflow unit is L/s throughout; hosts on CFM convert at binding.",
27
-
"points": [
26
+
"imports": [
27
+
"points/zone.points.json"
28
+
],
29
+
"aliases": [
28
30
{
29
31
"name": "zone_temp",
30
-
"description": "Zone air temperature",
31
-
"kind": "real",
32
-
"unit": "°C",
33
-
"qudt_unit": "DEG_C",
34
-
"brick": "Zone_Air_Temperature_Sensor",
35
-
"s223": {
36
-
"pattern": "Sensor observes QuantifiableObservableProperty on the Zone (DomainSpace) via hasProperty",
"notes": "brick:Zone_Air_Temperature_Sensor grep-verified in Brick 1.4.4. 223P attachment is to the zone DomainSpace rather than the VAV box; no reference-model instance checked for the zone-side pattern, but the property class and quantitykind (Temperature, DEG_C) follow the AHU temperature points."
32
+
"target": "points/zone.points.json#zone_temp"
45
33
},
46
34
{
47
35
"name": "zone_temp_sp_htg",
48
-
"description": "Zone heating temperature setpoint",
49
-
"kind": "real",
50
-
"unit": "°C",
51
-
"qudt_unit": "DEG_C",
52
-
"brick": "Zone_Air_Heating_Temperature_Setpoint",
53
-
"s223": {
54
-
"pattern": "QuantifiableActuatableProperty (setpoint) on the Zone via hasProperty",
"notes": "brick:Zone_Air_Heating_Temperature_Setpoint grep-verified in Brick 1.4.4. Bind the ACTIVE (occupied-mode) heating setpoint the loop is controlling to, not a schedule default — same active-setpoint convention as the AHU dictionary's sat_sp."
"notes": "VAV terminal unit point dictionary. Zone-level points grep-verified against Brick 1.4.4 (equipment anchor: brick:Variable_Air_Volume_Box_With_Reheat); 223P patterns follow the AHU dictionary's property-class conventions but no VAV reference-model instance has been checked, so 223P attachments are pattern guidance. satisfied_zone_fraction is host-derived (see zone_reheat_fraction precedent). Airflow unit is L/s throughout; hosts on CFM convert at binding.",
"notes": "brick:Zone_Air_Temperature_Sensor grep-verified in Brick 1.4.4. 223P attachment is to the zone DomainSpace rather than the VAV box; no reference-model instance checked for the zone-side pattern, but the property class and quantitykind (Temperature, DEG_C) follow the AHU temperature points."
43
+
},
44
+
{
45
+
"name": "zone_temp_sp_htg",
46
+
"description": "Zone heating temperature setpoint",
47
+
"kind": "real",
48
+
"unit": "°C",
49
+
"qudt_unit": "DEG_C",
50
+
"brick": "Zone_Air_Heating_Temperature_Setpoint",
51
+
"s223": {
52
+
"pattern": "QuantifiableActuatableProperty (setpoint) on the Zone via hasProperty",
"notes": "brick:Zone_Air_Heating_Temperature_Setpoint grep-verified in Brick 1.4.4. Bind the ACTIVE (occupied-mode) heating setpoint the loop is controlling to, not a schedule default — same active-setpoint convention as the AHU dictionary's sat_sp."
63
+
},
64
+
{
65
+
"name": "zone_temp_sp_clg",
66
+
"description": "Zone cooling temperature setpoint",
67
+
"kind": "real",
68
+
"unit": "°C",
69
+
"qudt_unit": "DEG_C",
70
+
"brick": "Zone_Air_Cooling_Temperature_Setpoint",
71
+
"s223": {
72
+
"pattern": "QuantifiableActuatableProperty (setpoint) on the Zone via hasProperty",
0 commit comments