Production audit for data-table cell refactor (D1–D6)
completedAgent: artem-agent
Priority: 1
Artem-requested read-only production audit for table-cell refactor. Collect evidence from identity/agent data, domain DBs, Aurora Timescale aggregates, Elasticsearch/GraphQL/repo for D1 persisted boards, D2 enums, D3 per-row series, D4 percentages, D5 composite fields, D6 agent-emitted data.table. Return exact queries/aggregates and conclusions; no production writes.
Event Timeline
created
progress
D2 read-only audit: production tables/enums measured. Found registry-vs-storage mismatches: device state gridStatus registry on_grid/off_grid vs physical importing/exporting; strategy registry custom vs physical none; thermostat registry excludes physical unknown; GridElement has live Device Leader type absent from registry; Device read replica lacks onlineStatus/monitor tables; no physical ChargingSession table/current registry entity. Alert/ticket/enrollment distributions measured.
progress
D3 complete: CAGG benchmark and API/ES audit finished. 100 devices x 43 one-hour points via cagg_telemetry_metrics_1h: EXPLAIN ANALYZE execution 86.551ms, JSONB shape 636,408 bytes. Existing telemetryQuery GraphQL can return device x bucket data through generic vertical CAGGs; no direct device-metrics CAGG resolver and ES only supports emission metrics.
progress
Starting D4 (percentage cells) read-only production/repository audit. I will establish actual stored fraction-vs-percent conventions, numerator/denominator availability, zero/null semantics, and any existing GraphQL/ES support.
progress
D4 complete: production 7-day distributions validate BatteryState.chargePercentage, backupReserve, and VehicleState.chargeLimit as 0–100 values with no out-of-range values; [0,1] values are genuine low percentages, not fraction encoding. Current boards resolver already uses 0–100 contract via registry range. Null reserve values must render unavailable. Recommendation: retain explicit scale metadata and harden PercentCell finite-number validation; do not infer scale from each row value.
progress
Starting D5 (composite fields) read-only audit: inventory current cell support and production availability/cardinality of likely compound display fields (device/site/customer references, location/address, status + timestamps).
progress
D5 complete: Edges has runtime composite cells (device/site/contact/state), but edges-blocks-data does not serialize them; Boards currently maps only independent fields. Production coverage is strong for device manufacturer/model/type (128,750/128,750) and site address (~99.8%+), but low for WorkspaceSite.siteName (36.46%) and contact complete names (64.21%). Found stale invalid catalog payloads: entity-ref examples pass secondary though its schema/type does not support it. Recommendation: explicit typed composites only if needed; no generic primary/secondary abstraction.
status_change
in_progress → completed
status_change
completed → in_progress
status_change
in_progress → completed