Commit Graph

  • 513fa1aa16 docs(tests): fix CommentChecker findings across tests/ — 13,392 → 0 (repo-wide scan clean) main Joseph Doherty 2026-10-07 15:05:49 -04:00
  • 0ffd4bdbea docs(src): fix CommentChecker findings across src/ — 1,032 → 5 (all false positives) Joseph Doherty 2026-10-07 14:12:25 -04:00
  • 3a217b9484 fix(site-secrets): keep a live node's mirror-status row from losing a race with the peer's prune Joseph Doherty 2026-09-29 11:06:26 -04:00
  • 55e1741075 fix(site-secrets): prune secret_mirror_status rows of decommissioned or renamed nodes Joseph Doherty 2026-09-29 10:56:53 -04:00
  • 2650f79472 test(rig): site secrets gate covers the follow-ups — standby KEK mismatch on the health report, removal audit, CLI exit codes — PASS 9/9 Joseph Doherty 2026-09-28 21:46:49 -04:00
  • 4e6409184c Merge branch 'fix/standby-secret-mirror-status' (M1: standby mirror failures on the health report) Joseph Doherty 2026-09-28 21:37:03 -04:00
  • f5756affef docs(site-secrets): document secret_mirror_status and standby mirror failures on the health report (M1) Joseph Doherty 2026-09-28 21:33:10 -04:00
  • 0289d51137 fix(site-secrets): report every site node's secret mirror failures on the health report (M1) Joseph Doherty 2026-09-28 21:33:10 -04:00
  • 253939cd5d docs(site-secrets): Secrets 0.6.3 is published (not consumed by ScadaBridge) Joseph Doherty 2026-09-28 21:31:05 -04:00
  • 29049c4ef6 fix(site-secrets): contain secret-store outages per site; audit removal-only deploys Joseph Doherty 2026-09-28 21:23:52 -04:00
  • ef03a0dca7 fix(cli): artifact-deploy commands exit 1 when any site failed Joseph Doherty 2026-09-28 21:23:52 -04:00
  • 23a139a46c test(rig): site secrets live gate re-run after final-review fixes — PASS 8/8 Joseph Doherty 2026-09-28 21:11:37 -04:00
  • d641186397 docs(site-secrets): final-review doc fixes — replication prerequisite, upgrade impact, audit shape Joseph Doherty 2026-09-28 21:08:34 -04:00
  • 67a3950f74 fix(site-secrets): one shared secret: reference parser for scanner and MxGateway adapter Joseph Doherty 2026-09-28 21:08:34 -04:00
  • b1b49bb36c fix(site-secrets): mirror secrets before pushing artifact data connections to the DCL Joseph Doherty 2026-09-28 21:08:34 -04:00
  • 6f1787abe1 fix(site-secrets): mirror heals same-revision local drift and isolates unreadable rows Joseph Doherty 2026-09-28 21:08:34 -04:00
  • 9835ef8be3 test(rig): site secrets artifact-deploy live gate PASS 8/8 Joseph Doherty 2026-09-28 20:47:57 -04:00
  • ad19d4b158 fix(site-secrets): ship an empty Secrets list, not null, when a site references no secrets Joseph Doherty 2026-09-28 20:43:36 -04:00
  • 1444f85919 fix(site-secrets): ManagementActorTests build the ArtifactDeploymentService proxy with the new SiteSecretsCollector ctor arg Joseph Doherty 2026-09-28 20:32:26 -04:00
  • 0ccf68951d docs: site secrets ride the artifact deploy; gRPC hub retired in ScadaBridge Joseph Doherty 2026-09-28 20:22:45 -04:00
  • bc29dc412b fix(secrets): review round 1 — pre-host expander reads the same store the runtime serves, raw-string Replication:Enabled parse, leftover-key warning Joseph Doherty 2026-09-28 20:10:17 -04:00
  • 2bac13170c feat(secrets)!: retire the gRPC secrets hub in ScadaBridge — sites get secrets via Deploy Artifacts; rig central on the shared SQL store Joseph Doherty 2026-09-28 19:52:26 -04:00
  • 52cd4fb096 feat(site): artifact apply writes deployed secrets and answers SecretsApplied Joseph Doherty 2026-09-28 19:29:55 -04:00
  • 838fb4177b fix(site): DeployedSecretsMirror — ledger-owned rows recover past clock skew; real-cipher recovery test Joseph Doherty 2026-09-28 19:19:22 -04:00
  • 4d7d6456e3 fix(site): DeployedSecretsMirror — confirm-then-ledger LWW apply, per-row isolation, cache invalidation Joseph Doherty 2026-09-28 19:07:48 -04:00
  • 25c25ccef9 feat(site): DeployedSecretsMirror — per-node apply + decrypt-verify of deployed secrets Joseph Doherty 2026-09-28 18:52:44 -04:00
  • a35ee663c8 feat(site): deployed_secrets (LocalDb-replicated ciphertext) + node-local mirrored_secrets ledger Joseph Doherty 2026-09-28 18:36:49 -04:00
  • 437b02a43c test(artifacts): cover RetryForSiteAsync secrets reconciliation and DeploySiteSecrets audit row (fix round 1) Joseph Doherty 2026-09-28 18:28:27 -04:00
  • 00c89aff12 feat(artifacts): never stamp a site current unless it applied every secret; DeploySiteSecrets audit row Joseph Doherty 2026-09-28 18:20:54 -04:00
  • 75b2a7244c feat(artifacts): central ships each site's referenced secrets (ciphertext) and fails closed on a missing one Joseph Doherty 2026-09-28 18:07:17 -04:00
  • a57c36f504 fix(secrets): review round 1 — gate the clustered-central secrets warning on Replication:Enabled, name the real trigger in the shared-store connection-string message, pin Grpc-vs-Store:Provider precedence Joseph Doherty 2026-09-28 17:56:30 -04:00
  • 35235ecfed feat(secrets): Secrets:Store:Provider=SqlServer — central pair shares one SQL secret store without the hub Joseph Doherty 2026-09-28 17:44:14 -04:00
  • ebc55c5f72 feat(artifacts): secrets and missing-secret markers in the artifact revision hash Joseph Doherty 2026-09-28 17:32:42 -04:00
  • 8aecd55db5 test: pin pre-secrets artifact hash Joseph Doherty 2026-09-28 17:31:17 -04:00
  • 738e458755 test(secrets): cover ReferencedBy dedup within one connection and case-insensitive bootstrap exclusion Joseph Doherty 2026-09-28 17:29:52 -04:00
  • 01cb1f5652 feat(secrets): SecretReferenceScanner derives a site's secret refs from its data-connection configs Joseph Doherty 2026-09-28 17:27:28 -04:00
  • bf7d2db0b1 feat(artifacts): additive Secrets list + SecretsApplied on the artifact deploy contract (proto field 9) Joseph Doherty 2026-09-28 17:22:57 -04:00
  • b6287ae307 docs(plans): site secrets ride the artifact deploy — design + implementation plan Joseph Doherty 2026-09-28 17:17:05 -04:00
  • 2aede140e2 deploy(qa): b3021e7c to vq03/vq04 (55->57, artifacts deployed); SimpleAlarmStatusRequest copied from vd03; register row 126 closed Joseph Doherty 2026-09-28 11:12:05 -04:00
  • 5cc09b08ef deploy(vd03): b3021e7c — script file access live (AllowedRoots E:\ApiInstall\ScadaBridge\recipes); gate 31/31, rig 8/8 Joseph Doherty 2026-09-28 10:45:54 -04:00
  • b3021e7c5f feat(scripts): read-only, allow-listed Files global for site scripts; Delmia test receiver parses recipe files Joseph Doherty 2026-09-28 10:36:42 -04:00
  • 0af0672597 deploy(vd03): fe89363b + migrations 56/57; in-memory MES/Delmia/alarm-API test machines Joseph Doherty 2026-09-28 10:10:17 -04:00
  • fe89363b1a docs(claude): winrm re-enabled for deployment activities only (2026-09-28) Joseph Doherty 2026-09-28 09:25:10 -04:00
  • fad833e8d1 docs(former-api-specs): legacy MES alarm API — code-verified behaviour notes Joseph Doherty 2026-09-28 09:25:10 -04:00
  • fb54ed428b docs(register): row 126 — TODO roll migrations 56/57 (AddAlarmMesReportable, AddSiteArtifactRevision) to vd03/vq03/vq04 with the 55→57 delta script Joseph Doherty 2026-09-14 14:43:18 -04:00
  • ac833f5ace docs: pending-updates plan — all 12 tasks completed; rig gate 13/13 + Playwright 3/3 on the merged tip Joseph Doherty 2026-09-14 14:38:32 -04:00
  • 3a21cfc2f5 fix(central-ui): pending-updates indicator starts polling once the async auth resolve completes Joseph Doherty 2026-09-14 14:29:36 -04:00
  • 623c6d0fe8 fix(rig): verify-pending-updates.sh cannot pass on an empty site list; numeric-safe comparison; earlier cleanup trap Joseph Doherty 2026-09-14 14:20:15 -04:00
  • af9f14a668 fix(central-ui): pending-updates indicator resolves roles/scope once per auth state, not per poll Joseph Doherty 2026-09-14 14:15:49 -04:00
  • 6dc784bca4 docs(cli): site list omits the artifact-revision fields until the first deploy (not null) Joseph Doherty 2026-09-14 14:13:01 -04:00
  • a672f91d90 test(rig): verify-pending-updates.sh + Playwright smoke for the indicator and Sites badge Joseph Doherty 2026-09-14 14:10:24 -04:00
  • 94e1d71ba2 fix(central-ui): Sites page re-check no longer holds the deploy controls; pluralise; clear stale caption on error Joseph Doherty 2026-09-14 14:08:52 -04:00
  • d8979664f1 docs: site artifact revision, pending-updates indicator, rail scroll pane Joseph Doherty 2026-09-14 14:01:07 -04:00
  • c724ed6ee2 feat(central-ui): rail-footer pending-updates indicator Joseph Doherty 2026-09-14 14:00:16 -04:00
  • 5d6bd03868 feat(central-ui): Sites page shows whether a site's deployed artifacts are current Joseph Doherty 2026-09-14 13:59:54 -04:00
  • 3d22f272d3 refactor(deploy): evaluator groups instances by site once; doc corrections Joseph Doherty 2026-09-14 13:55:26 -04:00
  • ada91bb82c feat(central-ui): process-wide single-flight cache for the pending-updates snapshot Joseph Doherty 2026-09-14 13:52:54 -04:00
  • 0287f8f64f fix(deploy): persist the artifact deployment record before the best-effort site stamp Joseph Doherty 2026-09-14 13:51:34 -04:00
  • fc48db480c feat(deploy): PendingUpdatesEvaluator — one fleet snapshot of stale instances and stale-artifact sites Joseph Doherty 2026-09-14 13:49:54 -04:00
  • 3b55d60ef9 fix(deploy): staleness batch logs one Warning per batch, not one per instance Joseph Doherty 2026-09-14 13:48:06 -04:00
  • 5214932447 feat(deploy): hash the per-site artifact set and stamp it on a successful artifact deploy Joseph Doherty 2026-09-14 13:42:51 -04:00
  • dc60ba1212 feat(deploy): batch instance staleness over one flatten session Joseph Doherty 2026-09-14 13:40:19 -04:00
  • dd202e5dde feat(sites): record the artifact revision last deployed to a site Joseph Doherty 2026-09-14 13:33:59 -04:00
  • 0762d69132 fix(central-ui): rail nav scrolls in its own pane so the footer stays pinned Joseph Doherty 2026-09-14 13:31:19 -04:00
  • 47e20dd8a8 docs(plans): pending-updates design + plan (site artifact staleness, rail indicator, scrollable nav) Joseph Doherty 2026-09-14 13:28:49 -04:00
  • 9d529b82b2 fix(central-ui): nest Flow Debugger inside the Deployment nav section Joseph Doherty 2026-09-11 12:28:42 -04:00
  • 18ebfe7194 docs(design): MES-reportable alarm flag — status merged + rig gate PASS Joseph Doherty 2026-09-11 10:46:26 -04:00
  • 4cfa645bfb docs: MES-reportable alarm flag plan — all 16 tasks completed Joseph Doherty 2026-09-11 10:46:05 -04:00
  • 6ac95ea888 fix(template-engine): carry IsMesReportable onto derived-template placeholder alarms and through descendant reconcile; final-review doc fixes Joseph Doherty 2026-09-11 10:45:09 -04:00
  • 421d2d305e feat(docker): seed + verify scripts for the MES-reportable alarm demo — rig live gate PASS Joseph Doherty 2026-09-11 10:33:40 -04:00
  • 17d9a4cd2c feat(scripts): ScriptAlarm.IsMesReportable + Alarms.MesReportableAsync() mirrored on both compile surfaces Joseph Doherty 2026-09-11 10:12:47 -04:00
  • ce8fc092c8 docs: MES-reportable alarm flag — component docs, CLAUDE.md, register rows 121–122 Joseph Doherty 2026-09-11 10:16:47 -04:00
  • f1a7c34b69 feat(cli): --mes-reportable on template alarm add/update and instance alarm-override set Joseph Doherty 2026-09-11 10:08:28 -04:00
  • c259614a78 fix(ui): Task 11 review — verify false override end-to-end, move HasOverrideDelta to the partial, label wording Joseph Doherty 2026-09-11 10:11:53 -04:00
  • cbb5e83633 feat(site-runtime): stamp IsMesReportable on the Instance Actor alarm snapshot Joseph Doherty 2026-09-11 09:59:27 -04:00
  • 735534a455 feat(ui): tri-state MES reportable override on Instance Configure (reportable-only override is a delta) Joseph Doherty 2026-09-11 10:05:05 -04:00
  • 63ec226582 feat(management): IsMesReportable on alarm commands, IsMesReportableOverride on SetInstanceAlarmOverride Joseph Doherty 2026-09-11 10:04:17 -04:00
  • c8a1bcef98 feat(ui): MES reportable checkbox on the template alarm dialog + MES column on the Alarms tab Joseph Doherty 2026-09-11 10:03:49 -04:00
  • 43973d34de feat(transport): carry IsMesReportable / IsMesReportableOverride through bundles (round-trip guard extended) Joseph Doherty 2026-09-11 10:00:00 -04:00
  • af10af1573 feat(template-engine): persist IsMesReportable on alarm update; IsMesReportableOverride on SetAlarmOverrideAsync Joseph Doherty 2026-09-11 09:56:54 -04:00
  • 30a23458e9 feat(config-db): AddAlarmMesReportable migration (TemplateAlarms.IsMesReportable, InstanceAlarmOverrides.IsMesReportableOverride) Joseph Doherty 2026-09-11 09:55:47 -04:00
  • 54e21a8107 feat(template-engine): flatten IsMesReportable with null-inherits override semantics Joseph Doherty 2026-09-11 09:55:11 -04:00
  • b07394447f feat(commons): IsMesReportable on TemplateAlarm, ResolvedAlarm; IsMesReportableOverride on InstanceAlarmOverride Joseph Doherty 2026-09-11 09:52:34 -04:00
  • 73f2a032e0 docs: MES-reportable alarm flag — design + 16-task implementation plan Joseph Doherty 2026-09-11 09:50:54 -04:00
  • da0084886a docs: note that psbridge and winrm remote access to the wonder boxes are disabled (2026-09-11) Joseph Doherty 2026-09-11 09:05:36 -04:00
  • 31b1b8db76 docs(#36): design doc §8/§10 — live-gate results and the String-node retarget Joseph Doherty 2026-09-10 15:54:11 -04:00
  • 29ca6b15ab docs(#36): rig live gate PASS (two runs, reset echo held 751 ms on run 2); seed retargeted to String nodes; register row 120 — OPC UA scalar writes go out as String variants Joseph Doherty 2026-09-10 15:53:51 -04:00
  • 3595f00dad test(site-runtime): HandshakeResetEchoTests — label the legacy pin as permanent behaviour (#36 review) Joseph Doherty 2026-09-10 15:36:28 -04:00
  • 17d5d3e639 fix(scripts): reset-aware handshake refuses a null reset value; document additive timeouts (#36 review) Joseph Doherty 2026-09-10 15:35:50 -04:00
  • 637da6c020 docker(seed-handshake-demo): System.-qualify TimeSpan/StringComparison to match the sibling seed (#36 review) Joseph Doherty 2026-09-10 15:30:40 -04:00
  • 465a9d711a docker: seed-handshake-demo.sh — live gate for the reset-aware handshake over real OPC UA flags (#36) Joseph Doherty 2026-09-10 15:28:00 -04:00
  • 4e335891b4 test(site-runtime): traced reset-aware handshake emits four ordered step rows (#36) Joseph Doherty 2026-09-10 15:27:25 -04:00
  • b623fdb05e feat(scripts): reset-aware Attributes.WriteBatchAndWaitAsync overload + deploy-gate mirror (#36) Joseph Doherty 2026-09-10 15:27:00 -04:00
  • 03c8a01dd1 test(site-runtime): pin #36 — reset-aware handshake holds the batch until the reset echo lands Joseph Doherty 2026-09-10 15:26:37 -04:00
  • 4db2f3e76e feat(central-ui): Test Run sandbox mirrors the reset-aware WriteBatchAndWaitAsync (#36) Joseph Doherty 2026-09-10 15:22:38 -04:00
  • ae23c40a74 docs: reset-aware handshake — spec note, component doc, Delmia/Ipsen notes, register row 119, CLAUDE.md (#36) Joseph Doherty 2026-09-10 15:20:21 -04:00
  • 13f9f73033 feat(flow-debugger): predict the reset write + echo wait of the reset-aware handshake (#36) Joseph Doherty 2026-09-10 15:18:59 -04:00
  • f7504a9499 feat(site-runtime): WriteBatchResetAndWait — reset write + echo wait gate the batch/trigger (#36) Joseph Doherty 2026-09-10 15:22:29 -04:00
  • e5c536c6b7 feat(commons): HandshakePhase + HandshakeResult for the reset-aware handshake (#36) Joseph Doherty 2026-09-10 15:18:10 -04:00
  • 9bb373c4a1 docs(scripts): implementation plan for #36 — reset-aware WriteBatchAndWaitAsync handshake Joseph Doherty 2026-09-10 15:15:27 -04:00