dohertj2 dohertj2
  • Joined on 2026-02-20
dohertj2 pushed to main at dohertj2/scadaproj 2026-06-08 07:51:04 -04:00
eb8b44c29d loader: purge legacy driver in overlay namespace on teardown (self-heal nw-uns-modbus placeholder)
a6fa36043a loader: equipment is driver-less (drop Modbus placeholder, NULL DriverInstanceId)
Compare 2 commits »
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-08 07:50:57 -04:00
f5ef0991af docs(adminui): correct equipment help text for driver-less equipment (review I1/M1)
b962b041f3 docs(plan): driver-less equipment — all tasks complete + live-verified
d909a8e4f6 docs+test(deploy): clarify driver-less attribution docs + no-line exclusion test (Task 2 review)
0b5fc44866 fix(adminui): show + clarify driver-less equipment across list/import (Task 1 review)
53eb3fcda5 test(config): DraftValidator accepts driver-less equipment + driverless equipment namespace
Compare 9 commits »
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-07 17:14:29 -04:00
446a45686f docs(plan): mark all VirtualTag/script-memory Phase-1 tasks complete
92d1df88f4 fix(deploy): guardrail estimate is best-effort, never blocks a valid deploy
cfbf0b2a17 feat(deploy): warn-only script-compile-cost advisory on deploy
b73ce75402 harden(vtag): exclude backslash from passthrough capture + parity tests (A review)
08d7477860 feat(vtag): passthrough fast-path skips Roslyn for mirror scripts (A)
Compare 11 commits »
dohertj2 pushed to main at dohertj2/scadaproj 2026-06-07 12:52:08 -04:00
05a4a547f4 feat(loader): canonical EQ-+uuid EquipmentIds (passes OtOpcUa full DraftValidator); clean by UnsLine scope
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-07 12:51:59 -04:00
f078d41a8b test(deploy): cover cross-cluster rejection through the actor; note reservation false-positive at gate
2676fc17b5 fix(host): pin EF/AspNetCore logs to Warning in appsettings.Development
5aba418074 feat(deploy): activate full DraftValidator gate (reject on any validation error)
Compare 3 commits »
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-07 11:11:51 -04:00
fc52fbce49 docs: follow-ons tasks all complete
f817fc8a8f fix(docker-dev): pin EF/AspNetCore logs to Warning + per-service mem limits to stop OOM/starvation
46aba992c5 fix(config): DraftSnapshotFactory loads only active (unreleased) reservations
1023209d52 feat(deploy): reject Tag/VirtualTag NodeId collisions at deploy (surgical DraftValidator gate)
fce66d104a refactor(config): materialise collision groups once; note VirtualTag folder coupling
Compare 10 commits »
dohertj2 pushed to main at dohertj2/ScadaBridge 2026-06-07 10:33:51 -04:00
68f911e634 docs: note alarmOverrides in GetInstanceDocumentAsync; mark template-alarm/override plan complete
5bc8dbad31 test(playwright): Notification hygiene — scoped pager locator, next-enabled re-assert, role-mapping-delete doc note
d3adf8c2e4 test(playwright): SiteCalls hygiene — site-a seeds where grid-visible, scoped pager locator, next-enabled re-assert
f78086334f test(playwright): InstanceConfigure alarm-override set-priority/clear round-trip; drop stale TODO
c3d7d8a6a4 test(playwright): provision a HiLo alarm in InstanceConfigureFixture (via typed CLI flags)
Compare 11 commits »
dohertj2 pushed to main at dohertj2/scadaproj 2026-06-07 09:55:23 -04:00
4d57e34ff3 docs(loader): record live-values verification + 396/1036 explanation for company overlay
b3d8990a0f fix(loader): keep empty folderPath distinct in vtag ids; dedupe verify args; readme wait-seconds
5655b75fe6 feat(loader): company overlay as VirtualTags mirroring the galaxy mirror + verify --require-good
Compare 3 commits »
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-07 09:37:08 -04:00
4c221ce2b3 merge: equipment-namespace live values (VirtualTag route)
984ef79c1f docs(opcua): correct EquipmentVirtualTagPlan equality comment (element-wise, not by-ref)
7e23ca8453 docs: tasks all complete
2e4e100733 docs: mark WS-3a (Equipment live values) done; finalize task tracker
2bfe18abcf chore(runtime): warn on missing VirtualTag evaluator; document Stale-recovery VirtualTag behaviour
Compare 16 commits »
dohertj2 pushed to main at dohertj2/ScadaBridge 2026-06-07 09:33:29 -04:00
fdea9e0bde docs(plans): mark Wave 4 tasks complete
70e84a7b79 test(playwright): seed inside try in Notification filter/modal tests for guaranteed cleanup (review fix)
b1d7497463 test(playwright): seed inside try in Notification stuck/pagination tests for guaranteed cleanup (review fix)
99a69c1fba test(playwright): Notification Report stuck-only + pagination edge cases (Wave 4)
5774b30d0d test(playwright): scope Notification detail-modal title selector to the open modal (review fix)
Compare 19 commits »
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-07 09:31:01 -04:00
1c579410cd fix(runtime): flag cross-cluster orphan-equipment bindings on rebuild
b0a62a9f3b fix(docker-dev): self-bootstrap schema via one-shot migrator (fixes fresh-volume quirks)
1f76eac97a fix(controlplane): case-insensitive NodeId equality for deploy ack-set
b45e0be427 docs(docker-dev): document first-time DB migrate + reseed (fresh-volume bootstrap)
e4a3f07c99 test(integration): poll per-node diagnostics to remove timing fragility (review)
Compare 17 commits »
dohertj2 pushed to main at dohertj2/ScadaBridge 2026-06-07 03:08:39 -04:00
1eece71c76 docs(plans): mark Wave 3 tasks complete
c6b682c82f test(playwright): make ApiKey name-commit deterministic under full-suite load (flake fix)
8f63ef08eb test(playwright): flush ApiKey name @bind before Save to destabilize validation flake
037184f213 test(playwright): add Configuration Audit modal/copy/bundle-chip coverage (Wave 3)
0b71712ee1 test(playwright): scope ConfigAudit pagination button selectors (review fix)
Compare 23 commits »
dohertj2 pushed to main at dohertj2/scadaproj 2026-06-06 16:19:55 -04:00
dce6f83488 loader: add populate-equipment (company-shape Equipment overlay) + scope verify-equipment
fd34e25cb1 feat(uns-loader): verify-equipment — recursive Equipment UNS tree browse + leaf count
Compare 2 commits »
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-06 16:03:27 -04:00
9a67ebc8a8 chore(docker-dev): enable the deploy REST API key on admin-capable nodes
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-06 15:59:22 -04:00
ad7f9e731f feat(admin): headless POST /api/deployments REST endpoint (API-key gated)
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-06 15:26:58 -04:00
a5d857d5b2 test(opcua): E2E deploy of an Equipment namespace through the real ConfigComposer
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-06 15:13:01 -04:00
a79ed5fff1 test(opcua): full equipment-namespace structure pipeline against a real SDK node manager
aaf869145a fix(opcua): equipment-tag planner diff + folder-scoped NodeIds (review findings)
08cddfe128 fix(opcua): UNS equipment folders browse by friendly Name, NodeId stays the logical Id
df0dc516c3 feat(opcua): materialise Equipment-namespace tags in the live rebuild
febe462750 feat(opcua): carry Equipment-namespace tags through the deployment composition
Compare 5 commits »
dohertj2 pushed to main at dohertj2/scadaproj 2026-06-06 14:22:28 -04:00
eb26bf3248 Add Galaxy UNS artifacts + reloadable OtOpcUa loader tool
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-06 14:20:39 -04:00
c18943f6e1 docs: task-by-task plan for the Equipment-namespace structure milestone
dohertj2 pushed to master at dohertj2/lmxopcua 2026-06-06 14:14:04 -04:00
0b8cad1870 docs: scope Equipment-namespace materialization in the live deploy path