Read the runtime's built-in connection-log factory instead of supplying one
Summary
- Follow-up to #398. The connection-log feature supplied its own
LogFactoryviaWithLogFactoryand injected that instance. Halibut already exposes the runtime's own per-endpoint log factory asHalibutRuntime.Logs(the default it builds and writes every connection event to) — which is exactly what Octopus'sCommunicationLogFactoryreads. - Register
ILogFactoryashalibut.Logsand dropWithLogFactory+ the parallelLogFactory. Same behaviour, one fewer moving part, and the factory the reader reads is guaranteed to be the one the runtime writes to (can't diverge). Keeps theILogFactoryinjection seam so the reader stays unit-testable.
Why
Direct alignment with Octopus's proven production pattern and the most generic shape: read Halibut's built-in accessor rather than maintaining a redundant supplied factory.
Test plan
-
Connection-log unit tests (reader/handler/URI) — 20/20 green (unchanged; fake ILogFactory) -
E2E Agent_ConnectionLog_RecordsRealHalibutEvents_ForPollingEndpointre-run locally — green: a real polling RPC then readinghalibut.Logsback (now with noWithLogFactory) returns non-empty, well-formed events, proving the built-in factory is the populated one -
Full solution build: 0 errors