This website requires JavaScript.
62a49779ac
test(host): unreachable-directory activation fails bounded; document the SDK impersonation threading contract (03/S2)
Joseph Doherty
2026-07-13 12:00:35 -04:00
b494d09d9b
fix(drivers): wire PollGroupEngine onError->health + 30s poll backoff (05/STAB-9) [twincat,focas]
Joseph Doherty
2026-07-13 11:59:49 -04:00
e6280cb1da
feat(runtime): announce added nodes after the materialise passes on non-rebuild applies (R2-07 T4b)
Joseph Doherty
2026-07-13 11:58:40 -04:00
9213c037b0
fix(drivers): wire PollGroupEngine onError->health + 30s poll backoff (05/STAB-9) [modbus,abcip,ablegacy]
Joseph Doherty
2026-07-13 11:57:25 -04:00
0c785415a2
feat(host): LDAP directory-outage circuit — fail-fast denial during sustained outage (03/S2)
Joseph Doherty
2026-07-13 11:56:45 -04:00
21abe42a90
feat(host): hard wall-clock bound + bounded concurrency on OPC UA LDAP authentication (03/S2)
Joseph Doherty
2026-07-13 11:52:10 -04:00
ca6530c7f5
feat(core): PollGroupEngine v2 — failure backoff + caller-token-filtered OCE exit (CONV-1/STAB-8; STAB-14-class engine guard)
Joseph Doherty
2026-07-13 11:51:50 -04:00
a86d9f65bf
feat(opcua): make MaterialiseAlarmCondition idempotent for same-kind re-applies (R2-07 T4a)
Joseph Doherty
2026-07-13 11:50:14 -04:00
b8cf3cce0b
feat(core): ConnectionBackoff primitive — shared capped-exponential backoff + attempt throttle (05/STAB-8; seam for R2-01 S7 wiring)
Joseph Doherty
2026-07-13 11:48:49 -04:00
9dbc363ef0
feat(opcua): announce pure-add nodes via Part 3 NodeAdded model-change (R2-07 T3)
Joseph Doherty
2026-07-13 11:48:02 -04:00
4231afb268
fix(focas): ConcurrentDictionary for fixed-tree caches (05/STAB-5)
Joseph Doherty
2026-07-13 11:46:55 -04:00
0d717e4785
feat(opcua): route AddressSpaceApplier through the classifier — pure-add deploys no longer rebuild (R2-07 T2)
Joseph Doherty
2026-07-13 11:46:24 -04:00
bb8386d126
test(focas): failing repro for STAB-5 cross-thread Dictionary mutation
Joseph Doherty
2026-07-13 11:46:12 -04:00
00dcb547e6
fix(abcip): serialize Read/GetStatus/Decode + Encode/Write/GetStatus per runtime (05/STAB-4)
Joseph Doherty
2026-07-13 11:42:51 -04:00
e48609b000
feat(abcip): per-runtime operation lock on DeviceState (AbLegacy pattern)
Joseph Doherty
2026-07-13 11:41:03 -04:00
32f248c93d
test(abcip): failing repro for STAB-4 unserialized shared-handle ops
Joseph Doherty
2026-07-13 11:40:17 -04:00
0d5cb89d48
feat(security): LdapAuthResult.IsSystemFailure distinguishes directory outage from credential deny (03/S2)
Joseph Doherty
2026-07-13 11:39:35 -04:00
09faa05f06
feat(security): LDAP auth timeout/concurrency/outage-circuit options; project ConnectionTimeoutMs into the shared library (03/S2)
Joseph Doherty
2026-07-13 11:38:37 -04:00
bb226f45ed
feat(opcua): add AddressSpaceChangeClassifier — typed delta classification for the applier (R2-07 T1)
Joseph Doherty
2026-07-13 11:38:30 -04:00
e0998b82c3
fix(r2-09): B1.3 Modbus suites green (306+161); STAB-3 sub-batch complete
Joseph Doherty
2026-07-13 11:37:46 -04:00
98f4860103
fix(modbus): classify per-op timeout + framing violations connection-fatal (05/STAB-3)
Joseph Doherty
2026-07-13 11:37:13 -04:00
ce6d9e21d3
test(host): red repro — LDAP authenticator has no wall-clock bound on session activation (03/S2)
Joseph Doherty
2026-07-13 11:36:32 -04:00
141c143586
test(modbus): failing repro for STAB-3 timeout/framing stream desync
Joseph Doherty
2026-07-13 11:35:20 -04:00
1a698cbb97
Merge R2-11 TagConfig consolidation (arch-review round 2) [PR #434 ]
Joseph Doherty
2026-07-13 11:29:32 -04:00
7c7d383da6
docs(r2-11): record T24 final-sweep gates (grep clean, build 0 errors) + deferred-live notes
Joseph Doherty
2026-07-13 11:25:42 -04:00
7fc3b19961
docs: R2-11 TagConfig consolidation + strictness rollout decisions
Joseph Doherty
2026-07-13 11:24:39 -04:00
4449baac69
feat(adminui): writable checkbox in driver-typed tag editors (R2-11, 05/UNDER-6)
Joseph Doherty
2026-07-13 11:22:12 -04:00
d62b140ccd
Merge R2-04 Failure-visibility trio (arch-review round 2) [PR #433 ]
Joseph Doherty
2026-07-13 11:19:24 -04:00
4260b6ecaa
feat(controlplane): deploy-gate TagConfig strictness — Warn default, Error opt-in at the draft gate (R2-11, 05/CONV-2)
Joseph Doherty
2026-07-13 11:15:34 -04:00
fd3b718892
docs(r2-04): record execution deviations + mark T13/T15 deferred-live
Joseph Doherty
2026-07-13 11:15:21 -04:00
8da54652c3
docs(r2-04): failure-visibility trio semantics (gate table, meters, Galaxy fail-closed)
Joseph Doherty
2026-07-13 11:14:49 -04:00
68588da05f
test(r2-04): 2-node delivery-path guard for the primary write gate (deferred-live)
Joseph Doherty
2026-07-13 11:13:31 -04:00
1647942414
fix(r2-04): scripted-alarm alerts emit uses PrimaryGatePolicy (consistency with 03/S4)
Joseph Doherty
2026-07-13 11:10:43 -04:00
8401055c9d
feat(controlplane): EquipmentTagConfigInspector — DriverType-dispatched deploy-time TagConfig inspection (R2-11)
Joseph Doherty
2026-07-13 11:09:35 -04:00
b2a56ebf3b
fix(driver-modbus): probe parses the factory DTO shape — timeoutMs no longer silently dropped (R2-11, 05/CONV-2)
Joseph Doherty
2026-07-13 11:07:44 -04:00
c6f975b963
test(r2-04): primary-gate boot-window guards (deny-on-unknown multi-node, allow single-node)
Joseph Doherty
2026-07-13 11:06:44 -04:00
24435efa8b
fix(driver-focas): equipment tags run the capability-matrix pre-flight authored tags get (R2-11, 05/UNDER-6)
Joseph Doherty
2026-07-13 11:05:02 -04:00
e294416087
fix(driver-focas): equipment tags forced read-only until PMC writes exist; shared readers + Inspect (R2-11, 05/UNDER-1)
Joseph Doherty
2026-07-13 11:01:55 -04:00
4f5bbd253c
feat(driver-twincat): shared TagConfigJson readers, writable key, Inspect warnings (R2-11)
Joseph Doherty
2026-07-13 11:00:31 -04:00
72b1600245
fix(r2-04): primary gates default-DENY on multi-driver clusters while role unknown (03/S4)
Joseph Doherty
2026-07-13 10:59:43 -04:00
6e2415bb4c
feat(driver-ablegacy): shared TagConfigJson readers, writable key, Inspect warnings (R2-11)
Joseph Doherty
2026-07-13 10:59:27 -04:00
d374ba332b
feat(driver-abcip): shared TagConfigJson readers + Inspect warnings (R2-11)
Joseph Doherty
2026-07-13 10:58:17 -04:00
1cceef406e
feat(driver-s7): shared TagConfigJson readers, writable key, Inspect warnings (R2-11)
Joseph Doherty
2026-07-13 10:57:01 -04:00
f2e899aaad
feat(r2-04): PrimaryGatePolicy - membership-aware default-deny + denial meter (03/S4)
Joseph Doherty
2026-07-13 10:55:46 -04:00
64b9bba9e9
feat(driver-modbus): shared TagConfigJson readers, writable key, Inspect warnings (R2-11)
Joseph Doherty
2026-07-13 10:55:41 -04:00
edbbc0438c
test(r2-04): live guard - advised write remains Good under fail-closed advise (skip-gated)
Joseph Doherty
2026-07-13 10:54:13 -04:00
084c6e3cee
feat(r2-04): meter unconfirmed + advise-failed Galaxy writes
Joseph Doherty
2026-07-13 10:53:17 -04:00
a9b7a5002a
feat(core-abstractions): TagConfigJson shared strict-capable field readers (R2-11, 05/CONV-2)
Joseph Doherty
2026-07-13 10:53:13 -04:00
19c14301e9
Merge R2-10 Resilience observability (arch-review round 2) [PR #432 ]
Joseph Doherty
2026-07-13 10:52:27 -04:00
9c94d51bf4
test(opcuaserver): retire ExtractTag* tests — byte-parity authority is Commons TagConfigIntentTests (R2-11)
Joseph Doherty
2026-07-13 10:51:19 -04:00
610306734c
fix(r2-04): Galaxy fail-closed write when AdviseSupervisory fails - Bad status feeds #5 node revert (06/S-1)
Joseph Doherty
2026-07-13 10:51:16 -04:00
4b86beef28
refactor(core): EquipmentNodeWalker.ExtractFullName delegates to TagConfigIntent; repoint canonical-parser doc cites (R2-11)
Joseph Doherty
2026-07-13 10:50:50 -04:00
1e3552dbd5
docs(archreview): R2-10 resilience observability shipped
Joseph Doherty
2026-07-13 10:50:02 -04:00
a3c2b11e34
refactor(config): DraftValidator Galaxy rule reads ExplicitFullName via TagConfigIntent (R2-11)
Joseph Doherty
2026-07-13 10:48:50 -04:00
a537d29f44
refactor(r2-04): internal IMxWriteOps seam under GatewayGalaxyDataWriter (sealed SDK session untestable)
Joseph Doherty
2026-07-13 10:48:30 -04:00
c1e19ea954
refactor(runtime): DeploymentArtifact decodes TagConfig via shared TagConfigIntent (R2-11, 01/C-1)
Joseph Doherty
2026-07-13 10:47:51 -04:00
cc5ecb5868
fix(r2-10): breaker/retry chips on the driver status panel
Joseph Doherty
2026-07-13 10:46:47 -04:00
7bbec77716
refactor(runtime,opcuaserver): device-host normalization re-homed to Commons DeviceConfigIntent (R2-11)
Joseph Doherty
2026-07-13 10:46:30 -04:00
38c059dae7
fix(r2-10): driver-resilience-status DPS bridge
Joseph Doherty
2026-07-13 10:44:44 -04:00
759125372a
fix(r2-04): surface degraded address-space applies (Error log + otopcua.opcua.apply.failed)
Joseph Doherty
2026-07-13 10:44:18 -04:00
99ce5b401e
fix(r2-10): in-process resilience status store
Joseph Doherty
2026-07-13 10:43:47 -04:00
12b2ce078b
fix(r2-10): register the tracker's production reader on driver nodes + wiring guard
Joseph Doherty
2026-07-13 10:42:18 -04:00
a452a20947
refactor(opcuaserver): composer parses TagConfig once per tag via TagConfigIntent (R2-11, 01/P-1)
Joseph Doherty
2026-07-13 10:42:08 -04:00
e37abf36a0
fix(r2-04): Materialise* passes return swallowed-failure tallies (void -> int)
Joseph Doherty
2026-07-13 10:41:19 -04:00
37f180c5a3
fix(r2-10): periodic DPS publisher for tracker snapshots
Joseph Doherty
2026-07-13 10:40:54 -04:00
b6633f7562
feat(commons): DeviceConfigIntent — device-host extraction + normalization home (R2-11)
Joseph Doherty
2026-07-13 10:39:54 -04:00
2cb3f962b9
fix(r2-10): DriverResilienceStatusChanged DPS contract
Joseph Doherty
2026-07-13 10:39:18 -04:00
cd3f1270ee
feat(commons): TagConfigIntent.Parse — single home for the byte-parity TagConfig intents (R2-11, 01/C-1)
Joseph Doherty
2026-07-13 10:39:07 -04:00
0ba60db1e4
fix(r2-10): successful capability calls reset ConsecutiveFailures
Joseph Doherty
2026-07-13 10:38:51 -04:00
b3d57ca363
fix(r2-04): Safe* helpers report failure; Apply tallies removal-pass failures into FailedNodes
Joseph Doherty
2026-07-13 10:38:10 -04:00
353f04b70c
test(core,config): FullName-semantics characterization for walker + draft gate (R2-11)
Joseph Doherty
2026-07-13 10:37:21 -04:00
2cce61fc04
fix(r2-10): OnClosed records breaker-close on the status tracker
Joseph Doherty
2026-07-13 10:37:12 -04:00
437f82b145
fix(r2-04): AddressSpaceApplyOutcome carries RebuildFailed/FailedNodes; SafeRebuild returns bool (01/S-1)
Joseph Doherty
2026-07-13 10:36:42 -04:00
2e14fe1f24
test(runtime): golden TagConfig corpus + compose/decode parity characterization (R2-11)
Joseph Doherty
2026-07-13 10:35:47 -04:00
205d398055
fix(r2-10): breaker-close marker + IsBreakerOpen on ResilienceStatusSnapshot
Joseph Doherty
2026-07-13 10:35:41 -04:00
46fedda3e4
Merge R2-02 ResilienceConfig hardening (arch-review round 2) [PR #431 ]
Joseph Doherty
2026-07-13 10:29:43 -04:00
dd82e74011
docs(r2-02): record R2-02 resilience hardening pass in STATUS.md + execution deviations
Joseph Doherty
2026-07-13 10:27:08 -04:00
d8c6357be8
fix(r2-02): factory stamps a per-Create options generation — closes the respawn stale-pipeline race (01/S-7)
Joseph Doherty
2026-07-13 10:23:25 -04:00
5daf7155a8
fix(r2-02): options-generation in the pipeline cache key — stale respawn re-cache unreachable (01/S-7, 03/S13)
Joseph Doherty
2026-07-13 10:22:07 -04:00
901d4e6ed3
Merge R2-03 Virtual-Tag failure quality (arch-review round 2) [PR #430 ]
Joseph Doherty
2026-07-13 10:20:43 -04:00
112f88c9fe
fix(r2-02): resilience section — parse-failure lockout + truthful raw pane (04/C-7; live-/run deferred)
Joseph Doherty
2026-07-13 10:19:50 -04:00
6bb91e8d1f
docs(r2-03): record execution deviations (T7 stress config, test-run scope)
Joseph Doherty
2026-07-13 10:18:40 -04:00
9e0a05dc6a
fix(r2-02): non-lossy ResilienceFormModel round-trip — preserve unknown keys, never overwrite unparseable stored JSON (04/C-7)
Joseph Doherty
2026-07-13 10:18:31 -04:00
534e03bc74
docs(archreview): record R2-03 (02/S13+S12+P7) fixed on branch; full VT suites green
Joseph Doherty
2026-07-13 10:18:10 -04:00
a916ae6ebe
perf(runtime): gate the VT apply-boundary compile-cache clear on a changed expression set (02/P7)
Joseph Doherty
2026-07-13 10:15:47 -04:00
07eec11d31
docs+test(r2-02): bulkhead doc sweep + parsed-knob-must-be-wired guard (01/U-6, OVERALL theme 1)
Joseph Doherty
2026-07-13 10:15:32 -04:00
fea6477f45
Merge R2-01 S7 fault-path hardening (arch-review round 2) [PR #429 ]
Joseph Doherty
2026-07-13 10:14:59 -04:00
37664e6992
test(runtime): red — apply-boundary compile-cache clear must be gated on a changed expression set (02/P7)
Joseph Doherty
2026-07-13 10:14:50 -04:00
ef00d6e5aa
fix(host): retry VT evaluation once on ObjectDisposedException from the apply-boundary cache clear (02/S12)
Joseph Doherty
2026-07-13 10:12:59 -04:00
12b3206555
Merge R2-05 AdminUI authorization (arch-review round 2) [PR #428 ]
Joseph Doherty
2026-07-13 10:12:57 -04:00
479057097a
Merge R2-06 ServerHistorian fail-fast + 0.2.0 DataType (arch-review round 2) [PR #427 ]
Joseph Doherty
2026-07-13 10:10:48 -04:00
524a0b5606
refactor(r2-02): remove bulkhead fields from the resilience form (01/U-6)
Joseph Doherty
2026-07-13 10:10:06 -04:00
d67900e455
test(host): red repro — apply-boundary cache clear races in-flight VT evaluation into ObjectDisposedException (02/S12)
Joseph Doherty
2026-07-13 10:09:37 -04:00
bdb7ed412d
docs(archreview): R2-01 S7 fault-path hardening complete — STAB-14/15 fixed, STAB-8 seam documented (task 12)
Joseph Doherty
2026-07-13 10:09:03 -04:00
56854139c9
refactor(r2-02): delete the dead bulkhead knob — options + parser (01/U-6); stored JSON keys become ignored unknowns
Joseph Doherty
2026-07-13 10:08:27 -04:00
d59e6b5934
docs(r2-06): mark T12 live gate deferred-live + record execution deviations (06/U-7)
Joseph Doherty
2026-07-13 10:07:37 -04:00
6c1f05cba9
docs(r2-05): flip 04/C-1 to FIXED, record execution deviations + task status
Joseph Doherty
2026-07-13 10:07:27 -04:00
99b424240a
docs(r2-02): correct WriteIdempotentAttribute's unwired claim; disable Write/Ack retry authoring cells (S-8)
Joseph Doherty
2026-07-13 10:07:01 -04:00
fc38cee00e
docs(r2-06): record S-11/U-7/C-7 remediation in STATUS.md + 06 report rows (06/S-11,U-7,C-7)
Joseph Doherty
2026-07-13 10:07:00 -04:00
3c81f6ebf8
Merge R2-12 repo hygiene (arch-review round 2) [PR #426 ]
Joseph Doherty
2026-07-13 10:06:17 -04:00