The old 05-scada/, restructured around the distinction its README never
drew: configuration is deployed with dssqld, displays are deployed by
file copy. Conflating the two is what made the folder confusing.
modbus_points/ the tag database - named for the protocol,
since CI Server configures others differently
modbus_points/historian/ 3 groups, 49 bindings - HAND-MADE, no
generator, and drifted from the server
hmi/ displays and their generator
ciserver-backup-2026-08/ outdated exports, evidence only, never import
QUICKLOAD.md dssqld export/import, the 5 classes, the import
order, and why an item import kills every display
README.md the chain end to end, and the not-updating triage
Verified during the move - the whole chain is reproducible:
scada-points.csv and all three .qli regenerate byte-identically
all six displays build clean
Removed the K offset machinery from build_display.py, item-ids.meta.json
and DEPLOY.md. K was a consistency check on measured ids, not a source of
them, and diagnosing a dead screen by arithmetic is wasted effort when
validating the display in CI Server's Editor Module fixes it outright.
The guidance now leads with that one action.
Recorded, not fixed: the repo's historian config disagrees with the
2026-08 CI Server export - WRPS_THIRTY_SEC and a FIVE_SECONDS group exist
on the server and not here. cicore1 was unreachable during this audit, so
which is correct is unknown.
Not carried across: __pycache__, out/*.xml, and the top-level
WRPS_Overview.xml that was tracked despite .gitignore declaring the
display XMLs to be build output.
1.7 KiB
ciserver-backup-2026-08 — ⚠️ OUTDATED. Evidence only.
Caution
Do not import anything in this folder. These are exports taken out of CI Server around 2026-08-20. They are a record of what the server held at that moment, not source, and they are known to be superseded.
Why they are kept
The CI Server side of this project has no other record. cicore1 was not
reachable during the 2026-09 audit, so nothing here could be checked against the
live system. These exports are the only evidence of what was actually configured,
as opposed to what the repo believes was configured.
| File | Class | Contains |
|---|---|---|
export_items.qli |
ITEM_DF |
147 records mentioning AID.WRPS |
export_his_group.qli |
HIS_GROUP_DF |
historian collection groups |
export_item_his_df.qli |
ITEM_HIS_DF |
item → group bindings |
An export holds every record of its class, not only this project's. Filter on
AID.WRPS when comparing.
The drift they revealed
Comparing these against ../modbus_points/historian/ shows the two do not agree:
| In this export | In the repo's source |
|---|---|
WRPS_EVENT, WRPS_ONE_SEC |
✅ both |
WRPS_THIRTY_SEC |
❌ absent |
FIVE_SECONDS (binding STN.LEVEL, STN.INFLOW) |
❌ absent — not a WRPS group |
| — | WRPS_ONE_MIN, absent from the export |
That is the whole reason this folder exists rather than being deleted.
Replacing it
When cicore1 is reachable, re-export the five classes (../../QUICKLOAD.md),
diff them against ../modbus_points/, resolve the differences, and replace this
folder with a dated export that has been verified. Do not accumulate backups —
one known-good snapshot is more useful than three of uncertain age.