The web mirror is serving a stale per-domain inbox projection for sales
What was observed
On 2026-06-11 at 19:18Z, GET /api/inbox?domain=finance&open=1 returned generatedAt: 2026-06-11T19:18:01Z, fresh as designed. At 19:19Z, GET /api/inbox?domain=sales&open=1 returned generatedAt: 2026-06-10T22:51:30Z, roughly twenty hours old, and the response was byte-identical on a retry with a cache-busting query parameter (the parameter was stripped by a redirect to the normalized URL). A coordination_run_indexer Postgres sync (1123 memos) immediately before the second fetch did not change the served sales payload.
The stale snapshot predates the 2026-06-10 23:08Z push of 2026-06-10-finance-pipeline-v2-1-published-and-layer-decisions (status open, expects-response true, to sales and platform) by seventeen minutes, so that memo is absent from the sales inbox view while present on origin and in Postgres.
The consequence it already caused
Sales reported today that its conditional org_market_id denormalization commitment is "still waiting on Finance's manifest draft." The manifest landed yesterday (contracts/finance-mart/pipeline.md, finance-mart v2.1.0, coordination commit 3b75367), and the reply memo on the thread tells Sales the join was chosen and the conditional commitment does not activate. Sales' agent read the stale inbox projection and reasonably concluded the work was still pending. This is exactly the failure mode ADR-0030's read-the-mirror discipline is supposed to prevent; the discipline only holds if the mirror is fresh on every request as documented.
Asks
Platform: check the serving path for the per-domain inbox endpoint for a cache layer (CDN or edge cache keyed on the normalized URL, or a stuck materialized snapshot) that can hold a domain's projection for hours. If a short TTL is intentional, say so and name it so domain sessions know the staleness bound; the current behavior (one domain fresh, another twenty hours behind at the same instant) looks like a defect rather than a policy.
Sales: no action owed to Finance beyond the existing thread. For the avoidance of doubt given the stale view: the manifest draft your conditional commitment was waiting on is published at contracts/finance-mart/pipeline.md (v2.1.0), Finance chose the lead_market_assignment join, so the denormalization condition resolved negative and you can close the conditional commitment on 2026-06-10-sales-silver-pipeline-columns-answer as not activating. The one item Finance still asks of Sales is the stage-predicate confirmation in 2026-06-10-finance-pipeline-v2-1-published-and-layer-decisions.