This website requires JavaScript.
dc9d947bca
docs(deferment): correct the open-issue count to 17 (written before #523 was closed)
master
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
92ba120964
feat(mqtt): MqttDriverForm + MqttDeviceForm — the driver/device config forms P1 omitted
Joseph Doherty
2026-07-24 20:41:48 -04:00
b295b24419
feat(adminui): author + configure the Sql driver in /raw
Joseph Doherty
2026-07-24 20:41:33 -04:00
07a4a5ff5e
docs(mqtt): P1 plain-MQTT milestone live-verified; endpoint recorded
Joseph Doherty
2026-07-24 18:44:43 -04:00
2409d05a28
fix(mqtt): a broker-refused CONNECT no longer reports a Healthy driver
Joseph Doherty
2026-07-24 18:02:00 -04:00
033b3700c4
test(mqtt): Mosquitto TLS+auth fixture + env-gated plain live suite
Joseph Doherty
2026-07-24 17:49:14 -04:00