Joseph Doherty
|
12b2ce078b
|
fix(r2-10): register the tracker's production reader on driver nodes + wiring guard
|
2026-07-13 10:42:18 -04:00 |
|
Joseph Doherty
|
37f180c5a3
|
fix(r2-10): periodic DPS publisher for tracker snapshots
|
2026-07-13 10:40:54 -04:00 |
|
Joseph Doherty
|
0ba60db1e4
|
fix(r2-10): successful capability calls reset ConsecutiveFailures
|
2026-07-13 10:38:51 -04:00 |
|
Joseph Doherty
|
2cce61fc04
|
fix(r2-10): OnClosed records breaker-close on the status tracker
|
2026-07-13 10:37:12 -04:00 |
|
Joseph Doherty
|
205d398055
|
fix(r2-10): breaker-close marker + IsBreakerOpen on ResilienceStatusSnapshot
|
2026-07-13 10:35:41 -04:00 |
|
Joseph Doherty
|
46fedda3e4
|
Merge R2-02 ResilienceConfig hardening (arch-review round 2) [PR #431]
v2-ci / build (push) Successful in 3m53s
v2-ci / unit-tests (push) Failing after 8m15s
Findings 01/S-6 (High — clamp hostile ResilienceConfig, no ValidationException
driver-brick), 01/U-6 (delete dead bulkhead knob), 01/S-8=03/S12 (Write/Ack
non-idempotent + retry->0), 04/C-7 (JsonObject round-trip preserves unknown
keys), 01/S-7=03/S13 (per-Create options-generation kills respawn cache race).
T15/T18 deferred. STATUS.md conflict resolved additively. Build clean.
|
2026-07-13 10:29:43 -04:00 |
|
Joseph Doherty
|
d8c6357be8
|
fix(r2-02): factory stamps a per-Create options generation — closes the respawn stale-pipeline race (01/S-7)
|
2026-07-13 10:23:25 -04:00 |
|
Joseph Doherty
|
5daf7155a8
|
fix(r2-02): options-generation in the pipeline cache key — stale respawn re-cache unreachable (01/S-7, 03/S13)
|
2026-07-13 10:22:07 -04:00 |
|
Joseph Doherty
|
901d4e6ed3
|
Merge R2-03 Virtual-Tag failure quality (arch-review round 2) [PR #430]
v2-ci / build (push) Successful in 4m2s
v2-ci / unit-tests (push) Failing after 8m20s
Findings 02/S13 (VT failure/timeout degrades node to Bad quality, no stale-Good
forever), 02/S12 (evaluator retry-once on disposed-race), 02/P7 (compile-cache
clear gated on changed expression set). T11/T12 deferred. STATUS.md conflict
resolved additively. Build clean.
|
2026-07-13 10:20:43 -04:00 |
|
Joseph Doherty
|
9e0a05dc6a
|
fix(r2-02): non-lossy ResilienceFormModel round-trip — preserve unknown keys, never overwrite unparseable stored JSON (04/C-7)
|
2026-07-13 10:18:31 -04:00 |
|
Joseph Doherty
|
07eec11d31
|
docs+test(r2-02): bulkhead doc sweep + parsed-knob-must-be-wired guard (01/U-6, OVERALL theme 1)
|
2026-07-13 10:15:32 -04:00 |
|
Joseph Doherty
|
fea6477f45
|
Merge R2-01 S7 fault-path hardening (arch-review round 2) [PR #429]
v2-ci / build (push) Successful in 3m37s
v2-ci / unit-tests (push) Failing after 6m49s
Findings 05/STAB-14 (High regression — connect-timeout OCE no longer silently
kills S7 subscriptions), STAB-15 (framing/desync + mid-PDU cancel fatal
classification), STAB-8 seam note. All prod changes in S7Driver.cs; T11 live
outage gate deferred. STATUS.md conflict resolved additively. Build clean.
|
2026-07-13 10:14:59 -04:00 |
|
Joseph Doherty
|
37664e6992
|
test(runtime): red — apply-boundary compile-cache clear must be gated on a changed expression set (02/P7)
|
2026-07-13 10:14:50 -04:00 |
|
Joseph Doherty
|
12b3206555
|
Merge R2-05 AdminUI authorization (arch-review round 2) [PR #428]
v2-ci / build (push) Successful in 3m27s
v2-ci / unit-tests (push) Failing after 8m29s
Finding 04/C-1 (High): explicit named-policy gating on all 38 AdminUI pages via
new AdminUiPolicies (ConfigEditor + AuthenticatedRead) + anti-drift reflection
guard. T15 live pass deferred (docker-dev auto-admin can't observe deny).
STATUS.md conflict resolved additively. Build clean.
|
2026-07-13 10:12:57 -04:00 |
|
Joseph Doherty
|
524a0b5606
|
refactor(r2-02): remove bulkhead fields from the resilience form (01/U-6)
|
2026-07-13 10:10:06 -04:00 |
|
Joseph Doherty
|
d67900e455
|
test(host): red repro — apply-boundary cache clear races in-flight VT evaluation into ObjectDisposedException (02/S12)
|
2026-07-13 10:09:37 -04:00 |
|
Joseph Doherty
|
56854139c9
|
refactor(r2-02): delete the dead bulkhead knob — options + parser (01/U-6); stored JSON keys become ignored unknowns
|
2026-07-13 10:08:27 -04:00 |
|
Joseph Doherty
|
a1b22f979d
|
test(r2-01): env-gated live connect-timeout outage test — the STAB-14 outage class the bounce test cannot produce (task 11)
|
2026-07-13 10:06:08 -04:00 |
|
Joseph Doherty
|
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)
|
2026-07-13 10:05:52 -04:00 |
|
Joseph Doherty
|
496f97da20
|
fix(r2-02): write dispatch defaults to non-idempotent — no-retry arm authoritative (03/S12 layer 2)
|
2026-07-13 10:04:09 -04:00 |
|
Joseph Doherty
|
8999c722a0
|
fix(r2-01): probe failures mark the handle dead under the gate so the next tick reopens (STAB-15b, task 9)
|
2026-07-13 10:03:36 -04:00 |
|
Joseph Doherty
|
eab0b6be12
|
fix(r2-02): enforce the spec's no-retry invariant for Write/AlarmAcknowledge overrides (01/S-8, 03/S12 layer 1)
|
2026-07-13 10:01:54 -04:00 |
|
Joseph Doherty
|
33044061c3
|
fix(r2-01): cancellation observed mid-PDU marks the connection dead before propagating (STAB-15a, task 8)
|
2026-07-13 10:01:20 -04:00 |
|
Joseph Doherty
|
1aa89d754f
|
test(r2-06): HISTGW_BOOL_SANDBOX_TAG fixture + Boolean EnsureTags leg + retype probe (skip-clean offline) (06/U-7)
|
2026-07-13 10:01:12 -04:00 |
|
Joseph Doherty
|
57c224c65a
|
fix(r2-02): range-validation warnings on the resilience override form (01/S-6 authoring layer)
|
2026-07-13 10:00:43 -04:00 |
|
Joseph Doherty
|
dc2f3fa970
|
test(r2-06): pin 0.2.0 Boolean->Int1 explicit-presence (HasDataType) provisioning (06/U-7)
|
2026-07-13 09:58:07 -04:00 |
|
Joseph Doherty
|
b77bbd13b7
|
fix(r2-06): warning parity — malformed-endpoint warning in ServerHistorianOptions.Validate() (06/S-11)
|
2026-07-13 09:57:29 -04:00 |
|
Joseph Doherty
|
a8af9cc48b
|
fix(r2-02): factory-seam guard — hostile ResilienceConfig cannot brick the spawn path (01/S-6 wiring proof)
|
2026-07-13 09:57:17 -04:00 |
|
Joseph Doherty
|
8aed9ac365
|
fix(r2-01): RED framing-fault classification Theory T5 (STAB-15a, task 6)
|
2026-07-13 09:57:08 -04:00 |
|
Joseph Doherty
|
b5bf4b73ff
|
fix(adminui): gate every page with named policies — ConfigEditor on the mutating surface (R2-05, 04/C-1)
|
2026-07-13 09:56:08 -04:00 |
|
Joseph Doherty
|
05c35c93d9
|
test(host): pin sequential clear-then-recompile contract of RoslynVirtualTagEvaluator (02/S12 baseline)
|
2026-07-13 09:55:44 -04:00 |
|
Joseph Doherty
|
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)
|
2026-07-13 09:55:05 -04:00 |
|
Joseph Doherty
|
f2006adb79
|
test(runtime): pin VT inputs-ready gate — no Bad flash before all dependencies arrive (02/S13)
|
2026-07-13 09:55:04 -04:00 |
|
Joseph Doherty
|
987459fab3
|
test(runtime): pin VT Bad-quality transition semantics — once-per-transition, same-value recovery, throw path (02/S13)
|
2026-07-13 09:53:59 -04:00 |
|
Joseph Doherty
|
294d74c1de
|
fix(r2-02): range-clamp ResilienceConfig overrides in the parser (01/S-6) — timeout/retry/breaker clamped with diagnostics, never brick
|
2026-07-13 09:53:28 -04:00 |
|
Joseph Doherty
|
35d8abee84
|
fix(r2-06): RED — ServerHistorianOptionsValidator unit + wiring tests (net-new type; does not compile) (06/S-11)
|
2026-07-13 09:53:21 -04:00 |
|
Joseph Doherty
|
01253818de
|
fix(runtime): VT script failure/timeout degrades node quality to Bad once per transition (02/S13)
|
2026-07-13 09:52:56 -04:00 |
|
Joseph Doherty
|
183b72b7cb
|
feat(security): add ConfigEditor + AuthenticatedRead AdminUI policies behind AdminUiPolicies constants
|
2026-07-13 09:52:13 -04:00 |
|
Joseph Doherty
|
7813304199
|
fix(r2-01): RED poll-loop-survival T2 + caller-cancel pinning T4 (task 2)
|
2026-07-13 09:51:57 -04:00 |
|
Joseph Doherty
|
3a049a13a4
|
fix(r2-06): RED repro — misconfigured ServerHistorian:Endpoint should fail with a named error, not UriFormatException (06/S-11)
|
2026-07-13 09:51:31 -04:00 |
|
Joseph Doherty
|
c5ca3e8587
|
feat(runtime): EvaluationResult carries OpcUaQuality; VT bridge publishes it + historizes BadInternalError on Bad (02/S13)
|
2026-07-13 09:51:15 -04:00 |
|
Joseph Doherty
|
9dedb7936b
|
fix(r2-01): RED connect-timeout regression tests T1+T3 (task 1)
|
2026-07-13 09:50:07 -04:00 |
|
Joseph Doherty
|
fcdcf0e2fb
|
fix(r2-01): extend reconnect fakes with token-honouring hang + probe-fault modes (task 0)
|
2026-07-13 09:48:42 -04:00 |
|
Joseph Doherty
|
b977548593
|
test(runtime): red repro — VT script failure after success leaves node stale-Good (02/S13)
|
2026-07-13 09:48:41 -04:00 |
|
Joseph Doherty
|
83fdf5fa6c
|
Merge branch 'fix/archreview-s1-s2-ci-coverage'
|
2026-07-09 06:07:33 -04:00 |
|
Joseph Doherty
|
1d7e7caa41
|
Merge branch 'fix/archreview-u2-deferred-sink-forwarding-guard'
|
2026-07-09 06:07:33 -04:00 |
|
Joseph Doherty
|
8f7b0017ef
|
Merge branch 'fix/archreview-crit4-twincat-replay'
|
2026-07-09 06:07:33 -04:00 |
|
Joseph Doherty
|
dfc02af3f0
|
Merge branch 'fix/archreview-crit3-s7-reconnect'
|
2026-07-09 06:07:33 -04:00 |
|
Joseph Doherty
|
45455b7677
|
Merge branch 'fix/archreview-crit2-vt-timeout'
|
2026-07-09 06:07:33 -04:00 |
|
Joseph Doherty
|
0ed30483b4
|
Merge branch 'fix/archreview-crit1-split-brain-resolver'
|
2026-07-09 06:07:33 -04:00 |
|