Commit Graph

154 Commits

Author SHA1 Message Date
Joseph Doherty 68f911e634 docs: note alarmOverrides in GetInstanceDocumentAsync; mark template-alarm/override plan complete 2026-06-07 10:31:02 -04:00
Joseph Doherty 9d7e69056a docs(plans): add template-alarm CLI + alarm-override coverage implementation plan 2026-06-07 10:00:48 -04:00
Joseph Doherty 475bfadacd docs(plans): design for template-alarm CLI ergonomics + alarm-override coverage 2026-06-07 09:53:34 -04:00
Joseph Doherty fdea9e0bde docs(plans): mark Wave 4 tasks complete 2026-06-07 04:33:16 -04:00
Joseph Doherty 7fda67be9e docs(plans): add Wave 4 Playwright edge-sweep plan (cross-cutting edge cases) 2026-06-07 03:26:25 -04:00
Joseph Doherty 1eece71c76 docs(plans): mark Wave 3 tasks complete 2026-06-06 16:10:07 -04:00
Joseph Doherty e5bd8d9707 docs(plans): add Wave 3 Playwright coverage-fill plan (Tier 3 config CRUD breadth) 2026-06-06 14:31:18 -04:00
Joseph Doherty 4a993d76da docs: mark Playwright coverage-fill Wave 2 tasks complete 2026-06-06 13:59:21 -04:00
Joseph Doherty 46bc2288bf docs: correct Wave 2 Task 7 Test-D description to the shipped move-under-area scenario 2026-06-06 13:55:19 -04:00
Joseph Doherty b4b38fe52a docs: add Playwright coverage-fill Wave 2 implementation plan (Tier 2 real-time/relay) 2026-06-06 13:18:32 -04:00
Joseph Doherty efb3efe6dc docs: mark Playwright coverage-fill Wave 1 tasks complete 2026-06-06 12:37:47 -04:00
Joseph Doherty 8bd7656110 docs: sync Wave 1 plan with Task 0 review fixes (GetInstanceDocumentAsync, CreateApiKeyAsync) 2026-06-06 11:44:56 -04:00
Joseph Doherty 8e8bf44a29 docs: add Playwright coverage-fill Wave 1 plan (InstanceConfigure, API keys, Transport export) + tasks 2026-06-06 11:32:18 -04:00
Joseph Doherty 58bf59a42d docs: add Playwright coverage-fill design (Tier 1-3 + edge sweep, 4 waves) 2026-06-06 11:23:59 -04:00
Joseph Doherty b540015fbd docs(tests): implementation plan for Playwright coverage expansion
16 task-by-task steps: shared CliRunner + ClusterAvailability skip infra,
DeploymentFixture + deploy/enable/disable/delete suites, notification
retry/discard + parked-messages query, Transport Import round-trip, Site/
Template/LDAP CRUD round-trips, nav render hardening, Health KPI guard, and a
no-residue verification pass. Co-located .tasks.json for resumable execution.
2026-06-05 09:52:12 -04:00
Joseph Doherty cb3b3bf373 docs(tests): design for Playwright coverage expansion (7 audit recs)
Captures the 2026-06-05 coverage audit's gaps and the approved approach for
closing them: ephemeral CLI-provisioned fixtures with outcome-tolerant asserts
for the mutating suites (deploy lifecycle, retry/discard, transport import),
UI CRUD round-trips, nav render hardening, a Health KPI load test, and a
standardized skip-and-log policy. Next: writing-plans turns this into tasks.
2026-06-05 09:39:35 -04:00
Joseph Doherty 5e106df9e6 docs(plans): implementation plan for per-component reference docs
28-task plan: scaffold, AuditLog pilot (approval gate), 24-doc parallel
fan-out, index+README, verification pass. Co-located .tasks.json for resume.
2026-06-03 15:24:05 -04:00
Joseph Doherty e89cf2b278 docs(plans): design for per-component reference docs in docs/components/
Brainstormed design: generate 25 StyleGuide-conformant developer-reference
docs derived from src/ code (pilot AuditLog, then parallel fan-out, then
accuracy/conformance verification). Complements the requirements specs;
leaves src/, XML docs, and specs untouched.
2026-06-03 13:58:14 -04:00
Joseph Doherty 4db8c373af fix(auth): ScadaBridge 1.2 review fixes — secret-test repoint, checklist, Scope guard, 0.1.1 pin 2026-06-02 01:23:52 -04:00
Joseph Doherty 43228185b4 docs: convert standard diagrams from draw.io PNGs to inline Mermaid
Gitea renders mermaid inline, so the flow/state/hierarchy/DAG diagrams
move to text-in-markdown: auto-layout (removes the manual overlap-prone
draw.io step), diffable source, no committed binaries, and a dark-text
theme so labels stay legible. Keep draw.io PNGs only for the two complex
bespoke diagrams (logical architecture, env2 topology) where pixel
control still wins. All 24 mermaid blocks validated by rendering.
2026-06-01 00:23:00 -04:00
Joseph Doherty bdee12f4e9 docs: render architecture & flow diagrams as draw.io charts
Replace ASCII-art diagrams across the README and docs/ with editable
.drawio sources plus exported PNGs, so the diagrams render clearly in
rendered markdown and can be maintained/regenerated instead of being
hand-edited as fragile text art. Non-diagram blocks (code, folder
trees, UI wireframes) were left as text.
2026-05-31 23:32:53 -04:00
Joseph Doherty 300841b205 chore: mark rename plan complete (all 7 tasks done) 2026-05-31 22:05:13 -04:00
Joseph Doherty 3797af7f0f chore: mark rename plan tasks 0-4 complete 2026-05-31 21:59:57 -04:00
Joseph Doherty a47317d010 docs: record git-ignored deploy/ scrub gap + resolution (incl. LDAP directory rename) 2026-05-31 21:58:49 -04:00
Joseph Doherty c899cb162c refactor: scrub residual ScadaLink refs → ScadaBridge (env vars, config keys, assembly name, SQL login)
Renames the 13 SCADALINK_* runtime env vars → SCADABRIDGE_*, the ScadaLink__
.NET config keys → ScadaBridge__, the stale ScadaLink.Host.exe assembly name
→ ZB.MOM.WW.ScadaBridge.Host.exe, the scadalink_app SQL login → scadabridge_app,
and residual identifiers/comments/docs. Migration records (prior rename
tooling/design, DB-rename helper, this scrub script) carved out.

Adds tools/scrub-scadalink-refs.sh.
2026-05-31 21:50:38 -04:00
Joseph Doherty d317c07ea5 docs: add folder/repo rename implementation plan + task file 2026-05-31 21:39:23 -04:00
Joseph Doherty e01f3bdabe docs: add folder/repo rename design doc (scadalink-design → ScadaBridge) 2026-05-31 21:32:07 -04:00
Joseph Doherty f428804bef docs: close native-alarm spec gaps surfaced by docs audit
The native alarms feature merged with 7 component docs updated, but the
spec layer drifted: HighLevelReqs, Commons, and ManagementService had no
native-alarm coverage and the README table flagged it on only one row.
Add HighLevelReqs §3.4.2 (+ validation), document the Commons
types/entities/messages and the 7 ManagementService commands, sync the
README rows + link the TreeView sub-component, fix 2 broken plan links,
and drop the one-off native-alarms RESUME scratchpad.
2026-05-31 07:41:49 -04:00
Joseph Doherty 9afcdc996e chore(plans): native alarms COMPLETE (28/28) + T28 live-integration notes 2026-05-31 03:29:37 -04:00
Joseph Doherty d24c00ec2c chore(plans): native alarms execution progress (27/28) + batch-8 notes 2026-05-31 02:55:36 -04:00
Joseph Doherty b03ab11d8a chore(plans): native alarms execution progress (24/28) + batch-7 notes 2026-05-31 02:41:45 -04:00
Joseph Doherty c4cea9eea5 chore(plans): native alarms execution progress (21/28) + batch-6 notes 2026-05-31 02:23:50 -04:00
Joseph Doherty 50176765fe chore(plans): native alarms execution progress (18/28) + batch-5 notes 2026-05-31 02:11:11 -04:00
Joseph Doherty 376dac4895 chore(plans): native alarms execution progress (15/28) + batch-4 notes 2026-05-31 01:50:30 -04:00
Joseph Doherty 3650a89fcd chore(plans): native alarms execution progress (12/28) + resume notes 2026-05-29 17:01:18 -04:00
Joseph Doherty 09e19db4e9 docs(plans): native alarms implementation plan (28 tasks, TDD)
Bite-sized task plan with exact file paths, code, and TDD steps for native
OPC UA A&C + MxAccess GW alarm ingestion. Phases: Commons contracts ->
config/flatten/migration -> DCL ingestion (actor + 2 adapters) -> site
runtime (NativeAlarmActor + SQLite) -> gRPC proto -> management/CLI -> UI ->
seed/docs/integration. Includes .tasks.json for executing-plans resume.
2026-05-29 15:27:43 -04:00
Joseph Doherty dadebbe227 docs(plans): native OPC UA & MxAccess GW alarms design
Read-only mirror of native alarm sources into a unified A&C-style state
model (severity + active/acked/shelved/suppressed). Instance-bound source
discovery, site-only SQLite state with live central query (no central
tables), DebugView enrichment. OPC UA A&C events + ConditionRefresh and
MxGateway session-less StreamAlarms via a new IAlarmSubscribableConnection
seam routed connection-level by source reference; new NativeAlarmActor peer
to computed AlarmActor.
2026-05-29 15:14:01 -04:00
Joseph Doherty 251407934b docs(plan): mark all MxGateway tasks complete in task persistence 2026-05-29 08:12:43 -04:00
Joseph Doherty 9b7916bb2e refactor(browse): rename BrowseOpcUaNode* to protocol-agnostic BrowseNode*
Renames BrowseOpcUaNodeCommand/Result -> BrowseNodeCommand/Result and
CommunicationService.BrowseOpcUaNodeAsync -> BrowseNodeAsync across Commons,
Communication, SiteRuntime, DCL actors, and CentralUI. Wire manifest name
follows (BrowseOpcUaNode -> BrowseNode). Browse regression tests green.
2026-05-29 07:57:36 -04:00
Joseph Doherty 2044023bdd docs(dcl): implementation plan for MxGateway data connection
19 bite-sized tasks across adapter (TDD), config serializer/validator,
browse generalization rename, Central UI protocol selector/editor, packaging,
and integration. Co-located task persistence for resumable execution.
2026-05-29 07:39:44 -04:00
Joseph Doherty 8730c6e30a docs(dcl): design for MxGateway data connection (2nd protocol)
Add design doc for a second data-connection protocol, MxGateway, alongside
the OPC UA client. New IDataConnection adapter behind the existing
DataConnectionFactory extension point; tag pipe (read/subscribe/write) plus
Galaxy hierarchy browse, optional 2nd endpoint for failover. Generalizes the
OPC-UA-named browse plumbing to protocol-agnostic browse via
IBrowsableDataConnection. No entity/schema changes.
2026-05-29 07:28:21 -04:00
Joseph Doherty 2aad9b533a plan: implementation plan for OPC UA tag browser popup (22 tasks)
Five phases, PR-shippable per phase: schema/contracts, DCL browse capability,
flattening uses override, Central UI popup + integration, docs. Per-task
classification, time estimates, and parallelism declared.
2026-05-28 11:43:04 -04:00
Joseph Doherty 8632c098b9 plan: design for OPC UA tag browser popup on instance config page
Per-instance address override + live ClusterClient-based browse via a new
IBrowsableDataConnection capability on RealOpcUaClient. Lazy-loaded tree
with manual-paste fallback; offline-safe.
2026-05-28 11:33:12 -04:00
Joseph Doherty 7b0b9c7365 refactor: rename ScadaLink → ZB.MOM.WW.ScadaBridge (code + projects + namespaces)
Solution + 23 src projects + 26 test projects renamed; folders, csproj,
namespaces, and ScadaLinkDbContext/ScadaBridgeDbContext class updated.
ActorSystem "scadalink" → "scadabridge", Akka seed-node URLs migrated.
SQL roles/logins, LDAP domains, CLI command name, and CLI config dir
(~/.scadalink → ~/.scadabridge) also renamed.

Build green; 5 Host.Tests fail awaiting SQL login rename in next commit.
Pre-existing StaleTagMonitor timing flakes unchanged.

Rename script committed at tools/rename-to-scadabridge.sh.
2026-05-28 09:37:45 -04:00
Joseph Doherty d8eda2f508 plan: design for ScadaLink → ZB.MOM.WW.ScadaBridge rename
Decisions: full prefix in csproj names + namespaces, full runtime
artifact rename (containers/network/DBs), staged commits on main,
in-place MS SQL DB rename, wipe site SQLite on cutover.
2026-05-28 09:27:31 -04:00
Joseph Doherty 80497d1332 chore(plans): mark env2 plan tasks completed 2026-05-24 07:26:20 -04:00
Joseph Doherty 4951e6f81b docs(plans): add env2 + Transport manual verification checklist 2026-05-24 07:17:44 -04:00
Joseph Doherty e66fee0d26 docs(plans): add second environment (env2) implementation plan
11-task plan (T0-T10) covering the sibling docker-env2/ directory:
SQL setup script + mount, Traefik config, central/site appsettings,
docker-compose, lifecycle scripts, .gitignore, READMEs and cross-refs,
verification checklist, and a manual smoke test. No application code
changes -- pure deploy tooling. Most tasks (T0-T9) are independent
and parallel-ready; T5 is gated on T0 + T4; T10 gates on all of T0-T9.
2026-05-24 07:08:46 -04:00
Joseph Doherty 2fd3426fc2 docs(plans): add second environment (env2) design
Brainstorming output for a sibling docker-env2/ tree that brings up a
minimal second cluster (2 central + 1 site x 2 nodes + Traefik) on the
same machine alongside the primary docker/ stack. Shares the existing
scadalink-net network and scadalink-mssql container but uses separate
logical databases (ScadaLinkConfig2 / ScadaLinkMachineData2) so the
Transport (#24) feature can be exercised end-to-end with real
cross-environment exports and imports.
2026-05-24 07:03:02 -04:00
Joseph Doherty 90baa4d6d5 docs(transport): manual cluster verification checklist 2026-05-24 04:52:59 -04:00