feat(wire): attribute updates carry source_execution_id/trace; PullTraceEvents RPC + site read-by-execution-ids
Flow Debugger (design 2026-09-05 §5.3/§5.4): AttributeValueUpdate fields 7/8 stamped by StreamRelayActor and parsed by SiteStreamGrpcClient (older frames => null/false). New PullTraceEvents unary RPC on SiteStreamService (same PSK-gated prefix as PullAuditEvents): a point read of the site audit SQLite by ExecutionId OR ParentExecutionId (ISiteAuditQueue.ReadByExecutionIdsAsync, json_extract on the codec's camelCase keys, new IX_audit_event_occurred index, 64-id / 2000-row caps) that moves no cursor and flips no ForwardState. Central IPullTraceEventsClient/GrpcPullTraceEventsClient mirror the audit pull client (endpoint resolution, NodeB failover, fault => empty) and register beside it. Claude-Session: https://claude.ai/code/session_01GSLkkHKz9JrAtmJjmQK3cP
This commit is contained in:
@@ -47,7 +47,11 @@ public class StreamRelayActor : ReceiveActor
|
||||
AttributeName = msg.AttributeName,
|
||||
Value = AttributeValueCodec.Encode(msg.Value) ?? string.Empty,
|
||||
Quality = MapQuality(msg.Quality),
|
||||
Timestamp = Timestamp.FromDateTimeOffset(msg.Timestamp)
|
||||
Timestamp = Timestamp.FromDateTimeOffset(msg.Timestamp),
|
||||
// Flow Debugger (design 2026-09-05 §5.3/§5.4): additive fields 7/8 — empty /
|
||||
// false for every change that did not come from a traced write.
|
||||
SourceExecutionId = msg.SourceExecutionId?.ToString("D") ?? string.Empty,
|
||||
Trace = msg.Trace
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user