feat(maven): step 14 part 3 — revalidate a stale kind=2 artifact against the upstream

What

Land the revalidation arm of the artifact read path on top of the miss fill:

  • a stale row with a stored ETag revalidates conditionally — 304 bumps upstream_checked_at and serves the cached row; a 200 re-fetches, re-points the row, and recomputes all digest columns.
  • a stale row without a stored ETag re-fetches in full.
  • a transport failure serves the cached copy degraded (with the served-from-cache log line, no delivery-gated retention bump).

Plus the bounded vanished-blob recovery (one unconditional re-fetch) and the degraded serve's bumpOnDelivery split on serveRemoteCacheRow, and the full integration matrix (stale 304/200/no-ETag, snapshot redeploy, vanished blob, stale transport fallback, client conditional, URL-change flight rebuild).

Related to #286 (closed)

Review note

Stacked on top of mkhalifa/maven-remote-step-14-part2; merge bottom-to-top.

Merge request reports

Loading
Loading