Repository navigation
Preserve hydration summary diagnostics across failures and cache fallback - #2144
Conversation
…back Record typed count availability, partial observations, validation failures, and phase outcomes. Correlate health commands with cached and fallback calculations through explicit payload identifiers and a compatible IPC extension. Keep count semantics and wait behavior unchanged. Add unit and functional tests for the diagnostic contract, serialization, and compatibility. Assisted-by: GPT-6.1 Sol Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
…t tests Preserve cached summaries and circuit-breaker counts when configuration reads fail. Preserve cancellation policy while recording cancellation origin. Separate command outcome from calculation outcome and name the heartbeat cache-state point sample explicitly. Pin IPC state integers and add regression tests for source-loader orchestration, failed phases, worker timeouts, cache snapshots, real command paths, and collector payloads. Assisted-by: GPT-6.1 Sol Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
Poll the structured cache state before checking disabled and available results. Filesystem background readiness does not guarantee that the hydration refresh passed its backoff. Keep the deadline bounded and retain the final completion record on failure. Add functional test cases with zero-second and five-second cache backoff. Keep product behavior unchanged. Assisted-by: GPT-6.1 Sol Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
Nathan Baird (ShiningMassXAcc)
left a comment
There was a problem hiding this comment.
CI exercises the new health/status cases, but no changed-line coverage report is published, and I could not verify deployed alert routing for the new outcome fields. Please link any coverage and monitoring/alert validation, or explicitly record these limits in the PR validation notes. This is nonblocking.
Keep telemetry replacement history in the pull request description. State the count, cache, and circuit-breaker preservation requirement directly in the diagnostic contract. Assisted-by: GPT-6.1 Sol Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
|
Note 🤖 Machine-drafted reply — reviewed and approved by Tyrie Vella (@tyrielv). Added Validation limits to the PR description. No changed-line coverage report is available. Local collector tests verify serialization and privacy, not production ingestion or deployed alert routing. Those production checks remain unverified. |
Nathan Baird (ShiningMassXAcc)
left a comment
There was a problem hiding this comment.
Verified the documentation revision: it now describes durable diagnostic and policy-preservation contracts rather than change history. The prior finding is addressed; no new findings in the reviewed delta. The PR description explicitly records the remaining coverage and production telemetry/alert-validation limits.
f2f7f78
into
microsoft:master
Problem and Context
Hydration status can report an error without telemetry that explains the result.
The duration event omits final validity and counts.
Exceptions and cancellation discard earlier observations.
Modified-path read failures can appear as collected zeros.
Cache lookup failures also lose their cause before the health command calculates a fallback.
The health completion event does not distinguish detailed health from status mode.
These gaps prevent diagnosis from telemetry alone.
Changes
HydrationSummaryDurationwith one terminal record for success, invalid counts, incomplete data, cancellation, and exceptions.Scope and Compatibility
Count sets, percentages, disk-log replay, cache acceptance, and circuit-breaker policy stay unchanged.
The existing event names and duration fields remain.
The terminal duration record replaces generic exception telemetry and the early-exit warning.
Success and cancellation use the Informational level. Invalid, incomplete, and failed calculations use the Warning level.
Full exception text stays in local warnings instead of generic Error-level telemetry or telemetry warnings.
An unattempted phase now has a null duration instead of a synthetic zero.
Older clients ignore the IPC extension, and new clients accept legacy responses without diagnostics.
The existing cache and modified-path wait behavior stays unchanged.
A health worker can finish after the outer timeout, but it cannot write to the command's tracer or completion record.
Mount telemetry cannot observe a hook connection failure that never reaches the mount.
Collector outages, queue overflow, and process termination can still prevent telemetry delivery.
Validation limits
CI exercises the health/status cases, but no changed-line coverage report is available.
The local collector tests verify payload serialization and privacy, not production ingestion or deployed alert routing.
Production ingestion and deployed alert routing remain unverified.