docs(archreview): record R2-03 (02/S13+S12+P7) fixed on branch; full VT suites green
This commit is contained in:
@@ -79,22 +79,24 @@
|
||||
{
|
||||
"id": "R2-03-T11",
|
||||
"subject": "Full-suite sweep (Runtime.Tests whole project + RoslynVirtualTagEvaluatorTests + solution build) and STATUS.md / tasks.json bookkeeping",
|
||||
"status": "pending",
|
||||
"status": "deferred-live",
|
||||
"blockedBy": [
|
||||
"R2-03-T4",
|
||||
"R2-03-T5",
|
||||
"R2-03-T8",
|
||||
"R2-03-T10"
|
||||
]
|
||||
],
|
||||
"note": "integration/full sweep; serialized heavy pass (build clean, Runtime.Tests 372/372, RoslynVirtualTagEvaluatorTests 20/20 verified locally; whole-solution/cross-suite sweep deferred per controller memory constraint)"
|
||||
},
|
||||
{
|
||||
"id": "R2-03-T12",
|
||||
"subject": "Live-/run gate on docker-dev (rebuild BOTH centrals): author working VT, break it, Client.CLI read shows StatusCode Bad with last value, fix and read Good; P7 no-recompile spot-check on identical redeploy",
|
||||
"status": "pending",
|
||||
"status": "deferred-live",
|
||||
"blockedBy": [
|
||||
"R2-03-T11"
|
||||
]
|
||||
],
|
||||
"note": "docker-dev live-/run; serial live pass"
|
||||
}
|
||||
],
|
||||
"lastUpdated": "2026-07-12"
|
||||
"lastUpdated": "2026-07-13"
|
||||
}
|
||||
|
||||
@@ -150,3 +150,25 @@ surface), 03/S2/S3 block-bridging, 03/P1 surgical adds (guard prerequisite in pl
|
||||
per-plan task counts, effort, and suggested execution order: [`00-INDEX.md`](00-INDEX.md) §"Round 2
|
||||
plans". 193 bite-sized TDD tasks total, ~18–24 dev-days end-to-end; R2-01/02/03 (the re-review's
|
||||
new-and-sharp items) are ~2 days combined.
|
||||
|
||||
### Round-2 remediation status
|
||||
|
||||
- **R2-03 (02/S13 + 02/S12 + 02/P7) — FIXED ON BRANCH `r2/03-vt-failure-quality`** (off master
|
||||
`1676c8f4`). All three findings closed with TDD:
|
||||
- **02/S13** (Medium) — VT script failure/timeout now degrades the OPC UA node to `OpcUaQuality.Bad`
|
||||
(carrying the last-known value) instead of freezing on the last Good value forever. `EvaluationResult`
|
||||
gained an additive `Quality` field; the host bridge publishes it and historizes `0x80020000u`
|
||||
(BadInternalError, dormant-engine parity) on Bad. Bad is published once per Good→Bad transition, gated
|
||||
on all declared dependencies having arrived (inputs-ready gate — no cold-start/respawn Bad flash), and
|
||||
recovery force-publishes the next Good even at the pre-failure value.
|
||||
- **02/S12** (Medium) — the apply-boundary `ClearCompiledScripts` racing an in-flight evaluation into
|
||||
`ObjectDisposedException` is now retried once in `RoslynVirtualTagEvaluator` (re-fetch → recompile into
|
||||
the current cache generation). A concurrent-clear stress guard reproduces the pre-fix disposed failures
|
||||
and is deterministically green post-fix.
|
||||
- **02/P7** (Low) — the apply-boundary clear is gated on a changed deployed *expression set*
|
||||
(`HashSet.SetEquals`, ordinal), so a byte-identical redeploy — or a rename/add/remove that leaves the
|
||||
expression set unchanged — no longer forces full VT recompilation.
|
||||
- Verified locally: `dotnet build ZB.MOM.WW.OtOpcUa.slnx` clean (0 errors); whole `Runtime.Tests`
|
||||
project 372/372 green; `RoslynVirtualTagEvaluatorTests` 20/20 green. **Deferred to the serialized
|
||||
heavy pass:** the full cross-suite sweep and the docker-dev live-`/run` gate (fail→Bad→recover +
|
||||
P7 no-recompile spot-check).
|
||||
|
||||
Reference in New Issue
Block a user