a1b22f979d
test(r2-01): env-gated live connect-timeout outage test — the STAB-14 outage class the bounce test cannot produce (task 11)
Joseph Doherty
2026-07-13 10:06:08 -04:00
20ff67bf9a
fix(r2-02): non-idempotent write arm — cache the no-retry snapshot (01/P-4) and record tracker in-flight accounting (S-8 residual)
Joseph Doherty
2026-07-13 10:05:52 -04:00
4640ecb19b
docs(r2-06): note WriteLiveValues Quality is a documented-dead input (0.2.0 C-002); keep 192 populated (06/C-7)
Joseph Doherty
2026-07-13 10:04:29 -04:00
92b2ac4891
docs(r2-01): mark EnsureConnectedAsync as the R2-09 connect-throttle seam (STAB-8 note, task 10)
Joseph Doherty
2026-07-13 10:04:22 -04:00
496f97da20
fix(r2-02): write dispatch defaults to non-idempotent — no-retry arm authoritative (03/S12 layer 2)
Joseph Doherty
2026-07-13 10:04:09 -04:00
8999c722a0
fix(r2-01): probe failures mark the handle dead under the gate so the next tick reopens (STAB-15b, task 9)
Joseph Doherty
2026-07-13 10:03:36 -04:00
1455550d0c
chore(r2-12): mark T11 final verification complete
Joseph Doherty
2026-07-13 10:02:53 -04:00
04a9edab7e
docs(r2-12): record R2-12 repo-hygiene execution + open follow-ups in STATUS.md
Joseph Doherty
2026-07-13 10:02:38 -04:00
eab0b6be12
fix(r2-02): enforce the spec's no-retry invariant for Write/AlarmAcknowledge overrides (01/S-8, 03/S12 layer 1)
Joseph Doherty
2026-07-13 10:01:54 -04:00
dad783514a
docs(security): document AdminUI policy tiers (ConfigEditor/AuthenticatedRead) + R2-05 status
Joseph Doherty
2026-07-13 10:01:52 -04:00
33044061c3
fix(r2-01): cancellation observed mid-PDU marks the connection dead before propagating (STAB-15a, task 8)
Joseph Doherty
2026-07-13 10:01:20 -04:00
152d8ebe0e
test(r2-12): document + patch-align the xunit v2 holdout pin (07/C-4)
Joseph Doherty
2026-07-13 10:01:12 -04:00
1aa89d754f
test(r2-06): HISTGW_BOOL_SANDBOX_TAG fixture + Boolean EnsureTags leg + retype probe (skip-clean offline) (06/U-7)
Joseph Doherty
2026-07-13 10:01:12 -04:00
57c224c65a
fix(r2-02): range-validation warnings on the resilience override form (01/S-6 authoring layer)
Joseph Doherty
2026-07-13 10:00:43 -04:00
aac3285468
refactor(adminui): replace authorization string literals with AdminUiPolicies constants
Joseph Doherty
2026-07-13 09:58:42 -04:00
dab0029add
fix(r2-01): classify ISO-on-TCP framing/desync faults as connection-fatal (STAB-15a, task 7)
Joseph Doherty
2026-07-13 09:58:11 -04:00
b77bbd13b7
fix(r2-06): warning parity — malformed-endpoint warning in ServerHistorianOptions.Validate() (06/S-11)
Joseph Doherty
2026-07-13 09:57:29 -04:00
a8af9cc48b
fix(r2-02): factory-seam guard — hostile ResilienceConfig cannot brick the spawn path (01/S-6 wiring proof)
Joseph Doherty
2026-07-13 09:57:17 -04:00
8aed9ac365
fix(r2-01): RED framing-fault classification Theory T5 (STAB-15a, task 6)
Joseph Doherty
2026-07-13 09:57:08 -04:00
b5bf4b73ff
fix(adminui): gate every page with named policies — ConfigEditor on the mutating surface (R2-05, 04/C-1)
Joseph Doherty
2026-07-13 09:56:08 -04:00
05c35c93d9
test(host): pin sequential clear-then-recompile contract of RoslynVirtualTagEvaluator (02/S12 baseline)
Joseph Doherty
2026-07-13 09:55:44 -04:00
066514fed3
docs(r2-01): Finding-1 close gate — S7 unit 238/238 green; record pre-existing out-of-scope CLI comment-test failure (task 5)
Joseph Doherty
2026-07-13 09:55:39 -04:00
e748f929c8
fix(r2-06): wire AddValidatedOptions<ServerHistorianOptions> + alarm-only-mode startup warning in Program.cs (06/S-11)
Joseph Doherty
2026-07-13 09:55:25 -04:00
8d306a1bd2
fix(r2-02): pipeline Build clamps policy values — building a pipeline can never throw Polly ValidationException (01/S-6 belt-and-braces + brick repro)
Joseph Doherty
2026-07-13 09:55:05 -04:00
f2006adb79
test(runtime): pin VT inputs-ready gate — no Bad flash before all dependencies arrive (02/S13)
Joseph Doherty
2026-07-13 09:55:04 -04:00
5369994e57
fix(r2-06): GREEN — ServerHistorianOptionsValidator (consumer-gated fail-fast on bad Endpoint) (06/S-11)
Joseph Doherty
2026-07-13 09:54:37 -04:00
294d74c1de
fix(r2-02): range-clamp ResilienceConfig overrides in the parser (01/S-6) — timeout/retry/breaker clamped with diagnostics, never brick
Joseph Doherty
2026-07-13 09:53:28 -04:00
35d8abee84
fix(r2-06): RED — ServerHistorianOptionsValidator unit + wiring tests (net-new type; does not compile) (06/S-11)
Joseph Doherty
2026-07-13 09:53:21 -04:00
01253818de
fix(runtime): VT script failure/timeout degrades node quality to Bad once per transition (02/S13)
Joseph Doherty
2026-07-13 09:52:56 -04:00
4bb25fc039
fix(r2-01): surface connect-timeout as TimeoutException, not OCE — poll loops no longer die on unreachable-host outages (STAB-14, task 3)
Joseph Doherty
2026-07-13 09:52:42 -04:00
3108abc13b
fix(r2-06): GREEN adapter guard — TryCreate + named InvalidOperationException on bad ServerHistorian:Endpoint (06/S-11)
Joseph Doherty
2026-07-13 09:52:07 -04:00
7813304199
fix(r2-01): RED poll-loop-survival T2 + caller-cancel pinning T4 (task 2)
Joseph Doherty
2026-07-13 09:51:57 -04:00
3a049a13a4
fix(r2-06): RED repro — misconfigured ServerHistorian:Endpoint should fail with a named error, not UriFormatException (06/S-11)
Joseph Doherty
2026-07-13 09:51:31 -04:00
c5ca3e8587
feat(runtime): EvaluationResult carries OpcUaQuality; VT bridge publishes it + historizes BadInternalError on Bad (02/S13)
Joseph Doherty
2026-07-13 09:51:15 -04:00
4be13429b6
fix(r2-02): add ResiliencePolicyRanges single-source-of-truth to Core.Abstractions (01/S-6 task 1)
Joseph Doherty
2026-07-13 09:51:05 -04:00
0aebffe800
chore(r2-12): U-6 husk dirs already absent in worktree — no deletion needed (07/U-6)
Joseph Doherty
2026-07-13 09:50:21 -04:00
9dedb7936b
fix(r2-01): RED connect-timeout regression tests T1+T3 (task 1)
Joseph Doherty
2026-07-13 09:50:07 -04:00
d6ae8bd03a
chore(r2-12): remove 7 orphaned proprietary AVEVA DLLs from lib/ (07/U-5)
Joseph Doherty
2026-07-13 09:49:21 -04:00
fcdcf0e2fb
fix(r2-01): extend reconnect fakes with token-honouring hang + probe-fault modes (task 0)
Joseph Doherty
2026-07-13 09:48:42 -04:00
b977548593
test(runtime): red repro — VT script failure after success leaves node stale-Good (02/S13)
Joseph Doherty
2026-07-13 09:48:41 -04:00
1676c8f40f
Merge branch 'docs/archreview-r2-rereview-and-plans'
Joseph Doherty
2026-07-12 23:52:32 -04:00
1891f5d6a7
docs(archreview): 2026-07-12 re-review at f6eaa267 + 12 round-2 remediation plans
Joseph Doherty
2026-07-12 23:52:23 -04:00
7233e2ba08
fix(docker-dev): replace retired Wonderware ServerHistorian keys with the gateway shape (disabled by default)
Joseph Doherty
2026-07-08 23:43:02 -04:00
347446d627
docs(archreview #12): record live-gate outcome (DI wiring confirmed live; behavioral log a disciplined stop)
Joseph Doherty
2026-07-08 23:25:31 -04:00
8a8b9ec564
test(archreview #10/#13): guard prod DI binds the REAL invoker factory
Joseph Doherty
2026-07-08 23:16:23 -04:00
051a59845d
docs(archreview): record #13 IMPLEMENTED (ResilienceConfig read-path plumbing)
Joseph Doherty
2026-07-08 22:51:15 -04:00
75403caa1a
feat(archreview #13): apply per-instance ResilienceConfig from the deploy artifact
Joseph Doherty
2026-07-08 22:48:17 -04:00
e233db7456
docs(archreview): record #11 CORRECTED (Crit-1 premise) + track residual #12/#13
Joseph Doherty
2026-07-08 22:36:10 -04:00
eaf78aad90
docs(archreview #11): correct Critical 1 premise — SBR was already active on master, not NoDowning
Joseph Doherty
2026-07-08 22:34:20 -04:00
877cb9bc56
docs(archreview): record #10 IMPLEMENTED (Core.Abstractions seam) + residual findings
Joseph Doherty
2026-07-08 21:42:17 -04:00
62556c245a
test(archreview #10): cover actor-context preservation through the REAL CapabilityInvoker
Joseph Doherty
2026-07-08 21:38:14 -04:00
bacea1a44f
fix(archreview #10): wire CapabilityInvoker into prod dispatch via a Polly-free seam
Joseph Doherty
2026-07-08 21:33:16 -04:00
9cd1f8c4e7
docs(archreview): file follow-up records for open decisions #10 (RESILIENCE-DISPATCH-GAP) + #11 (Crit-1 SBR premise)
Joseph Doherty
2026-07-08 20:06:15 -04:00
14f0cae7d9
docs(archreview): mark guards 07/C-1, 07/S-1,S-2,S-4 + #9 failover done; record findings #10, #11
Joseph Doherty
2026-07-08 18:27:16 -04:00
a25c9ed097
test(cluster): hard-kill failover integration test on the 2-node harness (arch-review 03/S1)
Joseph Doherty
2026-07-08 18:24:49 -04:00
10b898305f
ci(v2): whole-solution unit leg + fail-on-skip gate + deflake CLI sleeps (arch-review 07/S-1,S-2,S-4)
Joseph Doherty
2026-07-08 17:58:42 -04:00
f0082af5b9
build(analyzers): wire OTOPCUA0001 tree-wide + triage the surfaced hits (arch-review 07/C-1)
Joseph Doherty
2026-07-08 17:51:19 -04:00
a203950848
docs(archreview): mark guard 03/U2 (deferred-sink forwarding test) done
Joseph Doherty
2026-07-08 17:38:58 -04:00
53798bbf40
Merge pull request 'feat: HistorianGateway as the OtOpcUa historian backend (read/write/alarms + continuous historization); retire Wonderware' (#423) from feat/historian-gateway-backend into master
dohertj22026-06-27 11:09:02 -04:00
1030d00b3f
docs(historian-gateway): FU-5 tracked via issue #424 (pre-existing, not ours)
Joseph Doherty
2026-06-27 02:00:09 -04:00
10a6ac6f3e
docs(historian-gateway): note FU-3 alias handling (review fix) in follow-up plan
Joseph Doherty
2026-06-27 00:57:14 -04:00
60695179ee
fix(historian-gateway): historize EVERY aliased tag sharing a mux ref (FU-3 review — close silent-drop)
Joseph Doherty
2026-06-27 00:56:17 -04:00
00cc1da362
docs(historian-gateway): mark follow-up plan status — FU-1 documented-limitation, FU-2/3/4 done
Joseph Doherty
2026-06-27 00:45:19 -04:00