fad833e8d1
Checked against the legacy mesapi source (MesNotifier/MesServices/Tag) plus ServiceStack/OrmLite 6.0.2 in a scratch harness: - unhandled exceptions are an HTTP 500 ServiceStack ErrorResponse, not WasSuccessful=false - no matching alarms = success with an empty list; failures don't short-circuit - AckDT is null only for a null MXAccess value, not 'when unacked' - tag type-conversion failures are silent (InAlarm false -> alarm drops out) - simplealarmstatus SAPID edge cases: null never matches, "" matches, duplicates -> arbitrary TOP 1 - 'test' API keys hit the production BatchDB (TestDb routing never reaches MesNotifier) - latent SetResult-after-timeout race in the MXAccess data-change callback
Former API Specs
Reference specifications for the predecessor / legacy APIs that ScadaBridge replaces or interoperates with. These are not ScadaBridge's own contracts — they are kept here as historical reference when porting integrations onto ScadaBridge's Inbound API (#14) and External System Gateway (#7), and for parity-checking behavior during cutover.
ScadaBridge's own component design docs live under docs/requirements/;
this folder holds only the outgoing/legacy systems' specs.
Subfolders
mes/— the legacy MES API (ServiceStack "WWSupport / APIServer", a.k.a.mesapi) that bridges MES ↔ AVEVA Wonderware via MXAccess. Source repo:~/Desktop/mesapi.dnc/— the legacy DNC integration: DELMIA Apriso document/recipe download + Wonderware recipe-download notification (~/Desktop/delmiaintegration).
Drop the relevant spec documents into the matching subfolder.
ScadaBridge's own externally-called contracts, captured as deployed, live in ../api-specs/.