Commit Graph

  • b8ac7e35e6 test(cluster): self-form fallback — lone-seed forms, disabled waits, site-node guard Joseph Doherty 2026-07-22 06:08:28 -04:00
  • 9ded86342e feat(cluster): InitJoin self-form fallback armed via Akka.Hosting startup task Joseph Doherty 2026-07-22 06:06:31 -04:00
  • 979dc102dd feat(cluster): SelfFormAfter option (bootstrap self-form fallback window) Joseph Doherty 2026-07-22 06:05:34 -04:00
  • 8e195263f6 docs(claude): record the two redundancy corrections in the project instructions Joseph Doherty 2026-07-21 19:05:32 -04:00
  • 0de1352e55 fix(deps): pin System.Security.Cryptography.Xml 10.0.10 — fresh restores were red Joseph Doherty 2026-07-21 18:59:48 -04:00
  • 84c6524edc docs(mesh): record phases 0a/0b as done and plan phase 1 Joseph Doherty 2026-07-21 18:46:10 -04:00
  • b2d19a1730 fix(tests): repair the DriverTypeNames guard, and stop MSBuild hoarding worker nodes Joseph Doherty 2026-07-21 18:42:34 -04:00
  • 50b55ee4b9 fix(redundancy): elect the Primary by cluster age, not by address Joseph Doherty 2026-07-21 18:39:07 -04:00
  • 2964361a6f fix(cluster): auto-down downing strategy — a two-node pair could not survive an oldest-node crash Joseph Doherty 2026-07-21 18:32:42 -04:00
  • c6fb8bb0ad docs(design): correct 6.2 — the keep-oldest gap is closed upstream and live here Joseph Doherty 2026-07-21 14:16:18 -04:00
  • 8838e92d0a fix(tests): StopNodeBAsync also has to stop the node, not just dispose it Joseph Doherty 2026-07-21 10:52:57 -04:00
  • 835fc08c3f fix(tests): stop the integration host from ballooning to 30 GB Joseph Doherty 2026-07-21 10:35:35 -04:00
  • 06b5d81bfb Merge feat/localdb-phase2: alarm store-and-forward on LocalDb + live-gate fixes Joseph Doherty 2026-07-21 10:17:45 -04:00
  • 4caaa11e9e docs(design): fix two staleness artefacts the settled decisions introduced Joseph Doherty 2026-07-21 10:09:10 -04:00
  • fe12ed9d34 docs(design): settle the three open questions on the per-cluster mesh Joseph Doherty 2026-07-21 10:07:00 -04:00
  • f862804a35 docs(design): per-cluster Akka mesh — separate 2-node mesh per application Cluster Joseph Doherty 2026-07-21 06:46:17 -04:00
  • ad385eb70f docs(redundancy): record the per-Akka-cluster role-election limitation Joseph Doherty 2026-07-21 06:18:57 -04:00
  • f9f1b8fcee fix(localdb): phase-2 live gate — 4 production defects found and fixed Joseph Doherty 2026-07-21 06:13:01 -04:00
  • 2e4ccf7fe9 chore(localdb): phase-2 DoD sweep Joseph Doherty 2026-07-21 05:03:57 -04:00
  • 4480a7d755 docs(localdb): record deviations D-6 and D-7 in the phase-2 recon Joseph Doherty 2026-07-21 04:47:35 -04:00
  • f76d1f91e5 docs+chore(localdb): phase-2 rig config + docs Joseph Doherty 2026-07-21 04:43:37 -04:00
  • 271fcc4e15 test(localdb): alarm S&F convergence scenarios Joseph Doherty 2026-07-21 04:39:32 -04:00
  • af545efdf5 feat(localdb): one-time alarm-historian.db migrator Joseph Doherty 2026-07-21 04:31:10 -04:00
  • 71379816e7 feat(localdb): alarm S&F on LocalDb with primary-gated drain (cutover) Joseph Doherty 2026-07-21 04:13:00 -04:00
  • 8a9cb40a72 feat(localdb): alarm_sf_events replicated table Joseph Doherty 2026-07-21 03:58:50 -04:00
  • 124de57e6f docs(localdb): phase-2 recon findings Joseph Doherty 2026-07-21 03:56:06 -04:00
  • 2e46d0544e Merge docs/phase2-stop-condition: Phase 2 Task 0 STOP condition resolved (does not fire) Joseph Doherty 2026-07-21 03:46:56 -04:00
  • f2049a31d0 docs(localdb-phase2): pre-answer Task 0's STOP condition — it does not fire Joseph Doherty 2026-07-21 03:46:56 -04:00
  • d218282cd6 Merge docs/track-deferred-items: track deferred work as issues; fix stale limitation Joseph Doherty 2026-07-21 03:37:26 -04:00
  • 5ebf9876a5 docs: file Gitea issues for every deferred item; correct a stale limitation Joseph Doherty 2026-07-21 03:37:25 -04:00
  • 7808faa7f6 Merge fix/486: fail the apply when the deployment artifact could not be read Joseph Doherty 2026-07-21 03:27:58 -04:00
  • 689fc06e85 docs(486): live-gate the failed-apply fix on docker-dev Joseph Doherty 2026-07-21 03:27:54 -04:00
  • ef41a43102 fix(drivers): fail the apply when the artifact could not be read (#486) Joseph Doherty 2026-07-21 03:22:40 -04:00
  • 5627d325eb Merge docs/485-live-gate: live verification of both #485 fixes Joseph Doherty 2026-07-21 03:02:07 -04:00
  • e4397aa84e docs(485): live-gate both #485 fixes on docker-dev Joseph Doherty 2026-07-21 03:02:02 -04:00
  • 5aad1e33de Merge fix/485 driver-side: keep drivers + subscriptions when an artifact reads back empty Joseph Doherty 2026-07-21 02:40:18 -04:00
  • b0c031f09f fix(drivers): don't tear down field I/O when a deploy's artifact reads back empty (#485) Joseph Doherty 2026-07-21 02:40:14 -04:00
  • c7f5b9cfa3 Merge fix/485: hold the last-known-good address space when a deploy's artifact cannot be read Joseph Doherty 2026-07-21 02:29:43 -04:00
  • 4b0be1335e fix(opcua): hold last-known-good when a deploy's artifact cannot be read (#485) Joseph Doherty 2026-07-21 02:29:39 -04:00
  • 5fdb5a5a5e Merge fix/localdb-phase1-followups: close both LocalDb Phase 1 live-gate follow-ups Joseph Doherty 2026-07-21 02:17:51 -04:00
  • 09df440675 docs(localdb): link the live gate's unrelated finding to issue #485 Joseph Doherty 2026-07-21 02:17:32 -04:00
  • f587e7972e docs(localdb): live-gate the two Phase 1 follow-ups; pin LocalDb 0.1.3 Joseph Doherty 2026-07-21 02:14:00 -04:00
  • 232bff5df7 fix(localdb): close both Phase 1 live-gate follow-ups Joseph Doherty 2026-07-21 01:27:02 -04:00
  • c957db52e2 Merge feat/localdb-phase1: LocalDb Phase 1 pair-local config cache + boot-from-cache + optional replication Joseph Doherty 2026-07-21 01:02:52 -04:00
  • ebc5fc6742 chore(localdb): record live-gate results in tasks.json Joseph Doherty 2026-07-20 23:15:21 -04:00
  • 41c36064dd docs(localdb): phase-1 live-gate evidence (8/8 pass; 4 defects fixed, 2 limitations) Joseph Doherty 2026-07-20 23:10:44 -04:00
  • c6a9f93a0c fix(localdb): re-cache the artifact on RestoreApplied so a wiped node self-heals Joseph Doherty 2026-07-20 22:56:23 -04:00
  • 9137cb41eb fix(localdb): materialise the address space from the cached blob on boot-from-cache Joseph Doherty 2026-07-20 22:38:54 -04:00
  • ce9fa07ff8 fix(localdb): re-bind ASPNETCORE_HTTP_PORTS surface, not just ASPNETCORE_URLS Joseph Doherty 2026-07-20 22:25:31 -04:00
  • 4b2f0e6e15 fix(localdb): map ZB.MOM.WW.LocalDb* to the gitea feed in packageSourceMapping Joseph Doherty 2026-07-20 22:16:16 -04:00
  • c08762db1b chore(localdb): phase-1 DoD sweep Joseph Doherty 2026-07-20 22:11:02 -04:00
  • c834d89ae7 docs(localdb): phase-1 runbook + redundancy/config docs Joseph Doherty 2026-07-20 22:06:58 -04:00
  • 7676ab93c4 chore(localdb): rig config — consolidated path everywhere, replication on the site-a pair Joseph Doherty 2026-07-20 22:04:28 -04:00
  • afa5be713a test(localdb): 2-node convergence harness + scenarios Joseph Doherty 2026-07-20 22:02:03 -04:00
  • 5a21be0a62 test(localdb): DI pins over the real host composition methods Joseph Doherty 2026-07-20 21:51:25 -04:00
  • b350fba233 feat(localdb): replication health check + meter export Joseph Doherty 2026-07-20 21:48:47 -04:00
  • abe10dbbd7 docs(localdb): phase-1 execution progress / resume state (tasks 0-9 done) Joseph Doherty 2026-07-20 21:45:35 -04:00
  • a27eff3298 feat(localdb): boot from the pair-local artifact cache when central SQL is unreachable Joseph Doherty 2026-07-20 11:12:19 -04:00
  • 1becf59168 feat(localdb): DriverHostActor stores applied artifacts in the pair-local cache Joseph Doherty 2026-07-20 11:06:57 -04:00
  • a38a52b831 feat(localdb): chunked deployment-artifact cache over ILocalDb Joseph Doherty 2026-07-20 10:58:27 -04:00
  • 2bae1b4c9f refactor(localdb): delete the dormant LiteDB LocalCache (superseded by ZB.MOM.WW.LocalDb) Joseph Doherty 2026-07-20 10:46:07 -04:00
  • e771a11a30 fix(localdb): rename Runtime.Deployment namespace to Runtime.DeploymentCache Joseph Doherty 2026-07-20 10:42:22 -04:00
  • b9ddf20edd feat(localdb): dedicated h2c listener + MapZbLocalDbSync gated on LocalDb:SyncListenPort Joseph Doherty 2026-07-20 10:39:34 -04:00
  • 6aff9a8332 feat(localdb): wire AddOtOpcUaLocalDb into the driver role Joseph Doherty 2026-07-20 10:35:02 -04:00
  • 3d29be834e feat(localdb): fail-closed bearer interceptor for the sync endpoint Joseph Doherty 2026-07-20 10:28:39 -04:00
  • 3b65c24bfb feat(localdb): deployment-cache schema + OnReady registration Joseph Doherty 2026-07-20 10:28:39 -04:00
  • 44255fcb91 build(localdb): reference ZB.MOM.WW.LocalDb 0.1.1 + Grpc.AspNetCore Joseph Doherty 2026-07-20 10:21:47 -04:00
  • 42f8550716 docs(localdb): phase-1 recon findings Joseph Doherty 2026-07-20 10:17:40 -04:00
  • 1adaa2fc01 chore(auth): bump ZB.MOM.WW.Auth 0.1.1 -> 0.1.5 (family alignment) (#484) dohertj2 2026-07-20 06:06:10 -04:00
  • a5eac3ec78 chore(auth): bump ZB.MOM.WW.Auth 0.1.1 -> 0.1.5 chore/auth-0.1.5 Joseph Doherty 2026-07-20 06:03:10 -04:00
  • be87ddeb0b chore(secrets): bump to Secrets 0.2.3 - visible delete modal (scadaproj#2) Joseph Doherty 2026-07-19 01:22:10 -04:00
  • 5f72ff851d fix(adminui): make /admin/secrets interactive - wrap the Secrets.Ui page with a render mode (#483) Joseph Doherty 2026-07-19 00:22:23 -04:00
  • c878fbbd03 feat(secrets): enable Akka clustered secret replication on the docker-dev rig Joseph Doherty 2026-07-18 16:00:14 -04:00
  • 2254ae3dea fix(secrets): consume Secrets 0.2.2 - clustered-secrets DI deadlock fixed upstream Joseph Doherty 2026-07-18 15:03:35 -04:00
  • 1ccc237cb6 docs(test): record why these assert descriptors, not a built provider feat/secrets-0.2.0 Joseph Doherty 2026-07-18 12:19:50 -04:00
  • b3d1a26f38 fix(secrets): consume Secrets 0.2.1 - Akka replication was inert in 0.2.0 Joseph Doherty 2026-07-18 12:12:02 -04:00
  • 3336ec08c7 feat(secrets): opt-in Akka cluster secret replication (default OFF; upstream blocker documented) Joseph Doherty 2026-07-18 11:15:03 -04:00
  • e27c19c49d feat(secrets): add ZB.MOM.WW.Secrets.Replicator.AkkaDotNet 0.2.0 package reference Joseph Doherty 2026-07-18 05:35:12 -04:00
  • f347762350 chore(secrets): bump ZB.MOM.WW.Secrets 0.1.2 -> 0.2.0 Joseph Doherty 2026-07-18 05:11:37 -04:00
  • 2cae4c8f01 Merge pull request 'feat(alarms): scripted condition Quality from worst-of-input tag quality (#478)' (#480) from feat/scripted-alarm-quality-478 into master dohertj2 2026-07-17 16:08:06 -04:00
  • 043e237dba docs(alarms): state #478 coverage boundary + file Layer-4 comms-loss follow-up (#481) Joseph Doherty 2026-07-17 16:07:55 -04:00
  • 8c5e2be92e feat(alarms): scripted condition Quality from worst-of-input tag quality (#478) Joseph Doherty 2026-07-17 15:56:06 -04:00
  • 6dda0549e2 Merge pull request 'feat(alarms): condition Quality tracks source connectivity (#477)' (#479) from fix/alarm-condition-quality-477 into master dohertj2 2026-07-17 15:18:34 -04:00
  • db751d12a5 feat(alarms): condition Quality tracks source connectivity (#477) Joseph Doherty 2026-07-17 15:10:04 -04:00
  • f6a3c31b60 Merge pull request 'fix(alarms): populate ConditionClassId/ConditionClassName on condition events (#475)' (#476) from fix/alarm-condition-class-fields into master dohertj2 2026-07-17 13:58:39 -04:00
  • e08b6b0e69 fix(alarms): populate ConditionClassId/ConditionClassName on conditions (#475) Joseph Doherty 2026-07-17 00:49:43 -04:00
  • 50426d4790 Merge pull request 'fix(alarms): populate EventType/SourceNode/SourceName on native + scripted conditions (#473)' (#474) from fix/alarm-condition-source-fields into master dohertj2 2026-07-17 00:45:51 -04:00
  • 7339a4af07 fix(alarms): populate EventType/SourceNode/SourceName on conditions (#473) fix/alarm-condition-source-fields Joseph Doherty 2026-07-17 00:36:44 -04:00
  • 872cf7e37a test(secrets): register ISecretResolver in driver-factory resilience tests (Task 10 fix) Joseph Doherty 2026-07-16 18:27:59 -04:00
  • f1534920de test(secrets): G-2c guard AdminUI DriverConfig secret: ref round-trip (Task 9) Joseph Doherty 2026-07-16 18:19:24 -04:00
  • 9bb237b794 feat(secrets): G-2b resolve OpcUaClient secret: Password/UserCertificatePassword (Task 8) Joseph Doherty 2026-07-16 18:14:12 -04:00
  • 1424a21419 feat(secrets): G-2a secret: arm on GalaxySecretRef via ISecretResolver (Task 7) Joseph Doherty 2026-07-16 17:57:04 -04:00
  • ce383df39a docs(secrets): G-5 clustered master-key posture runbook (Task 6) Joseph Doherty 2026-07-16 17:30:32 -04:00
  • a0be76b5f0 feat(secrets): mount /admin/secrets UI + secrets authorization (Task 5, G-6) Joseph Doherty 2026-07-16 17:26:54 -04:00
  • 73d8439412 docs(secrets): G-4 ${secret:} config delivery convention + fail-closed proof (Task 4) Joseph Doherty 2026-07-16 17:14:32 -04:00
  • 8843418c54 feat(secrets): register AddZbSecrets unconditionally on the host (Task 3) Joseph Doherty 2026-07-16 17:07:41 -04:00
  • 772d3a5f34 feat(secrets): add ZB.MOM.WW.Secrets refs + pre-host ${secret:} expander (Tasks 1-2) Joseph Doherty 2026-07-16 17:03:16 -04:00
  • ec6598ceae Merge pull request 'v3 Batch 4 — dual-namespace address space + raw-only runtime binding (v3.0)' (#472) from v3/batch4-address-space into master dohertj2 2026-07-16 14:38:29 -04:00
  • b4b378c5cd docs(v3): Batch 4 PR description — dual-namespace address space (v3.0) v3/batch4-address-space Joseph Doherty 2026-07-16 14:36:30 -04:00
  • e41ffe7655 merge reassert review fixes (M1 skip historian re-record, LOW-3 comment) into v3/batch4-address-space Joseph Doherty 2026-07-16 14:34:08 -04:00