dohertj2 dohertj2
  • Joined on 2026-02-20
dohertj2 pushed to master at dohertj2/lmxopcua 2026-08-10 07:21:01 -04:00
94b8633e68 docs(deferment): seventh round — review-coverage gap closed (14 modules, 61 findings, 26 fixed); §0.1 row struck
fd7d06bb12 docs(reviews): regenerate README for 14 new module reviews; fix MTConnect finding-heading level (#### invisible to the generator)
d68009106b merge: Mqtt runtime + Transport code review — deaf-reconnect subscription reset (High), teardown-before-reinit session leak (High), timeout normalization, dead CA-pin warning; 12 findings
147b624437 merge: Calculation + OpcUaClient.Session code review — warm-up gate before evaluation (spurious script-throw warnings), evaluator logger wiring, probe JSON-leniency parity; 7 findings
c58e833aee merge: Mqtt Contracts+Browser code review — wildcard PUBLISH refusal (whole-driver outage path), Sparkplug segment shape rules, rebirth-scope wildcard gate; 12 findings
Compare 32 commits »
dohertj2 deleted branch fix/next-cycle-batch from dohertj2/mxaccessgw 2026-08-10 06:11:26 -04:00
dohertj2 pushed to main at dohertj2/mxaccessgw 2026-08-10 06:11:25 -04:00
c46e5bbd15 Merge fix/next-cycle-batch: resolve NEXT-01/02/03/04/05/09 from the 2026-07-12 next-cycle candidates
5fe74db971 docs(tracking): strike NEXT-01/02/03/04/05/09 as resolved 2026-08-10
2c03e0a684 fix(alarms): dedup reconcile/live duplicate broadcasts on the alarm feed (NEXT-03)
8624e21372 fix(clients): render ReplayGap as the typed cross-CLI row in the .NET and Java CLIs (NEXT-02)
84dbf20a43 fix(worker): observe faults on frames abandoned by cancellation (NEXT-04, NEXT-05 decision)
Compare 7 commits »
dohertj2 created branch fix/next-cycle-batch in dohertj2/mxaccessgw 2026-08-10 06:07:12 -04:00
dohertj2 pushed to fix/next-cycle-batch at dohertj2/mxaccessgw 2026-08-10 06:07:12 -04:00
5fe74db971 docs(tracking): strike NEXT-01/02/03/04/05/09 as resolved 2026-08-10
2c03e0a684 fix(alarms): dedup reconcile/live duplicate broadcasts on the alarm feed (NEXT-03)
8624e21372 fix(clients): render ReplayGap as the typed cross-CLI row in the .NET and Java CLIs (NEXT-02)
84dbf20a43 fix(worker): observe faults on frames abandoned by cancellation (NEXT-04, NEXT-05 decision)
8769ee9765 fix(sessions): keep named-pipe socket paths inside the macOS sun_path limit (NEXT-01)
Compare 6 commits »
dohertj2 pushed to main at dohertj2/scadaproj 2026-08-10 05:33:33 -04:00
95865f0e9b docs(index): OtOpcUa — tracker zeroed via #549–#559 authoring-parity arc (2 served-behaviour fixes: MQTT whitespace blobs, OpcUaClient legacy NodeId); R2-10 connect-path resilience; plan-task sweep; master pushed, origin back in sync at d06e92c6
dohertj2 pushed to master at dohertj2/lmxopcua 2026-08-10 04:37:35 -04:00
d06e92c631 docs(plans): open-plan-task sweep — followups-batch T9 (Modbus-Int64) + T10 (S7/AbCip probe E2E) verified live PASS; fixedtree T11 + adminui 10.4 closed obsolete (v3 deleted their subjects); open plan tasks 7 -> 3
481f4343c1 docs(deferment): register fifth round — #559 closed (MQTT framing aligned with the fleet; backstop re-pinned as count relation); drift arc complete, no residual
83f2cba20d merge: #559 — MQTT runtime mappers accept leading-whitespace TagConfig; JsonDocument.Parse + ValueKind is the single framing authority, aligning MQTT with the six sibling drivers; backstop re-pinned FOCAS-style (unreachable-today count relation)
621a9e5dc2 fix(mqtt): runtime mappers no longer refuse leading-whitespace TagConfig — JsonDocument.Parse + ValueKind is the single framing authority (#559)
15e65c86d0 docs(deferment): register fourth round — #556/#557/#558 closed (Inspect trim + structural classification, OpcUaClient presence-shadows alias, guard consolidation); residual #559 filed
Compare 45 commits »
dohertj2 commented on issue dohertj2/lmxopcua#559 2026-08-10 03:41:18 -04:00
MQTT runtime TagConfig mappers reject leading-whitespace JSON that every other driver tolerates

Closed by the merge of branch fix/559-mqtt-whitespace (fix commit 621a9e5d), verified on the merged tree: clean build + 4 affected suites, 2,790 tests, 0 failures (Mqtt 708, AdminUI 1466,…

dohertj2 closed issue dohertj2/lmxopcua#559 2026-08-10 03:41:18 -04:00
MQTT runtime TagConfig mappers reject leading-whitespace JSON that every other driver tolerates
dohertj2 opened issue dohertj2/lmxopcua#559 2026-08-10 03:15:24 -04:00
MQTT runtime TagConfig mappers reject leading-whitespace JSON that every other driver tolerates
dohertj2 commented on issue dohertj2/lmxopcua#556 2026-08-10 03:15:24 -04:00
Inspect polish: leading-whitespace pre-filter under-reports; FOCAS/MQTT advisories can swallow the rejection backstop

Closed by merge be15ed16 (branch fix/556-inspect-polish), verified by the 14-suite consolidated run on the merged tree (4,583 tests, 0 failures).

Whitespace pre-filter. All seven…

dohertj2 closed issue dohertj2/lmxopcua#556 2026-08-10 03:15:24 -04:00
Inspect polish: leading-whitespace pre-filter under-reports; FOCAS/MQTT advisories can swallow the rejection backstop
dohertj2 commented on issue dohertj2/lmxopcua#557 2026-08-10 03:15:24 -04:00
Reader asymmetries: OpcUaClient legacy PascalCase NodeId is readable but unsaveable; Mqtt Sparkplug parse accepts a payloadFormat the Plain parse rejects

Closed by merges 93a05828 (branch fix/557-opcuaclient-legacy-nodeid — OpcUaClient half) and be15ed16 (branch fix/556-inspect-polish — Mqtt half), verified by the 14-suite consolidated…

dohertj2 closed issue dohertj2/lmxopcua#557 2026-08-10 03:15:24 -04:00
Reader asymmetries: OpcUaClient legacy PascalCase NodeId is readable but unsaveable; Mqtt Sparkplug parse accepts a payloadFormat the Plain parse rejects
dohertj2 commented on issue dohertj2/lmxopcua#558 2026-08-10 03:15:24 -04:00
Browse-commit parity guards overlap and one is misnamed; browser DriverType literals unguarded

Closed by merge 7482cf0c (branch fix/558-parity-guard-hygiene), verified by the 14-suite consolidated run (4,583 tests, 0 failures).

One guard per seam. The browse-commit dispatch fact…

dohertj2 closed issue dohertj2/lmxopcua#558 2026-08-10 03:15:24 -04:00
Browse-commit parity guards overlap and one is misnamed; browser DriverType literals unguarded
dohertj2 closed issue dohertj2/lmxopcua#554 2026-08-10 02:01:36 -04:00
Authoring models validate only enum keys — non-enum TagConfig keys (e.g. Modbus address) meet no gate until deploy
dohertj2 closed issue dohertj2/lmxopcua#555 2026-08-10 02:01:36 -04:00
RawBrowseCommitMapper's fallback comment cites a parity guard (RawBrowseCommitMapperParityTests) that does not exist
dohertj2 commented on issue dohertj2/lmxopcua#554 2026-08-10 02:01:35 -04:00
Authoring models validate only enum keys — non-enum TagConfig keys (e.g. Modbus address) meet no gate until deploy

FIXED — merged to master as 7cfe7b4a (branch commit 5ca4f804).

Every mapped *TagConfigModel.Validate() now consults its driver's own runtime parse on the as-loaded blob via the new…

dohertj2 commented on issue dohertj2/lmxopcua#555 2026-08-10 02:01:35 -04:00
RawBrowseCommitMapper's fallback comment cites a parity guard (RawBrowseCommitMapperParityTests) that does not exist

FIXED — merged to master as 4f1c83a7 (branch commit 0e9d977f).

RawBrowseCommitMapperParityTests now exists and holds the mapper to what the comment used to merely claim, with the…