Core System Architecture Part 116 — Anonymous Network Data Center, Edge Site, Facility Power, Cooling, Environmental Monitoring & Privacy-Preserving Physical Site Reliability Architecture

SIAR — Secure, Local-First, Multi-Transport Communication Platform

Series: Core System Architecture
Part: 116
Status: Architecture specification
Primary language: Rust
Builds on: Core System Architecture Parts 50, 62–63, 70–71, 100–115

Primary purpose: define SIAR's physical-site reliability architecture for data centers, edge facilities, racks, power distribution, UPS/generator systems, cooling, environmental sensors, maintenance, site failover, fault-domain modeling, physical-site SLOs, disaster integration, and privacy-preserving facility observability.


1. Purpose

Physical infrastructure can fail even when software is healthy.

A resilient platform must understand:

Which sites exist?
Which racks and power feeds serve each asset?
Which cooling domains can fail together?
Which edge sites lack redundant utility power?
Which sensors are trustworthy?
When does thermal or power degradation require workload drain?
What happens during generator failure?
Which facilities can continue independently?

The governing principle is:

SIAR site reliability should model power, cooling, environmental conditions, rack placement, maintenance, and physical failure domains explicitly—without turning facility telemetry into worker tracking or precise user-location infrastructure.


2. Architectural Position

          PHYSICAL SITE
               │
      ┌────────┼────────┐
      │        │        │
    Power    Cooling  Environment
      │        │        │
      └────────┼────────┘
               ▼
         Facility State
               │
        ┌──────┼──────┐
        │      │      │
      Safe   Degrade Emergency
        │      │      │
        └──────┼──────┘
               ▼
      Drain / Failover / Recover

3. Core Separation

Keep distinct:

site
room
rack
power domain
cooling domain
environmental zone
hardware asset
human operator

4. Non-Goals

Part 116 does not create:

employee location tracking
continuous camera analytics
biometric workforce monitoring
user geolocation
unbounded sensor telemetry retention

5. Site Identity

#![allow(unused)]
fn main() {
pub struct PhysicalSiteId(pub [u8; 16]);
}

Opaque canonical identity.


6. Site Type

#![allow(unused)]
fn main() {
pub enum PhysicalSiteType {
    DataCenter,
    Colocation,
    EdgeSite,
    OfficeLab,
    RecoverySite,
    AirGappedSite,
    EmbeddedRemoteSite,
}
}

7. Site Record

#![allow(unused)]
fn main() {
pub struct PhysicalSite {
    pub id: PhysicalSiteId,
    pub site_type: PhysicalSiteType,
    pub region: RegionId,
    pub lifecycle: SiteLifecycleState,
    pub resilience: SiteResilienceClass,
}
}

8. Site Lifecycle

#![allow(unused)]
fn main() {
pub enum SiteLifecycleState {
    Planned,
    Commissioning,
    Active,
    Degraded,
    Maintenance,
    Evacuating,
    Retired,
}
}

9. Hard Rule

A retired site cannot silently return to Active without requalification.


10. Site Resilience Class

#![allow(unused)]
fn main() {
pub enum SiteResilienceClass {
    BestEffort,
    Standard,
    HighAvailability,
    MissionCritical,
}
}

11. No Marketing Mapping

Do not equate arbitrary facility labels with guaranteed resilience.


12. Hard rule.


13. Room / Hall / Zone

#![allow(unused)]
fn main() {
pub struct FacilityZoneId(pub [u8; 16]);
}

Zones may represent:

room
hall
cage
pod
edge enclosure

14. Rack Identity

#![allow(unused)]
fn main() {
pub struct RackId(pub [u8; 16]);
}

15. Rack Record

#![allow(unused)]
fn main() {
pub struct RackRecord {
    pub id: RackId,
    pub site: PhysicalSiteId,
    pub zone: FacilityZoneId,
    pub power_domain: PowerDomainId,
    pub cooling_domain: CoolingDomainId,
}
}

16. Hard Rule

Rack placement is infrastructure topology, not personnel data.


17. Power Architecture

Power should be modeled as an explicit graph.


18. Power Components

#![allow(unused)]
fn main() {
pub enum PowerComponentType {
    UtilityFeed,
    Transformer,
    Switchgear,
    Ups,
    BatteryBank,
    Generator,
    Ats,
    Pdu,
    RackPdu,
}
}

19. Power Asset

#![allow(unused)]
fn main() {
pub struct PowerAsset {
    pub id: PowerAssetId,
    pub component_type: PowerComponentType,
    pub site: PhysicalSiteId,
}
}

20. Power Domain

#![allow(unused)]
fn main() {
pub struct PowerDomainId(pub [u8; 16]);
}

Represents components likely to fail together.


21. Power Redundancy

#![allow(unused)]
fn main() {
pub enum PowerRedundancy {
    None,
    N,
    NPlusOne,
    TwoN,
    TwoNPlusOne,
}
}

22. Hard Rule

Redundant feeds must be traced to independent upstream paths, not merely two rack PDUs.


23. Utility Feed

Track provider/source independently where known.


24. Hard rule.


25. UPS

UPS provides:

ride-through
power conditioning
short-term continuity

26. UPS State

#![allow(unused)]
fn main() {
pub enum UpsState {
    Online,
    OnBattery,
    Bypass,
    Degraded,
    Failed,
    Unknown,
}
}

27. Unknown ≠ Online

Hard rule.


28. Battery Runtime

#![allow(unused)]
fn main() {
pub struct BatteryRuntimeEstimate {
    pub remaining: Duration,
    pub confidence: EstimateConfidence,
}
}

29. No False Precision

Hard rule.


30. Generator

Generator covers longer utility outages.


31. Generator State

#![allow(unused)]
fn main() {
pub enum GeneratorState {
    Ready,
    Starting,
    Running,
    Degraded,
    Failed,
    Unknown,
}
}

32. Fuel State

#![allow(unused)]
fn main() {
pub struct FuelState {
    pub estimated_runtime: Duration,
    pub confidence: EstimateConfidence,
}
}

33. Hard Rule

Fuel estimates are planning evidence, not guaranteed runtime.


34. ATS / Transfer

Automatic Transfer Switch is explicit dependency.


35. Transfer Failure

Can defeat otherwise healthy generator/UPS design.


36. Hard rule.


37. PDU Capacity

Track:

rated power
current draw
headroom
phase balance

38. Power Load

#![allow(unused)]
fn main() {
pub struct PowerLoad {
    pub watts: FixedPoint,
    pub headroom_percent: FixedPoint,
}
}

39. Hard Rule

Do not plan rack capacity from nameplate power alone.


40. Power Failure Domains

Examples:

single utility feed
UPS bank
generator set
ATS
PDU chain
rack PDU

41. Part 110 integration.


42. Cooling Architecture

Cooling is also a fault-domain graph.


43. Cooling Components

#![allow(unused)]
fn main() {
pub enum CoolingComponentType {
    Chiller,
    CoolingTower,
    Crac,
    Crah,
    Pump,
    FanWall,
    InRowCooler,
    HeatExchanger,
}
}

44. Cooling Domain

#![allow(unused)]
fn main() {
pub struct CoolingDomainId(pub [u8; 16]);
}

45. Cooling Redundancy

#![allow(unused)]
fn main() {
pub enum CoolingRedundancy {
    None,
    N,
    NPlusOne,
    TwoN,
}
}

46. Hard Rule

Multiple coolers sharing one chilled-water loop are not independent.


47. Thermal Zone

#![allow(unused)]
fn main() {
pub struct ThermalZoneId(pub [u8; 16]);
}

48. Environmental Sensors

Sensor types:

#![allow(unused)]
fn main() {
pub enum EnvironmentalSensorType {
    Temperature,
    Humidity,
    Smoke,
    WaterLeak,
    Airflow,
    DifferentialPressure,
    PowerQuality,
}
}

49. Sensor Identity

#![allow(unused)]
fn main() {
pub struct SensorId(pub [u8; 16]);
}

50. Sensor Placement

At coarse infrastructure positions:

site
room
rack
thermal zone

51. No Personnel Association

Hard rule.


52. Sensor Reading

#![allow(unused)]
fn main() {
pub struct EnvironmentalReading {
    pub sensor: SensorId,
    pub kind: EnvironmentalSensorType,
    pub value: FixedPoint,
    pub observed_at: CoarseTimestamp,
    pub quality: SensorQuality,
}
}

53. Sensor Quality

#![allow(unused)]
fn main() {
pub enum SensorQuality {
    Good,
    Suspect,
    Stale,
    Failed,
    Unknown,
}
}

54. Unknown/Stale ≠ Good

Hard rule.


55. Calibration

Sensors require calibration lifecycle.


56. Calibration State

#![allow(unused)]
fn main() {
pub enum CalibrationState {
    Valid,
    DueSoon,
    Expired,
    Unknown,
}
}

57. Hard Rule

Expired calibration lowers trust in environmental decisions.


58. Temperature Policy

#![allow(unused)]
fn main() {
pub struct TemperaturePolicy {
    pub warning_high: FixedPoint,
    pub critical_high: FixedPoint,
    pub warning_low: FixedPoint,
    pub critical_low: FixedPoint,
}
}

59. Humidity Policy

#![allow(unused)]
fn main() {
pub struct HumidityPolicy {
    pub warning_low: FixedPoint,
    pub warning_high: FixedPoint,
    pub critical_low: FixedPoint,
    pub critical_high: FixedPoint,
}
}

60. Thresholds Are Site/Hardware-Class Specific

Hard rule.


61. Thermal State

#![allow(unused)]
fn main() {
pub enum ThermalState {
    Normal,
    Elevated,
    Critical,
    Recovering,
    Unknown,
}
}

62. No Critical→Normal Direct

Prefer recovery hysteresis.


63. Hard rule.


64. Cooling Failure Response

Sequence:

detect
confirm
reduce noncritical load
drain affected racks
fail over
shut down safely if required

65. Hard rule.


66. Power Failure Response

Sequence:

utility lost
UPS ride-through
generator start
ATS transfer
monitor runtime
shed noncritical load
drain/failover before battery/fuel exhaustion

67. Hard rule.


68. Load Shedding at Facility Layer

Order:

test/dev
batch
analytics
background
optional services

Preserve:

security/control
core messaging
emergency services
recovery systems

69. Hard rule.


70. Graceful Shutdown

If power exhaustion predicted:

stop new noncritical admission
drain workloads
checkpoint state
shutdown orderly

71. No Hard Power-Off As Planned Baseline

Hard rule.


72. Environmental Alert Classes

#![allow(unused)]
fn main() {
pub enum FacilityAlertClass {
    PowerWarning,
    PowerCritical,
    CoolingWarning,
    CoolingCritical,
    TemperatureCritical,
    HumidityCritical,
    WaterLeak,
    SmokeDetected,
    SensorFailure,
}
}

73. Alert Routing

To site/fleet/on-call roles.


74. No User Alerts

Hard rule.


75. Facility State

#![allow(unused)]
fn main() {
pub enum FacilityOperationalState {
    Normal,
    DegradedPower,
    DegradedCooling,
    EnvironmentalRisk,
    Emergency,
    Evacuating,
    Offline,
}
}

76. Hard Rule

Facility state can affect workload admission/placement.


77. Admission Integration

Part 101/105.

Example:

DegradedCooling → no new high-power workloads

78. Hard rule.


79. Edge Site Architecture

Edge sites may have weaker facilities.


80. Edge Characteristics

Examples:

single utility feed
small UPS
limited cooling
intermittent backhaul
no onsite staff

81. Hard Rule

Edge-site SLO/resilience claims reflect actual infrastructure.


82. Edge Site Policy

#![allow(unused)]
fn main() {
pub struct EdgeSitePolicy {
    pub max_offline_duration: Duration,
    pub local_autonomy: LocalAutonomyClass,
    pub power_reserve_required: Duration,
}
}

83. Local Autonomy

#![allow(unused)]
fn main() {
pub enum LocalAutonomyClass {
    Minimal,
    Limited,
    Extended,
}
}

84. Hard rule.


85. Offline Edge Operation

Can continue local approved services.


86. No policy relaxation merely because WAN is unavailable.


87. Hard rule.


88. Edge Buffering

Store-carry-forward where applicable.


89. Capacity bounded.


90. Hard rule.


91. Remote Site Maintenance

May require:

signed offline bundle
local technician
remote supervised session

92. No permanent unmanaged remote access.


93. Hard rule.


94. Environmental Autonomy

Local site controller can execute pre-approved safety actions:

fan boost
load shed
graceful shutdown

95. Cannot alter security/privacy policy.


96. Hard rule.


97. Site Controller

#![allow(unused)]
fn main() {
pub trait FacilityController {
    fn state(
        &self,
        site: PhysicalSiteId,
    ) -> Result<FacilityOperationalState, FacilityError>;

    fn execute_safety_action(
        &self,
        action: FacilitySafetyAction,
    ) -> Result<FacilityActionReceipt, FacilityError>;
}
}

98. Safety Action

#![allow(unused)]
fn main() {
pub enum FacilitySafetyAction {
    ReduceOptionalLoad,
    DrainRack(RackId),
    DrainSite(PhysicalSiteId),
    GracefulShutdown,
}
}

99. No Generic Remote Shell

Hard rule.


100. Physical Site Fault Domains

Part 110 integration.

Domains:

utility feed
generator
UPS bank
cooling loop
room/hall
rack
carrier entrance
site

101. Hard rule.


102. Network Entrance Diversity

Multiple carriers may share same conduit.


103. Model common physical path where known.


104. Hard rule.


105. Water / Fire Risk

Environmental hazards can affect whole site/zone.


106. Include in scenario modeling.


107. Hard rule.


108. Flood/Leak Detection

Water sensors near:

cooling pipes
raised floor
UPS/battery area

109. Infrastructure-only.


110. Hard rule.


111. Smoke/Fire Detection

Facility system authoritative.


112. SIAR consumes coarse alarm state.


113. No camera/person analytics.


114. Hard rule.


115. Physical Disaster Scenarios

Examples:

utility outage
generator failure
cooling-loop loss
rack overheating
flood
fire
site evacuation

116. Hard rule.


117. Disaster Simulation

Part 100/110.


118. Facility Scenario

#![allow(unused)]
fn main() {
pub enum FacilityFailureScenario {
    UtilityLoss,
    UpsFailure,
    GeneratorFailure,
    CoolingDomainFailure,
    RackPowerLoss,
    SiteIsolation,
    EnvironmentalEmergency,
}
}

119. Test resilience.


120. Hard rule.


121. Facility Capacity

Track:

power capacity
cooling capacity
rack slots
network ports

122. Hard rule.


123. Facility Headroom

#![allow(unused)]
fn main() {
pub struct FacilityHeadroom {
    pub power_percent: FixedPoint,
    pub cooling_percent: FixedPoint,
    pub rack_space_percent: FixedPoint,
}
}

124. Headroom Is Not Infinite

Hard rule.


125. Capacity Forecast Integration

Part 111.

Forecast:

power demand
cooling demand
rack growth

126. Hard rule.


127. Sustainability Integration

Part 114.

Site can include:

PUE
renewable fraction
cooling efficiency

128. But sustainability does not override resilience.


129. Hard rule.


130. Power Usage Effectiveness

If used, clearly scope measurement.


131. No fake precision.


132. Hard rule.


133. Environmental Efficiency

Metrics:

power usage
cooling overhead
idle rack power
temperature stability

134. No worker metrics.


135. Hard rule.


136. Facility Maintenance

Classes:

#![allow(unused)]
fn main() {
pub enum FacilityMaintenanceClass {
    Electrical,
    Generator,
    UpsBattery,
    Cooling,
    FireSuppression,
    SensorCalibration,
    NetworkPlant,
}
}

137. Maintenance Window

#![allow(unused)]
fn main() {
pub struct FacilityMaintenanceWindow {
    pub site: PhysicalSiteId,
    pub class: FacilityMaintenanceClass,
    pub starts_at: Timestamp,
    pub ends_at: Timestamp,
}
}

138. Redundancy-Aware

Do not take both A/B power paths down together.


139. Hard rule.


140. UPS Battery Maintenance

Track:

age
capacity test
replacement due

141. Hard rule.


142. Generator Exercise

Periodic start/load test.


143. Actual failover drills where safe.


144. Hard rule.


145. Cooling Maintenance

Use redundancy plan.


146. No maintenance that leaves critical room without cooling reserve.


147. Hard rule.


148. Sensor Maintenance

Calibration and replacement.


149. Sensor outage may reduce site confidence.


150. Hard rule.


151. Facility Maintenance Planner

#![allow(unused)]
fn main() {
pub trait FacilityMaintenancePlanner {
    fn plan(
        &self,
        request: FacilityMaintenanceRequest,
    ) -> Result<FacilityMaintenancePlan, FacilityError>;
}
}

152. Inputs

redundancy
current facility state
hardware load
capacity headroom
weather/provider risk if available
site access

153. No user activity.


154. Hard rule.


155. Physical Access

Part 115.

Facility work uses scoped/time-bounded access.


156. No continuous movement tracking.


157. Hard rule.


158. Site Evacuation

Operational evacuation may occur due:

fire
flood
structural issue
extended power failure

159. System action:

freeze new placement
drain eligible workloads
fail over
mark site unavailable

160. Hard rule.


161. Evacuation State

#![allow(unused)]
fn main() {
pub enum SiteEvacuationState {
    NotRequired,
    Preparing,
    Draining,
    Offline,
    Recovering,
    ReturnedToService,
}
}

162. Return To Service

Requires verification.


163. Hard rule.


164. Site Recovery

Checks:

power stable
cooling stable
network stable
sensors valid
hardware re-attested if needed

165. No immediate full re-admission.


166. Hard rule.


167. Workload Re-Admission

Canary/ramp back.


168. Part 107/108.


169. Hard rule.


170. Facility SLOs

Examples:

power availability
cooling availability
environmental sensor coverage
generator readiness
UPS battery readiness

171. No One Composite Score

Hard rule.


172. Facility SLI

#![allow(unused)]
fn main() {
pub enum FacilitySliKind {
    PowerAvailable,
    CoolingAvailable,
    TemperatureWithinRange,
    HumidityWithinRange,
    GeneratorReady,
    UpsReady,
    SensorCoverage,
}
}

173. Facility SLO

#![allow(unused)]
fn main() {
pub struct FacilitySlo {
    pub site: PhysicalSiteId,
    pub kind: FacilitySliKind,
    pub target: SloTarget,
}
}

174. Part 109 integration.


175. Error Budget

May apply to facility service.


176. Hard security hazards are not budgetable.


177. Hard rule.


178. Environmental Monitoring Privacy

Telemetry dimensions:

site
zone
rack
sensor

179. Not:

person
employee badge
user device

180. Hard rule.


181. Sensor Sampling

Use rate appropriate to hazard.


182. No need to retain high-frequency history forever.


183. Hard rule.


184. Sensor Retention

Keep:

recent high-resolution
older rolled-up
incident evidence as needed

185. Hard rule.


186. Sensor Integrity

Sensors can fail/spoof.


187. Critical decisions may require corroboration.


188. Hard rule.


189. Multi-Sensor Confirmation

Example:

temperature high + airflow low

raises confidence.


190. Good.


191. No Single-Sensor Trust For Critical Shutdown Where Avoidable

Hard rule.


192. Facility Control Security

BMS/DCIM integration is high-risk.


193. Use:

read-only telemetry adapters where possible
typed safety commands
segmented management network

194. Hard rule.


195. No Generic BMS Remote Control

Hard rule.


196. Control Plane Isolation

Facility controller separate from user data plane.


197. Hard rule.


198. Facility Secrets

Credentials for BMS/UPS/generator APIs stored via Part 80 secret broker.


199. No hardcoded passwords.


200. Hard rule.


201. Vendor Appliance Integration

Treat vendor APIs as untrusted external systems.


202. Validate data.


203. Hard rule.


204. Monitoring Loss

If DCIM/BMS feed lost:

state confidence decreases

205. Unknown ≠ Normal.


206. Hard rule.


207. Site Inventory Integration

Part 106.

Nodes:

site
zone
rack
PDU
UPS
generator
cooling unit
sensor

208. Typed edges.


209. Hard rule.


210. Desired-State Integration

Part 105.

Facility policies:

thresholds
maintenance schedules
safety actions

signed/versioned.


211. Hard rule.


212. Hardware Fleet Integration

Part 115.

Hardware placement links to rack/site/power/cooling domains.


213. Hard rule.


214. Resilience Integration

Part 110.

Facility failures are correlated fault domains.


215. Hard rule.


216. Capacity Integration

Part 101.

Site power/cooling can limit compute admission.


217. Hard rule.


218. Forecast Integration

Part 111.

Future power/cooling capacity forecast.


219. Hard rule.


220. Performance Integration

Part 112.

Thermal throttling may degrade performance.


221. Must be visible.


222. Hard rule.


223. Efficiency Integration

Part 113.

Idle/power consolidation may reduce facility load.


224. Resilience still first.


225. Hard rule.


226. Sustainability Integration

Part 114.

Cooling efficiency/renewable power informs environmental planning.


227. Hard rule.


228. Geographic Governance

Part 103.

Site belongs to approved region/jurisdiction.


229. Hard rule.


230. Organizational Governance

Part 104.

Site/facility owner and on-call responsibilities explicit.


231. Hard rule.


232. Change Integration

Part 107.

Facility changes are governed changes.


233. Hard rule.


234. Release Integration

Part 108.

Large release may require site capacity/headroom readiness.


235. Hard rule.


236. DR Integration

Part 100.

Site loss scenario maps to failover.


237. Hard rule.


238. Incident Integration

Part 96.

Power/cooling/environmental emergencies can trigger incident.


239. Hard rule.


240. SOC Integration

Physical tamper/environment anomalies are security signals where relevant.


241. No person tracking.


242. Hard rule.


243. Compliance Integration

Part 95.

Controls can require:

redundant power
generator test
sensor calibration
environmental thresholds
physical access scope

244. Good.


245. Facility API

#![allow(unused)]
fn main() {
pub trait FacilityService {
    fn site(
        &self,
        id: PhysicalSiteId,
    ) -> Result<PhysicalSite, FacilityError>;

    fn state(
        &self,
        id: PhysicalSiteId,
    ) -> Result<FacilityOperationalState, FacilityError>;
}
}

246. Power Service

#![allow(unused)]
fn main() {
pub trait FacilityPowerService {
    fn status(
        &self,
        site: PhysicalSiteId,
    ) -> Result<PowerStatusSnapshot, FacilityError>;
}
}

247. Environmental Service

#![allow(unused)]
fn main() {
pub trait EnvironmentalMonitoringService {
    fn snapshot(
        &self,
        site: PhysicalSiteId,
    ) -> Result<EnvironmentalSnapshot, FacilityError>;
}
}

248. Maintenance Service

#![allow(unused)]
fn main() {
pub trait FacilityMaintenanceService {
    fn plan(
        &self,
        request: FacilityMaintenanceRequest,
    ) -> Result<FacilityMaintenancePlan, FacilityError>;
}
}

249. No General BMS Shell/API Passthrough

Hard rule.


250. Error Taxonomy

#![allow(unused)]
fn main() {
pub enum FacilityError {
    SiteUnknown,
    PowerStateUnknown,
    CoolingStateUnknown,
    SensorDataStale,
    CapacityInsufficient,
    RedundancyInsufficient,
    MaintenanceUnsafe,
    EvacuationRequired,
    ControlActionDenied,
    ScopeViolation,
    Unauthorized,
    Internal,
}
}

251. Observability

Safe metrics:

site state
UPS state
generator state
power headroom
cooling headroom
temperature/humidity range
sensor freshness

252. Forbidden:

employee movement
badge history
user devices
private content

253. Hard rule.


254. Facility SLO Examples

Tier0 sites have current UPS/generator readiness
critical racks have dual independent power where policy requires
environmental sensors fresh within target interval
no maintenance below facility redundancy floor

255. Security SLO

0 generic unauthenticated BMS control paths
0 facility management secrets embedded in code

256. Privacy SLO

0 personnel movement profiling
0 facility telemetry linked to users

257. Failure Modes

utility loss
generator no-start
UPS battery degradation
cooling failure
sensor failure
network plant loss

258. Utility Loss

Follow UPS→generator→load management.


259. Hard rule.


260. Generator No-Start

Estimate remaining battery runtime.

Drain before exhaustion.


261. Hard rule.


262. UPS Battery Degradation

Capacity test triggers maintenance.


263. Hard rule.


264. Cooling Failure

Throttle/load-shed/drain.


265. Hard rule.


266. Sensor Failure

State becomes Unknown for affected domain.


267. No green default.


268. Hard rule.


269. Network Plant Loss

Edge/local continuity where allowed.


270. No privacy downgrade.


271. Hard rule.


272. Testing

Need facility-reliability testkit.


273. Test Scenarios

utility outage
generator failure
cooling domain loss
rack overheating
edge site isolation

274. Power Test

UPS runtime/failover sequence correct.


275. Generator Test

No-start triggers drain.


276. Redundancy Test

A/B power paths sharing common upstream fail validation.


277. Cooling Test

Shared chilled loop modeled as common fault.


278. Sensor Test

Stale sensor != Normal.


279. Calibration Test

Expired sensor lowers confidence.


280. Drain Test

Thermal critical state prevents new high-power workload admission.


281. Edge Test

WAN isolation does not relax security/privacy policy.


282. Privacy Test

No worker location history generated.


283. DR Test

Site loss maps to compliant failover.


284. Capacity Test

Power/cooling headroom considered before scale-out.


285. Maintenance Test

Electrical maintenance cannot remove redundant feed simultaneously.


286. Facility Controller Test

Only typed safety actions allowed.


287. Fuzzing

Fuzz:

power topology
cooling topology
sensor readings
facility policies
maintenance plans

288. Property Tests

Properties:

critical site state can never be Normal when required power/cooling evidence is Unknown
facility action can never bypass security/privacy/residency constraints
maintenance plan can never intentionally violate required facility redundancy
worker identity can never become a valid environmental telemetry dimension

289. Formal Verification Targets

Strong candidates:

power failover state machine
cooling failure response
site evacuation state machine
maintenance redundancy

290. Kani Candidate

threshold/failover/redundancy invariants.


291. TLA+ Candidate

normal → utility loss → UPS → generator → drain/recovery.


292. Loom Candidate

concurrent sensor alarm + facility state transition + workload admission.


293. Performance

Environmental monitoring is off request path.


294. Critical facility state cached locally.


295. No request-path dependency on external BMS cloud.


296. Hard rule.


297. Storage

Separate:

site inventory
power topology
cooling topology
sensor definitions
aggregate readings
maintenance plans
facility incidents

298. No worker tracking store.


299. Hard rule.


300. Partitioning

By:

site
zone
rack
power domain
cooling domain
sensor type

301. No user/person partition.


302. Hard rule.


303. Crate Layout

Recommended:

crates/
├── siar-facility-core/
├── siar-power-topology/
├── siar-cooling-topology/
├── siar-environmental-monitoring/
├── siar-site-controller/
├── siar-facility-maintenance/
├── siar-site-evacuation/
├── siar-facility-slo/
├── siar-facility-observability/
└── siar-facility-testkit/

304. siar-facility-core

Owns:

PhysicalSiteId
PhysicalSiteType
FacilityOperationalState
errors

305. siar-power-topology

Utility/UPS/generator/ATS/PDU topology and state.


306. siar-cooling-topology

Cooling equipment/domains/redundancy.


307. siar-environmental-monitoring

Temperature/humidity/smoke/leak/airflow sensors.


308. siar-site-controller

Typed safety actions only.


309. siar-facility-maintenance

Electrical/cooling/sensor maintenance planning.


310. siar-site-evacuation

Drain/offline/recovery state machine.


311. siar-facility-slo

Power/cooling/environmental objectives.


312. siar-facility-observability

Aggregate site health only.


313. siar-facility-testkit

power/cooling/sensor/privacy tests.


314. Security, Privacy & Correctness Invariants

Mandatory:

1. Facility reliability is modeled through explicit site, rack, power, cooling, network-plant, and environmental fault domains; redundant labels alone never prove independence.
2. Facility telemetry is scoped to infrastructure sites, zones, racks, and sensors and never tracks users, employee movement, badge histories, or private content.
3. Unknown, stale, or uncalibrated critical sensor data can never be interpreted as normal facility state.
4. Utility, UPS, generator, ATS, PDU, cooling, and carrier dependencies are modeled explicitly so shared upstream infrastructure cannot masquerade as redundant paths.
5. Facility safety actions are typed, bounded, and policy-controlled; no generic BMS, UPS, or remote-control shell is exposed through the platform.
6. Environmental or power degradation can restrict workload admission, trigger load shedding, or drain assets, but cannot disable encryption, authorization, anonymity, residency, or other hard security/privacy controls.
7. Facility maintenance must preserve declared power/cooling/fault-domain redundancy and cannot take correlated redundant paths offline together unless an explicit emergency degraded-mode policy authorizes it.
8. Edge/offline sites retain the same security/privacy policy during WAN isolation; loss of connectivity never justifies weaker identity, crypto, or routing rules.
9. Site evacuation and recovery are explicit state machines; return to service requires stable power, cooling, environmental sensing, network, and hardware trust verification rather than a simple "power restored" signal.
10. Facility observability and historical data are retained only at the technical resolution necessary for reliability, maintenance, incidents, and assurance and cannot become a workforce-surveillance system.
11. Capacity, sustainability, cost, or efficiency optimization cannot consume protected facility headroom or reduce required site redundancy below policy without a governed change.
12. Facility reliability integrates with hardware fleet management, inventory, desired state, capacity, forecasting, SLOs, resilience, DR, change/release governance, sustainability, security operations, and compliance without creating an alternate physical control plane around platform governance.

315. Initial Production Scope

Implement first:

typed PhysicalSiteId/PhysicalSiteType
site/rack/zone inventory
power topology
power domains
UPS/generator/ATS/PDU state
cooling topology/domains
temperature/humidity/leak/smoke sensors
sensor freshness/calibration
facility operational state
power/cooling headroom
typed facility safety actions
edge-site policy
site evacuation state machine
facility maintenance planner
facility SLOs
hardware-fleet links
resilience/capacity integration
privacy-safe dashboards
facility testkit

Then add:

advanced BMS/DCIM adapters
power-quality analytics
generator fuel logistics
thermal digital twin
rack-level CFD-informed planning
weather/grid-risk adapters where appropriate
formal power/cooling redundancy verification

316. Definition of Done

Part 116 is complete when:

  • sites/zones/racks are canonical assets
  • power/cooling topologies are explicit
  • shared upstream fault domains are modeled
  • UPS/generator/ATS states are typed
  • environmental sensors have freshness/calibration state
  • Unknown sensor data cannot imply Normal
  • facility headroom affects workload admission
  • maintenance preserves site redundancy
  • edge sites maintain security/privacy during isolation
  • site evacuation/recovery are explicit state machines
  • facility control exposes only typed safety actions
  • no worker/user tracking exists
  • facility/privacy/fuzz/formal tests are specified

317. Final Architecture

                   PHYSICAL SITE
                        │
          ┌─────────────┼─────────────┐
          │             │             │
        POWER        COOLING      ENVIRONMENT
          │             │             │
          └─────────────┼─────────────┘
                        ▼
                FACILITY STATE ENGINE
                        │
              ┌─────────┼─────────┐
              │         │         │
            NORMAL   DEGRADED   EMERGENCY
              │         │         │
              └─────────┼─────────┘
                        ▼
            ADMISSION / DRAIN / FAILOVER
                        │
                        ▼
                 RECOVERY / VERIFY

Physical-site reliability model:

explicit power topology
+
explicit cooling domains
+
calibrated environmental sensing
+
headroom-aware admission
+
resilience-aware maintenance
+
typed emergency actions
+
site evacuation/recovery
+
privacy-safe facility telemetry

not:

assume two PDUs mean redundant power, trust stale sensors, expose a generic BMS shell, and track workers to understand facility state

318. Final Principle

A reliable physical site is a modeled system of power, cooling, environment, and fault domains—not merely a building containing servers.

The correct model is:

identify sites and racks
+
map power/cooling dependencies
+
monitor calibrated environmental signals
+
preserve headroom and redundancy
+
drain before unsafe thresholds
+
recover through verification
+
isolate facility control
+
never turn physical telemetry into people tracking

This architecture gives SIAR a privacy-preserving physical-site reliability foundation for data centers, colocation, edge facilities, power, UPS/generators, cooling, environmental monitoring, maintenance, evacuation, and recovery while preserving the anonymity, local-first, least-authority, resilience, sustainability, and anti-surveillance guarantees established across Parts 34–115.