Calibration registry
Every physical number the twin uses, and where it came from. Sorted weakest evidence first, then lowest confidence — the pilot's shopping list, in order.
| parameter | value | provenance | confidence | source | notes |
|---|---|---|---|---|---|
| tamper.false_positive_rate_per_day | 0.05 count/day | assumed | 0.1 | placeholder; a property of the mounting, not the part | Lowest-confidence parameter here. A tamper alert nobody trusts is worse than none, so this needs field data before the feature ships. |
| lte.psm_interval_s | 3600.0 s | assumed | 0.15 | placeholder; entirely carrier- and config-dependent | Drives how long a downlink command waits. The command channel is unusable if this is large and nothing queues. |
| lte.outage_rate_per_day | 0.5 count/day | assumed | 0.15 | placeholder; site- and carrier-specific | |
| battery.drain_pct_per_hour | 0.4 %/h | assumed | 0.15 | placeholder implying roughly 10 days of life | Decides the service interval and much of the business case. Real discharge is non-linear and temperature dependent; this linear model will not survive contact with a current meter. |
| ble.packet_delivery_ratio | 0.85 fraction | assumed | 0.2 | placeholder; no measurement exists | Deliberately lumps interference, collisions and duty-cycle misses into one number. Separating them without measurements would be false precision. |
| accel.motion_threshold_g | 1.5 g | assumed | 0.2 | placeholder; no vibration data exists | Will need retuning against hardware: the gap between a tool in use and a lorry passing is exactly what this has to separate. |
| accel.clear_threshold_g | 1.2 g | assumed | 0.2 | placeholder; sets the hysteresis dead band | Must stay at or below the motion threshold or motion clears before it is detected. |
| ble.path_loss_exponent | 2.7 | assumed | 0.25 | midpoint of the commonly cited 2.7-3.5 indoor range | THE DOMINANT UNKNOWN. Free space is 2.0; a yard of steel plant is worse than indoors and genuinely unmeasured. Every RSSI-to-distance estimate inherits this error, so trilateration is indicative only. Measure this first. |
| gateway.coverage_radius_m | 20.0 m | assumed | 0.3 | rule of thumb; the radio model is what actually decides | Present for planning views only. Reception is decided by the path-loss model, and this must not be allowed to disagree with it. |
| lte.attach_latency_s | 5.0 s | assumed | 0.3 | order of magnitude for LTE-M attach | |
| lte.uplink_latency_s | 2.0 s | assumed | 0.3 | order of magnitude for LTE-M uplink | |
| gateway.scan_duty_cycle | 1.0 fraction | assumed | 0.4 | assumes continuous scanning | A battery-powered Guard Tag will not scan continuously. The real figure trades scanner battery against missed advertisements. |
| gnss.accuracy_m | 8.0 m | assumed | 0.4 | typical open-sky consumer GNSS | Degrades badly near tall plant and inside structures. |
| gnss.cold_start_s | 30.0 s | assumed | 0.4 | typical cold-start time to first fix | |
| ingestion.gap_settle_after | 5.0 sequences | assumed | 0.5 | chosen to tolerate ordinary multi-scanner reordering | Too low and reordering reads as loss; too high and real loss is reported too late to act on. Depends on relay delay spread, which is itself unmeasured. |
| ble.tx_power_1m_dbm | -59.0 dBm | assumed | 0.6 | typical BLE beacon reference figure at 1 m | Varies by module and antenna; a vendor datasheet will supersede this. |
| ble.advertising_interval_s | 1.0 s | assumed | 0.6 | common asset-tag configuration | A configuration choice more than a physical constant; trades battery life against how quickly a tag is noticed. |
| ble.receiver_sensitivity_dbm | -95.0 dBm | assumed | 0.7 | typical BLE receiver floor | Reasonably consistent across parts; low risk. |
| battery.low_pct | 20.0 % | assumed | 0.9 | operational choice, not physics | |
| battery.critical_pct | 5.0 % | assumed | 0.9 | operational choice, not physics |
A swept value stays assumed however many times it is varied — sweeping a guess produces a sensitivity, never a measurement. A measured value must carry a date, or it cannot be audited or superseded. Profiles are immutable: superseding one produces a new version, so what was believed when stays on the record.