From cf5a66e0467192225695782c333a782f4ed4c3dd Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Fri, 19 Jun 2026 14:57:38 -0400 Subject: [PATCH] docs/plans: mark R0.6 + CW-1 done; note 2020-only live-verification constraint The local Historian is 2020 (WCF/32568); the 2023 R2 gRPC endpoint (32565) is absent, so M0 gRPC routing can be unit-tested but not live-verified here. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/plans/hcal-roadmap.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/plans/hcal-roadmap.md b/docs/plans/hcal-roadmap.md index ac7ed8d..53432b3 100644 --- a/docs/plans/hcal-roadmap.md +++ b/docs/plans/hcal-roadmap.md @@ -9,6 +9,21 @@ HCAL replacement, built on the **2023 R2 gRPC transport**. Derived from > protocol serializer/parser + golden-byte unit test + an env-gated live integration > test against the local Historian. +## Progress (updated 2026-06-19) + +- ✅ **R0.6 version gate** — `HistorianServerVersionGate` + `HistorianClientOptions.VerifyServerInterfaceVersion`; + fail-closed on connect, wired into both WCF and gRPC paths. Supported versions are + evidence-based (Hist=11, Retr=4, Trx=2; Status reachability-only), captured from the + live server. 10 unit tests. +- ✅ **CW-1 capture pipeline** — `ProtocolCaptureSanitizer` + `ProtocolFixtureWriter` + + `capture-tag-info` CLI command; produces sanitized `fixtures/protocol//` golden files. + 11 unit tests. First fixture: `get-tag-info/analog-*.json`. + +> ⚠️ **Live-verification constraint:** the local Historian is **2020** (WCF, port 32568) — the +> 2023 R2 gRPC endpoint (32565) is absent. M0's gRPC routing (R0.1–R0.4) can be built and +> golden-byte/unit-tested here but **cannot be live-verified** without an actual 2023 R2 server. +> Treat gRPC ops as unverified until then; the byte payloads remain the proven 2020 protocol. + ## Guiding principles 1. **gRPC-first.** New ops go on the `RemoteGrpc` transport (clean protobuf envelope);