fix(uq-publisher): use IHttpClientFactory, send repo-relative graph_path
Address Copilot review on PR #361: - Register `UnderstandQuicklyPublisher` via `AddHttpClient<,>` (typed client) so the framework manages `HttpMessageHandler` lifetimes. The constructor now takes a non-nullable `HttpClient`; drop the `httpClient ?? new HttpClient()` fallback that leaked undisposed handlers in a scoped service. - Send `graph_path` as a repo-relative, forward-slash path derived from `OutputRoot` instead of the absolute server path. The understand-quickly registry fetches via `raw.githubusercontent.com` and an absolute path was both incorrect and a minor info leak in Action logs. Falls back to the file name when OutputRoot is missing. - Let `OperationCanceledException` propagate out of both broad catch blocks so the background worker can shut down cleanly instead of converting cancellation into a misleading warning. - Drop the redundant explicit `await read.DisposeAsync()` after the `await using` declaration; switch to a block-scoped `await using` so the read stream is disposed before the write begins. - Log status code + (trimmed) response body on non-success / non-404 responses to make 401/403/422 triage practical. - Wrap test temp-dir cleanup in try/finally so a failed assertion doesn't leak directories on the CI agent. Add coverage asserting `graph_path` is repo-relative, plus a `ToRepoRelativePath` unit test using platform-real paths. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
A
amacsmith committed
175123660bbcfca9d93eb10c65ada46fae5897b1
Parent: 789afd9