R2-03: Site Runtime & DCL round-2 fixes (7 tasks) #6

Closed
dohertj2 wants to merge 1 commits from r2-plan03 into main
Owner

Round-2 architecture-review fixes — PLAN-R2-03 (Site Runtime & DCL), all 7 tasks. Source: archreview/0403-site-runtime-dcl.md round-2 findings.

TDD throughout; per-task pathspec commits; targeted suites green (no full-suite/docker in this branch — full sweep happens at the round-2 integration merge).

  • T1 f25812fc fix(dcl): stale MxGateway event-loop fault on a cancelled token no longer flaps the fresh connection
  • T2 f149626a fix(siteruntime): faulted expression-eval task clears _evalInFlight instead of killing the ScriptActor trigger
  • T3 15018e41 fix(siteruntime): same fix for AlarmActor expression triggers
  • T4 f3bec692 fix(siteruntime): eagerly validate TagSubscribeRetryIntervalMs + StuckScriptGraceMs at boot
  • T5 1cc05f13 feat(siteruntime): bounded process-wide compiled-script cache (globals-qualified SHA-256 key, MaxEntries=1024)
  • T6 128d2bab perf(siteruntime): deploy gate + InstanceActor PreStart share one Roslyn compile via the cache
  • T7 3b9f6b95 docs(siteruntime): compile gate synchronous-by-design; Expression alarms share the bounded script pool

Part of the round-2 initiative (8 plans / 86 tasks). Merge with the sibling r2-plan0x PRs after the full-suite sweep.

Round-2 architecture-review fixes — **PLAN-R2-03 (Site Runtime & DCL)**, all 7 tasks. Source: `archreview/04`… `03-site-runtime-dcl.md` round-2 findings. TDD throughout; per-task pathspec commits; targeted suites green (no full-suite/docker in this branch — full sweep happens at the round-2 integration merge). - **T1** `f25812fc` fix(dcl): stale MxGateway event-loop fault on a cancelled token no longer flaps the fresh connection - **T2** `f149626a` fix(siteruntime): faulted expression-eval task clears `_evalInFlight` instead of killing the ScriptActor trigger - **T3** `15018e41` fix(siteruntime): same fix for AlarmActor expression triggers - **T4** `f3bec692` fix(siteruntime): eagerly validate `TagSubscribeRetryIntervalMs` + `StuckScriptGraceMs` at boot - **T5** `1cc05f13` feat(siteruntime): bounded process-wide compiled-script cache (globals-qualified SHA-256 key, MaxEntries=1024) - **T6** `128d2bab` perf(siteruntime): deploy gate + InstanceActor PreStart share one Roslyn compile via the cache - **T7** `3b9f6b95` docs(siteruntime): compile gate synchronous-by-design; Expression alarms share the bounded script pool Part of the round-2 initiative (8 plans / 86 tasks). Merge with the sibling `r2-plan0x` PRs after the full-suite sweep.
dohertj2 added 7 commits 2026-07-13 09:57:57 -04:00
dohertj2 added 1 commit 2026-07-13 11:24:30 -04:00
SiteScriptCompileCache.Hits is a process-global counter; other test classes in
the assembly compile scripts concurrently (not in this serialized collection),
so an exact post-Clear count is non-deterministic under a full-assembly parallel
run. Assert.Same(r1,r2) remains the definitive proof of one shared Roslyn
compile. Integration-surfaced; belongs with plan R2-03 T5/T6.
Author
Owner

Merged to main via the r2-integration fast-forward (main @ 1930f19b, pushed to origin). All commits from this branch are in main; the two integration-surfaced test fixes (IntegrationTests NodeName host-boot config, compile-cache assertion relax) landed on main as well. Closing — content fully integrated.

Merged to main via the r2-integration fast-forward (main @ 1930f19b, pushed to origin). All commits from this branch are in main; the two integration-surfaced test fixes (IntegrationTests NodeName host-boot config, compile-cache assertion relax) landed on main as well. Closing — content fully integrated.
dohertj2 closed this pull request 2026-07-13 11:48:35 -04:00

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/ScadaBridge#6