Commit Graph

  • 8af5742406 docs(raw): live /run gate PASSED for the raw-modal picker live config; records Gitea #539 Joseph Doherty 2026-08-05 04:32:38 -04:00
  • d88e42b8c4 merge: raw modals feed pickers the live merged device config (#468 follow-up closed) Joseph Doherty 2026-08-05 03:51:37 -04:00
  • 4b88dc6f9a docs(raw): final-review nits — commit count, closed cross-reference, forced accessibility asymmetry Joseph Doherty 2026-08-05 03:51:30 -04:00
  • c1e8762cd4 docs(raw): close the #468 follow-up — raw modals now feed pickers live merged config Joseph Doherty 2026-08-05 03:45:30 -04:00
  • 2c19a50bf9 fix(raw): a superseded manual-entry open can no longer feed the pickers another device's config Joseph Doherty 2026-08-05 03:38:25 -04:00
  • 4e3a6e8497 fix(raw): a stale open can no longer feed the picker another device's config Joseph Doherty 2026-08-05 03:36:04 -04:00
  • c1c21f3ff8 test(raw): pin the manual-entry accessor as live, not a captured snapshot Joseph Doherty 2026-08-05 03:33:13 -04:00
  • a2093b4400 fix(raw): manual tag entry feeds each row's picker the merged device config (#468 follow-up) Joseph Doherty 2026-08-05 03:25:13 -04:00
  • abb9f8a1cb fix(raw): tag edit modal feeds the picker the merged device config, not '{}' (#468 follow-up) Joseph Doherty 2026-08-05 03:25:13 -04:00
  • e698aee401 test(raw): FakeRawTreeService for raw-modal component tests Joseph Doherty 2026-08-05 03:21:23 -04:00
  • ebcf73f72c docs(plan): implementation plan for the raw-modal picker live-config fix Joseph Doherty 2026-08-05 03:19:04 -04:00
  • 3b9009da47 docs(drivers): tracker catches up with the #468 gate closure; design for the last dangling follow-up Joseph Doherty 2026-08-05 03:14:31 -04:00
  • 3c6607d734 docs(deferment): reconcile the register with reality — the tracker is empty Joseph Doherty 2026-08-04 13:30:56 -04:00
  • 4bdce91002 docs(historian): live gate for #537 and #538 — both PASSED Joseph Doherty 2026-08-04 12:36:19 -04:00
  • e7fbe97759 fix(historian): gate historization capture on the Primary, quarantine a poison tag (#537, #538) Joseph Doherty 2026-08-04 12:12:16 -04:00
  • e77ea4aa73 docs(historian): close #491 — read-back and EnsureTags proven against wonder-sql-vd03 Joseph Doherty 2026-08-04 11:29:15 -04:00
  • ad74473452 fix(historian): the recorder died on its first value — live gate for continuous historization (#491) Joseph Doherty 2026-08-01 19:57:37 -04:00
  • 6b3da93151 fix(browse): commit the browsed data type, and fix the probe classification the fixture was hiding (#536) Joseph Doherty 2026-08-01 15:20:07 -04:00
  • c2c3c52274 fix(abcip): unblock the controller-browse gate, and fix the decoder it exposed (#468) Joseph Doherty 2026-08-01 12:25:15 -04:00
  • 1a1dbc3f00 fix(uns): enforce the UNS segment rule on every authoring path (#535) Joseph Doherty 2026-08-01 11:53:58 -04:00
  • 9303289d05 docs(plan): correct the self-form watchdog record — rejected, TCP guard was interim Joseph Doherty 2026-08-01 11:09:57 -04:00
  • a88cefd5ee docs(security): close the stage-7 gate's UNS gap — legs 12-15 Joseph Doherty 2026-08-01 11:03:57 -04:00
  • 3796c0bf22 merge: ACL scope picker + authoring-time resolution (#520 stage 7) Joseph Doherty 2026-08-01 10:53:37 -04:00
  • d542ab5b7c feat(security): author ACL grants from the real tree, not free text (#520 stage 7) Joseph Doherty 2026-08-01 10:53:31 -04:00
  • d4389f57a2 merge: node ACL enforcement on read, browse and subscribe (#520 stage 6) Joseph Doherty 2026-08-01 10:00:19 -04:00
  • c4f537a60c docs(security): record the stage 6 live gate — PASSED on docker-dev Joseph Doherty 2026-08-01 09:52:42 -04:00
  • 2aa42f90eb fix(security): the ACL startup warning described stage 5's scope, not stage 6's Joseph Doherty 2026-08-01 09:43:40 -04:00
  • 8cdbcb9823 fix(security): resolve the event-subscribe gate's source through IsHandleInNamespace Joseph Doherty 2026-08-01 09:42:32 -04:00
  • ce404df970 fix(security): count only this page's references in the browse-filter summary Joseph Doherty 2026-08-01 09:39:51 -04:00
  • 00aa486677 feat(security): enforce node ACLs on read, browse and subscribe (#520 stage 6) Joseph Doherty 2026-08-01 09:22:12 -04:00
  • 1ccc74005a merge: node ACL enforcement on write, alarms and HistoryRead (#520 stage 5) Joseph Doherty 2026-08-01 08:35:17 -04:00
  • f692f6afe4 feat(security): enforce node ACLs on write, alarms and HistoryRead (#520 stage 5) Joseph Doherty 2026-08-01 05:00:28 -04:00
  • 9499099028 merge: ACL scope model + role/identity fixes + four real test failures (#520 s3, #532, #533, #534) Joseph Doherty 2026-08-01 02:37:47 -04:00
  • 01538464b7 fix(abcip,ablegacy): honour the authored EtherNet/IP port (#534) Joseph Doherty 2026-08-01 02:24:30 -04:00
  • b13bdc154a test(ablegacy): deploy the PCCC fixture, one port per family (#534) Joseph Doherty 2026-08-01 02:18:53 -04:00
  • df340b8bba fix(tests): three real failures the integration suite had stopped catching Joseph Doherty 2026-08-01 02:09:15 -04:00
  • 06c56d7719 fix(cluster,acl): OTOPCUA_ROLES fallback + one string-identity rule (#532, #533) Joseph Doherty 2026-08-01 01:51:22 -04:00
  • 3a6b2a1daf feat(acl): variable-depth scope model + the scopePaths producer (#520 stage 3) Joseph Doherty 2026-08-01 01:07:59 -04:00
  • fbe7403ca5 merge: API-key identity on the OPC UA data plane, keys+ACLs via the artifact (#520 stages 1-2, 4) Joseph Doherty 2026-08-01 00:28:22 -04:00
  • a438ac1640 feat(acl): keys + ACLs reach driver-only nodes via the artifact (#520 stage 4) Joseph Doherty 2026-07-31 14:37:18 -04:00
  • c1771dc271 docs(acl): correct the API-key revocation warning after live verification (#520) Joseph Doherty 2026-07-31 14:06:13 -04:00
  • 54b06aab33 test(acl): docker-dev pepper + live gate for the API-key identity path (#520) Joseph Doherty 2026-07-31 13:47:13 -04:00
  • 087a969ee6 feat(acl): API key minting — AdminUI page + admin service (#520) Joseph Doherty 2026-07-31 13:40:34 -04:00
  • dd939d3c97 feat(acl): anonymous becomes a normal grantable principal (#520 D3) Joseph Doherty 2026-07-31 13:20:14 -04:00
  • 65fda7237f refactor(acl): delete the LDAP data-plane authenticator and its tests (#520) Joseph Doherty 2026-07-31 13:08:50 -04:00
  • 0329fa4d4b feat(acl): API-key identity replaces LDAP on the OPC UA data plane (#520) Joseph Doherty 2026-07-31 12:57:51 -04:00
  • f88eb49bd1 feat(acl): ApiKey entity + key format, and put Core on the server's graph (#520) Joseph Doherty 2026-07-31 12:27:28 -04:00
  • 4d376f727f refactor(acl): NodeAcl.LdapGroup -> Principal, with the proc that reads it (#520) Joseph Doherty 2026-07-31 12:17:57 -04:00
  • 804c32e5c0 docs(acl): design for API-key identity + node ACL enforcement (#520) Joseph Doherty 2026-07-31 12:12:35 -04:00
  • 112f62e5aa merge: close #489 — raw rename rebinds live, fixed by #516's respawn Joseph Doherty 2026-07-31 12:00:17 -04:00
  • be3152e184 docs(raw): record that a raw rename rebinds live — #489 closed as fixed-by-#516 Joseph Doherty 2026-07-31 12:00:17 -04:00
  • 916f0f79f6 merge: comms-loss watchdog — DisconnectObserved gets its first production sender (#527) Joseph Doherty 2026-07-31 10:58:44 -04:00
  • 5a7a08deca fix(drivers): detect mid-run comms loss and recover from it (#527) Joseph Doherty 2026-07-31 10:58:38 -04:00
  • 9fa701b14b merge: Sql browser layering (#526), IDriver dead-surface removal (#525), scripted-alarm comms-loss quality (#481) Joseph Doherty 2026-07-31 10:02:59 -04:00
  • 6cd91cc30a docs(alarms): record the #481 live-gate finding — the comms-loss signal never fires (#527) Joseph Doherty 2026-07-31 09:54:47 -04:00
  • c81cef39f5 feat(alarms): bridge driver comms-loss into scripted-alarm input quality (#481) Joseph Doherty 2026-07-31 09:21:11 -04:00
  • b815446940 refactor(drivers): delete GetMemoryFootprint / FlushOptionalCachesAsync (#525) Joseph Doherty 2026-07-31 09:07:11 -04:00
  • 803f4e6efe refactor(sql): split ISqlDialect/SqlServerDialect into a .Dialect leaf (#526) Joseph Doherty 2026-07-31 08:38:57 -04:00
  • 857a10b4f7 merge: MQTT primary-host STATE (#511) + structured-metric flattening (#515) Joseph Doherty 2026-07-31 08:14:11 -04:00
  • c74ccc55b5 feat(mqtt): flatten Sparkplug Template/DataSet metrics to sibling tags (#515) Joseph Doherty 2026-07-31 08:14:04 -04:00
  • 7f2108dcf2 feat(mqtt): Sparkplug primary-host STATE publishing, Primary-gated (#511) Joseph Doherty 2026-07-31 07:17:17 -04:00
  • 2a7d11674f merge: MQTT tracker batch — #508, #509, #510, #512, #513, #514 Joseph Doherty 2026-07-31 06:42:12 -04:00
  • 72be19225d feat(mqtt): write-through (IWritable) — Plain publish + Sparkplug NCMD/DCMD (#508) Joseph Doherty 2026-07-31 06:33:23 -04:00
  • 7f53bd96ec fix(mqtt): close #509, #510, #512, #513, #514 Joseph Doherty 2026-07-31 06:17:18 -04:00
  • 3207089f01 merge: close #517 (health-write ordering) and #519 (status sub-codes reach clients) Joseph Doherty 2026-07-31 05:25:35 -04:00
  • 2d20aeb779 fix(opcua,drivers): carry driver status sub-codes to clients (#519) + health-write ordering (#517) Joseph Doherty 2026-07-31 05:25:27 -04:00
  • ba85e871df merge: close #524 (drop dead resilience-status table) Joseph Doherty 2026-07-31 04:25:18 -04:00
  • a265935444 docs(deferment): #524 closed; #525 recommendation withdrawn mid-execution Joseph Doherty 2026-07-31 04:25:18 -04:00
  • d979ac69eb refactor(config): drop the dead DriverInstanceResilienceStatus table (#524) Joseph Doherty 2026-07-31 03:37:10 -04:00
  • 820abd1fa3 docs(deferment): record the #521/#522 closures — both resolved differently from how they were filed Joseph Doherty 2026-07-30 04:58:25 -04:00
  • abda6f9ef8 merge: close #521 (host connectivity on telemetry) + #522 (delete inert tier machinery) Joseph Doherty 2026-07-30 04:55:18 -04:00
  • ce589569fe fix(hosts): pluralise the host count; live-verified on docker-dev Joseph Doherty 2026-07-30 04:55:10 -04:00
  • cbb882293b refactor(drivers): delete the inert driver-tier recycle machinery (#522) Joseph Doherty 2026-07-30 04:44:04 -04:00
  • 30d0697c28 feat(hosts): surface per-host connectivity on /hosts; drop the unwritable table (#521) Joseph Doherty 2026-07-30 04:21:08 -04:00
  • dc9d947bca docs(deferment): correct the open-issue count to 17 (written before #523 was closed) Joseph Doherty 2026-07-30 03:56:12 -04:00
  • 30528d8bea docs(deferment): four resolved issues closed on the tracker — no stale-open left Joseph Doherty 2026-07-30 03:55:42 -04:00
  • dccde5e24d fix(deferment): restore the register — f3cd685d emptied it to 0 bytes Joseph Doherty 2026-07-30 03:41:01 -04:00
  • 2a0461a17b Merge: deferment register — #523 removal, stale-skip retirement, G-7 guard, missing driver docs Joseph Doherty 2026-07-30 03:38:39 -04:00
  • f3cd685da5 docs(drivers): write the two missing driver guides (Sql, Calculation) Joseph Doherty 2026-07-28 14:40:51 -04:00
  • 4624141a5d test+docs: retire the stale EquipmentTagsDarkBatch4 skips, guard the deploy-time tag gate, and fix three silently-broken OpcUaClient integration tests Joseph Doherty 2026-07-28 14:32:13 -04:00
  • 5fff597324 revert(drivers): remove the periodic 5-minute device re-browse (#523) Joseph Doherty 2026-07-28 13:59:06 -04:00
  • 16752032e5 docs(deferment): bring §1-§8 current — the register had drifted from its own tree Joseph Doherty 2026-07-28 13:31:52 -04:00
  • f0bd73bc2d docs: record the merge, correct §9's commit SHAs, and flag drift for removal (#523) Joseph Doherty 2026-07-28 13:27:29 -04:00
  • 914d70bf38 Merge: deferment register §8 remediation + the two deferred follow-ups Joseph Doherty 2026-07-28 13:15:34 -04:00
  • e77c8a3569 feat(drivers): tag-set drift detection, gated on SupportsOnlineDiscovery Joseph Doherty 2026-07-28 00:48:39 -04:00
  • 5184a2e107 fix(drivers): complete the Sql + FOCAS in-place config re-parse (#516) Joseph Doherty 2026-07-28 00:30:52 -04:00
  • 88ce8df099 docs: close the plan-bookkeeping drift and state the tier truth (§8.5, §8.6, #522) Joseph Doherty 2026-07-27 19:54:41 -04:00
  • 6a01358b9a fix(adminui): guard the driver dispatch maps and close G-1..G-6 (§8.4) Joseph Doherty 2026-07-27 19:52:02 -04:00
  • d32d89c340 fix(drivers): stop silently discarding driver config edits (§8.3, #516) Joseph Doherty 2026-07-27 19:32:46 -04:00
  • adce27e7fa refactor(drivers): delete the dead discovered-node injection path (§8.2, #507) Joseph Doherty 2026-07-27 18:57:09 -04:00
  • 09a401b881 feat(drivers): consume IRediscoverable as an operator re-browse prompt (§8.2, #518) Joseph Doherty 2026-07-27 18:47:34 -04:00
  • 53ede679c3 docs+ui(security): state plainly that node ACLs are not enforced (§8.1, #520) Joseph Doherty 2026-07-27 18:36:43 -04:00
  • e08855fb9d docs: source-verified deferment register + correct 17 drifted docs Joseph Doherty 2026-07-27 17:26:20 -04:00
  • 90bdaa4437 feat(mtconnect): read-only MTConnect Agent driver (P1) — 23 tasks + 5-leg live gate (#506) dohertj2 2026-07-27 14:02:26 -04:00
  • 813e445936 test(mtconnect): close live-gate leg 5 — deploy -> OPC UA read/subscribe PASSED Joseph Doherty 2026-07-27 13:23:13 -04:00
  • 9d430bee62 docs(mtconnect): correct the MaintenanceMode note; record status-code parity pre-verification Joseph Doherty 2026-07-26 08:46:52 -04:00
  • 1d0989d3b4 test(mtconnect): live gate on an isolated rig — 4/5 legs pass, deploy leg blocked on a cookie collision (Task 21) Joseph Doherty 2026-07-24 20:55:55 -04:00
  • 71ccccef7c docs(mtconnect): P1 driver guide + tracking-doc update, defer write-back (Task 22) Joseph Doherty 2026-07-24 20:29:51 -04:00
  • cf9ce91e51 test(mtconnect): live-Agent docker fixture + integration suite (Tasks 19+20) Joseph Doherty 2026-07-24 18:33:46 -04:00
  • 9227d03ca8 feat(mtconnect): make an MTConnect driver creatable + configurable in /raw (Task 18 Part B) Joseph Doherty 2026-07-24 18:11:51 -04:00