docs(roadmap): mark HCAL roadmap exhausted; remaining items are all gated
M0/M1/M2/M3 done + live-verified; M4 R4.1/R4.3(idle)/R4.4 merged to main; the grpc-tooling-completion plan is fully executed. Add a top-of-file status banner enumerating the only remaining items and why each is gated (infra-gated event-row retrieval + active-SF magnitude; capture-gated SendEvent; server-walled SQL + revision edits; out-of-scope ReadBlocks / DeleteTagExtendedProperties). Nothing left is a pure code task. README transport matrix stays authoritative per-op. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B6mcaT2PjRFKcogzp9UkfC
This commit is contained in:
@@ -9,7 +9,28 @@ 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-21)
|
||||
## Status: roadmap exhausted (2026-06-22)
|
||||
|
||||
The reachable surface is **complete**. M0/M1/M2/M3 are done and live-verified; M4 R4.1 (store-forward
|
||||
outbox), R4.3 (measured idle-state SF status), and R4.4 (redundancy) are shipped and **merged to
|
||||
`main`**; and the follow-on `grpc-tooling-completion.md` plan is fully executed (writes, ReadEvents,
|
||||
GetConnectionStatus, the extended-property read-parser fix — all done or bounded-out). The transport
|
||||
matrix in the top-level `README.md` is the authoritative per-operation status.
|
||||
|
||||
**Nothing left is a pure code task** — every remaining item is gated:
|
||||
|
||||
- **Infra-gated** (needs a different live server): gRPC event *row* retrieval (`StartEventQuery`
|
||||
succeeds but `GetNextEventQueryResultBuffer` long-polls — needs an **event-bearing** 2023 R2 server);
|
||||
R4.3 active-SF *magnitude* (needs an **SF-active** server / the D2 storage-engine console handle).
|
||||
- **Capture-gated** ("capture before guessing wire bytes"): `SendEvent` over gRPC (no distinct RPC;
|
||||
framing uncaptured).
|
||||
- **Architecturally walled** (no client-side fix): `ExecuteSqlCommand` over gRPC (server-side
|
||||
`CSrvDbConnection` fault; a `RegisterTags` prime does not clear it); R4.2 revision *edits*
|
||||
(storage-engine-pipe-only on both transports).
|
||||
- **Out of scope until a demand signal**: `ReadBlocks` (`StartBlockRetrievalQuery`, never captured);
|
||||
`DeleteTagExtendedProperties` (server-blocked on WCF).
|
||||
|
||||
## Progress (updated 2026-06-22)
|
||||
|
||||
- ✅ **R0.6 version gate** — `HistorianServerVersionGate` + `HistorianClientOptions.VerifyServerInterfaceVersion`;
|
||||
fail-closed on connect, wired into both WCF and gRPC paths. Supported versions are
|
||||
|
||||
Reference in New Issue
Block a user