Commit Graph

  • 820abd1fa3 docs(deferment): record the #521/#522 closures — both resolved differently from how they were filed master 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 feat/deferment-remediation 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 feat/mtconnect-driver 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
  • 115a43dd47 feat(mtconnect): typed AdminUI tag-config editor + browse round-trip (Task 18 Part A) Joseph Doherty 2026-07-24 18:11:37 -04:00
  • 51c8c7f30b fix(mtconnect): bind RawTags and key the data plane by RawPath Joseph Doherty 2026-07-24 18:01:18 -04:00
  • b0046d6959 feat(mtconnect): typed AdminUI tag-config model (Task 17) Joseph Doherty 2026-07-24 17:56:22 -04:00
  • c232a3ce67 fix(mtconnect): cap CancelAfter overflow + stop leaking ex.Message in probe fallback (review follow-up) Joseph Doherty 2026-07-24 17:49:23 -04:00
  • a107a1a8b9 feat(mtconnect): host registration + DriverTypeNames const + guard parity (Task 16) Joseph Doherty 2026-07-24 17:43:27 -04:00
  • ba89d6d0ff feat(mtconnect): driver factory delegating to the single config parser (Task 15) Joseph Doherty 2026-07-24 17:26:15 -04:00
  • 23cd47d54b feat(mtconnect): IDriverProbe one-shot /probe reachability (Task 14) Joseph Doherty 2026-07-24 17:25:27 -04:00
  • dfbcb0e7f0 fix(mtconnect): close the silent-refusal + teardown-wedge defects in the pump (Task 11 review) Joseph Doherty 2026-07-24 17:16:13 -04:00
  • fa0e40796f feat(mtconnect): host-connectivity probe + instanceId rediscover (Task 13) Joseph Doherty 2026-07-24 16:56:31 -04:00
  • 13dd9fcd70 feat(mtconnect): ITagDiscovery streams tree + SupportsOnlineDiscovery opt-in (Task 12) Joseph Doherty 2026-07-24 16:41:21 -04:00
  • 9a67ed918a feat(mtconnect): ISubscribable /sample pump + ring-buffer re-baseline (Task 11) Joseph Doherty 2026-07-24 16:29:17 -04:00
  • a127954cab fix(mtconnect): review remediation for the driver lifecycle (Task 9) Joseph Doherty 2026-07-24 15:52:29 -04:00
  • 1bfc1722b3 feat(mtconnect): IReadable via /current, ordered per-ref snapshots (Task 10) Joseph Doherty 2026-07-24 15:38:55 -04:00
  • 4fe0af3693 feat(mtconnect): driver shell IDriver lifecycle over agent-client seam (Task 9) Joseph Doherty 2026-07-24 15:26:34 -04:00
  • 908bd7ba4a fix(mtconnect): deterministic concurrency test + DATA_SET -> BadNotSupported Joseph Doherty 2026-07-24 15:09:42 -04:00
  • 5ba9f1be6f fix(mtconnect): make a /sample stream end loud, and correct the gap contract (Task 7 review) Joseph Doherty 2026-07-24 15:01:31 -04:00
  • ac0a284055 feat(mtconnect): observation index + UNAVAILABLE->BadNoCommunication (Task 8) Joseph Doherty 2026-07-24 14:50:43 -04:00
  • cf43f8d0ab feat(mtconnect): current/sample parse + sequence-gap detection (Task 7) Joseph Doherty 2026-07-24 14:32:36 -04:00
  • d3aaa4a411 docs(mtconnect): correct the Task 0 decision — TrakHound cannot parse XML as pinned Joseph Doherty 2026-07-24 14:11:40 -04:00
  • 1990d21733 feat(mtconnect): agent client /probe parse to device model (Task 6) Joseph Doherty 2026-07-24 14:08:54 -04:00
  • b13cf5c6e8 fix(mtconnect): options carry the authored tag definitions (Task 2 follow-up) Joseph Doherty 2026-07-24 13:57:58 -04:00
  • 79e30d1ead fix(mtconnect): infer numeric EVENT types from the probe's UPPER_SNAKE spelling (Task 3 follow-up) Joseph Doherty 2026-07-24 13:57:13 -04:00
  • 3ca8ddf6f7 test(mtconnect): canned probe/current/sample XML fixtures incl. forced-gap (Task 4) Joseph Doherty 2026-07-24 13:53:15 -04:00
  • c0729ae5c0 feat(mtconnect): pure data-type inference table + golden test (Task 3) Joseph Doherty 2026-07-24 13:53:13 -04:00
  • 992ffe5620 feat(mtconnect): IMTConnectAgentClient seam + neutral parse DTOs (Task 5) Joseph Doherty 2026-07-24 13:51:20 -04:00
  • 18742ea92b feat(mtconnect): driver options + tag definition records (Task 2) Joseph Doherty 2026-07-24 13:50:07 -04:00
  • e36b920113 build(mtconnect): scaffold Contracts+Driver+Tests projects, add to slnx (Task 1) Joseph Doherty 2026-07-24 13:46:46 -04:00
  • 3b92b7cc83 docs(mtconnect): record TrakHound-vs-hand-rolled client decision (Task 0) Joseph Doherty 2026-07-24 13:43:23 -04:00
  • a0b5095b3b docs(drivers): un-stale the MQTT README rows + track every known gap as an issue Joseph Doherty 2026-07-27 13:52:08 -04:00
  • 394558e6c2 docs: the umbrella-index edit belongs on scadaproj's main, and must be pushed Joseph Doherty 2026-07-27 13:36:31 -04:00
  • c3a2b0f773 Merge branch 'feat/mqtt-sparkplug-driver' Joseph Doherty 2026-07-27 13:31:39 -04:00
  • 123ddc3f40 fix(scripteditor): complete + hover absolute RawPaths (#490) Joseph Doherty 2026-07-26 11:08:11 -04:00
  • 0f38f48679 merge: Modbus RTU-over-TCP transport (#495) Joseph Doherty 2026-07-26 10:58:51 -04:00
  • 0e93587b1c merge: test-correctness, config-secret and AdminUI fixes (#503 #501 #493 #499 #488 #505) Joseph Doherty 2026-07-26 10:51:43 -04:00
  • 4cc0215bb4 fix(adminui): the cluster-node editor was dead — 500 on load, silent no-op on save fix/issues-503-501-493-499-488 Joseph Doherty 2026-07-26 10:42:04 -04:00
  • 4b9bcddbcc feat(drivers): periodic reconcile of desired vs actual subscriptions (#488) Joseph Doherty 2026-07-26 10:30:19 -04:00
  • 2193d9f2e4 fix(config): refuse to store a Sql credential in a node config override (#499) Joseph Doherty 2026-07-26 10:30:04 -04:00
  • 8b7ea3213d fix(rig,docs): backfill ClusterNode.GrpcPort and document the upgrade step (#493) Joseph Doherty 2026-07-26 10:29:51 -04:00
  • 240d7aa8aa fix(test): give the three absence assertions a positive control (#501) Joseph Doherty 2026-07-26 10:29:41 -04:00
  • 95295210b0 fix(test): scope the EventPump counter capture to its own pump (#503) Joseph Doherty 2026-07-26 10:29:27 -04:00
  • e3155fbbf5 merge: never slice a DB-sourced string with the range operator (#504) Joseph Doherty 2026-07-26 09:43:55 -04:00
  • 47d148daf9 fix(adminui): never slice a DB-sourced string with the range operator (#504) fix/504-abbreviate-db-strings Joseph Doherty 2026-07-26 09:43:48 -04:00
  • 755ae1aa3f merge: re-assert non-normal scripted-alarm conditions after a (re)load (#487) Joseph Doherty 2026-07-26 09:18:23 -04:00
  • 549c656489 fix(alarms): re-assert non-normal scripted-alarm conditions after a (re)load (#487) fix/487-scripted-alarm-reassert Joseph Doherty 2026-07-26 09:06:39 -04:00
  • 28c2866710 merge: Sql driver follow-ups #496/#497/#498 + the Runtime.Tests flake #500 (fix/sql-driver-followups) Joseph Doherty 2026-07-25 22:27:26 -04:00
  • 154171f48c test(runtime): fix the intermittent Runtime.Tests failure — 4 ordering/logic defects + the presence-budget class (#500) fix/sql-driver-followups Joseph Doherty 2026-07-25 20:20:06 -04:00
  • 4dc2ad8084 feat(sql): implement the design §8.1 catalog identifier-validation gate (#496) Joseph Doherty 2026-07-25 16:07:53 -04:00
  • 1919a8e538 feat(config): reject a persisted Sql connectionString at the deploy gate (#498) Joseph Doherty 2026-07-25 15:37:48 -04:00
  • b95b99ba8e fix(drivers): correct 16 wrong OPC UA status-code constants + guard them by reflection (#497) Joseph Doherty 2026-07-25 15:34:31 -04:00
  • ee12568cab refactor(modbus-rtu): distinct CrcMismatch/UnitMismatch desync reasons feat/modbus-rtu-driver Joseph Doherty 2026-07-25 15:13:48 -04:00
  • d5bd4226ee docs(mqtt): Sparkplug P2 live-verified; MQTT driver complete Joseph Doherty 2026-07-25 01:11:56 -04:00
  • 8d9155682d fix(mqtt): browse-commit writes a bindable address + a Request-rebirth affordance Joseph Doherty 2026-07-24 23:43:07 -04:00
  • 767e7031b3 test(mqtt): C# Sparkplug edge-node simulator + §3.6 live matrix Joseph Doherty 2026-07-24 23:18:08 -04:00
  • 64ec7aa43a feat(mqtt): Sparkplug birth-driven browser tree + scoped Request-rebirth action Joseph Doherty 2026-07-24 22:51:16 -04:00
  • 6d7a458c4d fix(mqtt): reset Sparkplug ingest state at every session/authoring seam Joseph Doherty 2026-07-24 22:44:43 -04:00
  • cd0157a3b8 feat(mqtt): typed tag editor Sparkplug mode + validation Joseph Doherty 2026-07-24 22:43:44 -04:00
  • 6917d8805d feat(mqtt): Sparkplug UntilStable discovery + rediscover-on-DBIRTH Joseph Doherty 2026-07-24 22:28:08 -04:00
  • 8538fb798b feat(mqtt): Sparkplug ingest state machine (birth/alias/seq/rebirth/death→stale) Joseph Doherty 2026-07-24 22:11:41 -04:00
  • 31a98a1bf5 feat(mqtt): RebirthRequester NCMD encode Joseph Doherty 2026-07-24 21:40:43 -04:00
  • 3fdf24659f fix(mqtt): AcceptBirth is NBIRTH-only -- a DBIRTH routed there wipes bdSeq Joseph Doherty 2026-07-24 21:32:44 -04:00
  • e4e313cf1c feat(mqtt): SequenceTracker seq-gap + bdSeq death-tie Joseph Doherty 2026-07-24 21:29:08 -04:00
  • 2afef00eaa feat(mqtt): AliasTable/BirthCache — bind-by-name, rebuild-per-birth Joseph Doherty 2026-07-24 21:28:41 -04:00
  • b245f380b1 feat(mqtt): Sparkplug topic parse/format + datatype map Joseph Doherty 2026-07-24 21:16:02 -04:00
  • c164ec3da1 fix(mqtt): SparkplugCodec's never-throw guard must span the projection too Joseph Doherty 2026-07-24 21:10:20 -04:00
  • 2589774480 feat(mqtt): SparkplugCodec decode + golden payload vectors Joseph Doherty 2026-07-24 21:09:14 -04:00
  • 4ad540376d merge: SQL poll driver (feat/sql-poll-driver) Joseph Doherty 2026-07-24 21:01:26 -04:00
  • 57a5bb3c60 chore(docker-dev): wire Sql__ConnectionStrings__DevSql for the Sql driver live gate Joseph Doherty 2026-07-24 20:59:27 -04:00
  • 163dd7ab5c fix(mqtt): unbreak the .Contracts csproj -- '--' is illegal in an XML comment Joseph Doherty 2026-07-24 20:56:20 -04:00
  • 1ae26675ac feat(mqtt): vendor Tahu sparkplug_b.proto + Grpc.Tools codegen Joseph Doherty 2026-07-24 20:54:23 -04:00