Commit Graph

  • b3dc17a5fe Merge feat/site-node-health: serve health on site nodes + shared active-node check (Health 0.3.0) main Joseph Doherty 2026-07-24 13:35:27 -04:00
  • 1c9159a7ce fix(tests): qualify Health page type — Communication.Health namespace shadowed it Joseph Doherty 2026-07-24 13:35:24 -04:00
  • 5d4853a1f0 refactor(health): adopt the shared active-node check (Health 0.3.0) Joseph Doherty 2026-07-24 13:21:58 -04:00
  • c1216044a4 docs(cluster): document the #33 bootstrap guard; disabled BootstrapGuard block in Host appsettings Joseph Doherty 2026-07-24 08:57:44 -04:00
  • 248676ed16 feat(cluster): simultaneous-cold-start split-brain guard (#33) Joseph Doherty 2026-07-24 08:55:48 -04:00
  • 47850c0f53 feat(health): serve MapZbHealth on site nodes Joseph Doherty 2026-07-24 05:54:30 -04:00
  • bb138d5254 docs: add env_variables.md — full environment-variable inventory Joseph Doherty 2026-07-24 05:02:24 -04:00
  • 9a12826172 docs(plans): OtOpcUa v3 native-alarm B/C live-gate PASS (#14) — no code needed; item C premise obsolete (Gitea #17) Joseph Doherty 2026-07-24 04:33:20 -04:00
  • 86d129de6c fix(dcl): harden endpoint host-rewrite — IPv6 brackets + portless URLs Joseph Doherty 2026-07-23 16:58:44 -04:00
  • dbec3ee263 docs(plans): OtOpcUa v3 raw-path live-gate PASS (#14) — fix validated live, B/C deferred Joseph Doherty 2026-07-23 16:54:48 -04:00
  • a1abbff760 fix(dcl): rewrite advertised OPC UA endpoint host to the reachable one Joseph Doherty 2026-07-23 16:43:45 -04:00
  • 266f001a2e docs(plans): OtOpcUa v3 dual-namespace cutover scope + phase-2 plan (#14) Joseph Doherty 2026-07-23 15:22:22 -04:00
  • e04c2617cc feat(ui): warn on bare ns= node bindings in the browse picker (v3 cutover #14) Joseph Doherty 2026-07-23 15:18:36 -04:00
  • 97afa84fcd docs(dcl): sweep ns= examples to durable nsu= form (v3 cutover #14) Joseph Doherty 2026-07-23 15:17:13 -04:00
  • 0eb44314cb feat(dcl): add OpcUaReferenceForm.IsDurable — flags bare ns= bindings (v3 cutover #14) Joseph Doherty 2026-07-23 15:16:47 -04:00
  • a5256e9b12 chore(comm): delete dead IntegrationCallRequest routing (Gitea #32) Joseph Doherty 2026-07-23 14:27:32 -04:00
  • e0f105c3b3 docs(env2): live-gate docker-env2 on the gRPC PSK build — PASS 3/3 (Gitea #31) Joseph Doherty 2026-07-23 14:10:22 -04:00
  • 8524a7f746 test(sms-e2e): valid Twilio SID fixture so the create path passes (Gitea #29) Joseph Doherty 2026-07-23 13:56:12 -04:00
  • c4dcd9bc02 fix(transport): run bundle import inside the execution strategy (Gitea #28) Joseph Doherty 2026-07-23 13:55:09 -04:00
  • 9f91e84d83 docs(grpc): Phase 5 live gate — PASS (8/8), migration complete Joseph Doherty 2026-07-23 13:35:16 -04:00
  • 7fd5cb2b56 feat(comm): Phase 4 — delete Akka ClusterClient site↔central transport, gRPC-only Joseph Doherty 2026-07-23 12:54:32 -04:00
  • 3a8ddb7087 docs(known-issues): link IntegrationCallRequest dead-code note to Gitea #32 Joseph Doherty 2026-07-23 11:52:52 -04:00
  • 54da10dc00 docs(grpc): Phase 3 live gate — PASS; central→site command cutover Joseph Doherty 2026-07-23 11:45:12 -04:00
  • a54602c14a docs(grpc): Phase 2 live gate — PASS; site→central S&F cutover soak Joseph Doherty 2026-07-23 11:31:09 -04:00
  • 2fa5e93c73 docs(plans): tick 1B DoD (proportionate rig gate PASS) feat/grpc-sitecommand Joseph Doherty 2026-07-22 22:38:38 -04:00
  • 01693b13db docs(grpc): Phase 1B live gate — PASS (proportionate); central→site rides authenticated gRPC for 3 sites; records the central-wide SiteTransport finding Joseph Doherty 2026-07-22 22:38:21 -04:00
  • 86ad4d5c8e feat(comm): T1B.3 — central-side gRPC site-command transport seam (default Akka) Joseph Doherty 2026-07-22 19:41:42 -04:00
  • 518c699b90 feat(comm): extract SiteCommandDispatcher; site serves commands over gRPC too (T1B.2) Joseph Doherty 2026-07-22 19:10:44 -04:00
  • 59b13d317b feat(grpc): T1B.1 — site_command.proto + SiteCommandDtoMapper + round-trip goldens Joseph Doherty 2026-07-22 18:39:54 -04:00
  • aa60f43866 Merge Phase 1A: site→central control plane over gRPC (PR #26) Joseph Doherty 2026-07-22 20:01:42 -04:00
  • f7c7811940 docs(grpc): Phase 1A live gate — PASS (3 RPCs + restart-reconcile + coexistence); records the Kestrel-drop defect feat/grpc-central-control Joseph Doherty 2026-07-22 19:55:09 -04:00
  • 0e162cb250 fix(grpc): central Kestrel gRPC listener was dropping the :5000 HTTP surface (T1A.2 regression) Joseph Doherty 2026-07-22 19:50:32 -04:00
  • aa49a1d078 docs(plans): tick T1B.3/T1B.4 — central site-command transport seam complete (3be85f19) Joseph Doherty 2026-07-22 19:43:58 -04:00
  • 81ced76654 docs(plans): tick T1A.3/T1A.4 — site ICentralTransport seam complete (33b15f10) Joseph Doherty 2026-07-22 19:31:05 -04:00
  • 33b15f10a4 feat(grpc): site-side ICentralTransport seam + gRPC transport (T1A.3) Joseph Doherty 2026-07-22 19:29:14 -04:00
  • 9f2c96f486 docs(plans): tick T1B.2 — SiteCommandDispatcher + site gRPC command service (cd6c20e1) Joseph Doherty 2026-07-22 19:12:45 -04:00
  • fc398b47d3 docs(plans): tick T1A.2 — central CentralControlService hosting + per-site auth (780bb9c3) Joseph Doherty 2026-07-22 18:55:28 -04:00
  • 780bb9c369 feat(grpc): host CentralControlService on the central node (T1A.2) Joseph Doherty 2026-07-22 18:53:59 -04:00
  • c90b353820 docs(plans): tick T1B.1 — site_command.proto + mapper + 194 goldens (a7481174) Joseph Doherty 2026-07-22 18:41:22 -04:00
  • c615ba5f78 docs(plans): tick T1A.1 — central_control.proto + mapper + 32 goldens (d7455577) Joseph Doherty 2026-07-22 18:31:18 -04:00
  • d7455577a8 feat(grpc): central_control.proto + DTO mapper for the 7 site→central control RPCs (T1A.1) Joseph Doherty 2026-07-22 18:28:27 -04:00
  • aa7c5cd138 docs(plans): tick Phase 0 DoD — PR #25 merged to main @ 3fa95555 Joseph Doherty 2026-07-22 18:12:01 -04:00
  • 3fa955556d docs(grpc): record the Playwright result and root-cause both failures feat/grpc-phase0-psk Joseph Doherty 2026-07-22 18:09:07 -04:00
  • 6ef8c7d70a docs(grpc): Phase 0 live gate PASS — record results, the inert-gate defect, and the trap for phases 1A/1B Joseph Doherty 2026-07-22 18:01:11 -04:00
  • 228ff8b428 fix(grpc): one public constructor on ControlPlaneAuthInterceptor — two made the gate inert Joseph Doherty 2026-07-22 17:56:51 -04:00
  • 2ee84af1c0 feat(grpc): PSK-authenticate the site gRPC control plane; drop the vestigial management receptionist registration Joseph Doherty 2026-07-22 17:51:09 -04:00
  • f1ad967083 docs(plans): ClusterClient→gRPC-only migration plan (phases 0–5 + tasklist) Joseph Doherty 2026-07-22 17:10:33 -04:00
  • 654df8abc2 docs(cluster): site-pair manual failover runbook + component spec Joseph Doherty 2026-07-22 07:49:51 -04:00
  • c8e2f4da02 feat(cluster): site-pair manual failover relayed from the central UI (Task 10) Joseph Doherty 2026-07-22 07:48:56 -04:00
  • d66e0d585f chore(plans): mark self-first ordering + manual failover tasks complete (live gate PASS) Joseph Doherty 2026-07-22 07:14:11 -04:00
  • caf14a3e03 feat(ui): admin manual-failover control on the health page Joseph Doherty 2026-07-22 07:00:10 -04:00
  • f679d5c749 feat(cluster): manual central failover service — graceful Leave of the oldest Up member Joseph Doherty 2026-07-22 06:55:15 -04:00
  • eca69505bc docs(plans): record the self-form watchdog rejection and the self-first ordering that replaced it Joseph Doherty 2026-07-22 06:33:28 -04:00
  • 4a6341d871 feat(cluster): self-first seed ordering closes the boot-alone outage gap Joseph Doherty 2026-07-22 06:32:00 -04:00
  • 69b3ccfc37 docs(components): correct the three component docs against the code they describe Joseph Doherty 2026-07-21 18:45:56 -04:00
  • cf3bd52f93 feat(cluster): auto-down downing strategy — either-node crash now fails over (owner decision 2026-07-21: availability over partition-safety) Joseph Doherty 2026-07-21 10:53:40 -04:00
  • dced0d2794 fix(deps): pin System.Security.Cryptography.Xml 10.0.10 — four new NU1903 advisories on the 10.0.7 DataProtection transitive broke fresh restores (docker image build) Joseph Doherty 2026-07-21 10:53:26 -04:00
  • 34227991ea docs(claude): correct five understatements about the inter-cluster boundary Joseph Doherty 2026-07-21 10:00:01 -04:00
  • 9d925c3347 Merge chore/localdb-0.1.3: pin ZB.MOM.WW.LocalDb 0.1.3 Joseph Doherty 2026-07-21 02:19:13 -04:00
  • 8c6fc2f886 chore(localdb): pin ZB.MOM.WW.LocalDb 0.1.3 (rebuilt-peer replication fixes) Joseph Doherty 2026-07-21 01:34:42 -04:00
  • 62cddcfa56 fix(audit): let an unresolvable cached row leave the drain queue fix/cached-telemetry-drain-hot-loop Joseph Doherty 2026-07-20 06:29:22 -04:00
  • 28ca04d7de LocalDb adoption Phase 1 + 2: consolidate the site database, delete the bespoke replicators (#23) dohertj2 2026-07-20 06:06:04 -04:00
  • 7621b48925 docs(known-issues): cached-telemetry drain hot-loops on a missing tracking snapshot feat/localdb-phase2 Joseph Doherty 2026-07-20 05:59:35 -04:00
  • 7b5a5a6f34 docs(localdb): phase 2 truth pass across both repos Joseph Doherty 2026-07-20 05:37:48 -04:00
  • 158e79bb50 docs(localdb): phase 2 live gate evidence — all 10 checks pass Joseph Doherty 2026-07-20 05:20:54 -04:00
  • 3c87b11bcf docs(localdb): phase 2 live gate evidence (INCOMPLETE — 5 of 10) Joseph Doherty 2026-07-20 05:10:43 -04:00
  • 166f07fa68 chore(localdb): adopt LocalDb 0.1.1 and drop the directory shim Joseph Doherty 2026-07-20 04:58:20 -04:00
  • 9ec7966dac docs(localdb): task state for tasks 17-19 Joseph Doherty 2026-07-20 04:42:16 -04:00
  • 921edab454 chore(docker): size the site-a oplog caps from the phase 2 soak Joseph Doherty 2026-07-20 04:41:47 -04:00
  • 15013156bf test(localdb): two-node convergence for config tables + sf_messages Joseph Doherty 2026-07-20 04:41:01 -04:00
  • 605e56829e chore(config): retire ReplicationEnabled, make legacy db paths migration-only Joseph Doherty 2026-07-20 04:35:11 -04:00
  • 3364145d63 docs(localdb): resume state through the cutover (tasks 1-16 done, task 17 next) Joseph Doherty 2026-07-20 04:22:30 -04:00
  • 0ad11d6b55 docs(localdb): task state for the 14/15/16 cutover Joseph Doherty 2026-07-20 04:20:17 -04:00
  • 037798b367 feat(localdb)!: replicate site config + sf_messages via CDC, delete the bespoke replicators Joseph Doherty 2026-07-20 04:20:05 -04:00
  • df0c6031ba docs(localdb): task state for tasks 10-13 + deviations Joseph Doherty 2026-07-20 04:03:48 -04:00
  • 79ce51612e test(site): pin the active-node notification-config purge; scope the guarded write Joseph Doherty 2026-07-20 04:03:00 -04:00
  • c56bf4ae65 test(localdb): port resync + config replication intents as CDC convergence specs Joseph Doherty 2026-07-20 03:54:42 -04:00
  • 2bbe66311d test(localdb): port store-and-forward replication intents as CDC convergence specs Joseph Doherty 2026-07-20 03:50:48 -04:00
  • 0dbfefba62 docs(localdb): task state for tasks 7-9 + deviations Joseph Doherty 2026-07-20 03:40:59 -04:00
  • 5ddc7eed6d feat(localdb): migrate legacy scadabridge.db config tables into the consolidated DB Joseph Doherty 2026-07-20 03:40:31 -04:00
  • bdc0dffea2 feat(localdb): migrate legacy store-and-forward.db into the consolidated DB Joseph Doherty 2026-07-20 03:32:10 -04:00
  • f8aa02e2a9 feat(localdb): create config + sf_messages tables in the consolidated DB Joseph Doherty 2026-07-20 03:28:05 -04:00
  • fefbbb31da docs(localdb): resume state through wave 2 (tasks 1-6 done, wave 3 next) Joseph Doherty 2026-07-20 03:14:18 -04:00
  • 19ab0ac913 chore(localdb): record tasks 5-6 completion, the latent directory defect, and the CreateConnection contract change Joseph Doherty 2026-07-20 03:06:06 -04:00
  • f2efeb37b7 refactor(sf,site): both stores take ILocalDb instead of a connection string Joseph Doherty 2026-07-20 03:05:45 -04:00
  • 3dfb288b74 chore(localdb): record tasks 3-4 completion and their deviations in the task state Joseph Doherty 2026-07-20 02:21:09 -04:00
  • ac5eb12cce refactor(site): extract SiteStorageSchema.Apply from SiteStorageService Joseph Doherty 2026-07-20 02:20:50 -04:00
  • 9e3239c5d9 refactor(sf): extract StoreAndForwardSchema.Apply from the storage class Joseph Doherty 2026-07-20 02:18:05 -04:00
  • 12eb97e07a docs(localdb): close the phase 2 gate — questions answered, plan written Joseph Doherty 2026-07-20 02:15:53 -04:00
  • d512572dac docs(localdb): phase 2 resume state — where the plan stands and what carries forward Joseph Doherty 2026-07-20 02:01:42 -04:00
  • 8652eab98e fix(localdb): root-cause the soak disk-I/O failure + ship the hardening follow-ups Joseph Doherty 2026-07-20 02:01:00 -04:00
  • e9e11d635e docs(known-issues): root-cause brief for the LocalDb disk-I/O-error-under-load defect Joseph Doherty 2026-07-20 01:11:08 -04:00
  • 82c869a1df docs(localdb): record the phase 2 task-1 gate verdict in the task record Joseph Doherty 2026-07-20 01:07:18 -04:00
  • fc553bd9ba docs(localdb): phase 2 rig soak findings — GATE FAILS on a phase 1 defect Joseph Doherty 2026-07-20 01:06:59 -04:00
  • cf46e59680 fix(rig): seed LDAP group mappings with the canonical role names Joseph Doherty 2026-07-19 17:55:04 -04:00
  • 25463d522f docs(localdb): phase 2 plan review pass — corrections from code verification Joseph Doherty 2026-07-19 17:27:11 -04:00
  • f6ca82a9e2 docs(localdb): phase 2 implementation plan (21 tasks, full scope) Joseph Doherty 2026-07-19 15:04:37 -04:00
  • b64857c8d6 docs(localdb): Phase 2 gate + final Phase 1 task record feat/localdb-phase1 Joseph Doherty 2026-07-19 10:00:50 -04:00
  • 568735a41e docs(localdb): Phase 1 truth pass Joseph Doherty 2026-07-19 09:51:55 -04:00
  • 95c108f1d7 fix(localdb): allowlist the replication meter + record the Task 12 live gate Joseph Doherty 2026-07-19 09:50:11 -04:00