docs+code: close Theme 1 — 24 design-doc / XML-doc drift findings
Doc/XML-comment drift + small adherence fixes across 17 modules. Highlights: - Host-017: site CoordinatedShutdown ordering — SiteStreamGrpcServer gains CancelAllStreams() (refuse new streams, cancel active), wired into Program.cs site branch via ApplicationStopping. - InboundAPI-021: ParentExecutionId now travels on RouteToGet/SetAttributes symmetric with RouteToCallRequest; RouteHelper stamps from _parentExecutionId. - ClusterInfra-012: ClusterOptionsValidator now requires both seed nodes. - Comm-018: SiteCommunicationActor.HeartbeatMessage.IsActive derived from cluster leader check (was hardcoded true). - DM-020: reconciliation audit row attributes the current user, not prior deployer. - SEL-019: EventLogPurgeService early-exits on standby via active-node check. - Plus comment/XML-doc accuracy fixes across AuditLog, ConfigurationDatabase, NotificationOutbox, SiteRuntime, SiteCallAudit; doc refreshes for Component- Commons / -ManagementService / -CLI / -ExternalSystemGateway / -HealthMonitoring / -Transport / -ConfigurationDatabase; CD-023 index-name doc alignment. 11 new regression tests (RouteHelper x4, SiteStreamGrpcServer x2, ClusterOptionsValidator x1, SiteCommunicationActor x1, DeploymentService x1, EventLogPurgeService x3). Build clean (0 warnings); InboundAPI/Communication/ Host suites all green. README regenerated: 112 open (was 136).
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
| Last reviewed | 2026-05-28 |
|
||||
| Reviewer | claude-agent |
|
||||
| Commit reviewed | `1eb6e97` |
|
||||
| Open findings | 8 |
|
||||
| Open findings | 7 |
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -1017,7 +1017,7 @@ regression test posting with `application/JSON` and Transfer-Encoding: chunked.
|
||||
|--|--|
|
||||
| Severity | Medium |
|
||||
| Category | Design-document adherence |
|
||||
| Status | Open |
|
||||
| Status | Resolved |
|
||||
| Location | `src/ScadaLink.InboundAPI/RouteHelper.cs:141-143`, `:182-183`, `:225-226`; `src/ScadaLink.Commons/Messages/InboundApi/RouteToInstanceRequest.cs:15-21`, `:36-40`, `:55-59` |
|
||||
|
||||
**Description**
|
||||
@@ -1055,6 +1055,25 @@ from `_parentExecutionId` in `RouteTarget.GetAttributes` and
|
||||
their emitted audit rows. Add a `RouteHelperTests` regression case asserting
|
||||
that an attribute read/write carries the inherited `ParentExecutionId`.
|
||||
|
||||
**Resolution (2026-05-28):**
|
||||
|
||||
Wire fix landed — `RouteToGetAttributesRequest` and `RouteToSetAttributesRequest`
|
||||
now carry a trailing additive `Guid? ParentExecutionId = null`, mirroring
|
||||
`RouteToCallRequest`; `RouteTarget.GetAttributes` and `RouteTarget.SetAttributes`
|
||||
stamp `_parentExecutionId` onto the request, so the field travels off the
|
||||
inbound API box symmetrically across all three `Route.To()` verbs. Four
|
||||
regression tests added to `RouteHelperTests` (with/without parent id for both
|
||||
verbs).
|
||||
|
||||
Site-side audit emission for routed reads/writes is NOT currently wired —
|
||||
`DeploymentManagerActor.RouteInboundApiGetAttributes` / `…SetAttributes` and
|
||||
`InstanceActor.HandleGetAttribute` / `HandleSetStaticAttribute` /
|
||||
`HandleSetDataAttribute` do not call `IAuditWriter` today (only script-driven
|
||||
`AuditingDbConnection` / `AuditingDbCommand` paths emit audit rows on the site
|
||||
side). The `ParentExecutionId` is now available on the wire so once those
|
||||
audit emissions land (tracked separately under the Audit Log site-wiring
|
||||
backlog), they can stamp the parent id without any further plumbing.
|
||||
|
||||
### InboundAPI-022 — `IActiveNodeGate` has no production registration in Host — standby-node gating is silently disabled in production
|
||||
|
||||
| | |
|
||||
|
||||
Reference in New Issue
Block a user