orders: record why line items may not exempt a row from the phantom filter
ci / lint-test (push) Successful in 40s
ci / lint-test (push) Successful in 40s
Board 219 nulled 263 unstated zero totals in the spine, which moved 149 rows into the lifecycle-only hide predicate — they had been failing its "no amount" test on a technicality, an unstated 0 they should never have carried, while matching the phantom signature on every other count. Tried exempting rows that carry line items, on the theory that naming what was bought proves a purchase. It surfaced 442 rows and the first window checked showed why it is wrong: the Amazon "Ordered:" mail that mints a msg- phantom carries the item list too, so Xelsluthe and YIWENTEC each rendered TWICE again — the exact complaint this page was fixed for today. Reverted, and the reason recorded in place so it is not re-attempted. Items do not separate an orphan purchase from an item-carrying echo. Only deduplication does, and that is board 210. No behaviour change from the previous commit; comments and counts only.
This commit is contained in:
+15
-2
@@ -103,8 +103,13 @@ export interface OrderFilters {
|
||||
* Rows with no amount, no order reference and a single lifecycle event are not
|
||||
* purchases — they are a second entity minted from a mail describing an order
|
||||
* that already exists (Amazon "share your experience", DoorDash no-contact
|
||||
* delivery details, shipment notices). 755 of them; hiding lifts amount
|
||||
* coverage from 74% to 84%.
|
||||
* delivery details, shipment notices). 904 of them as of 2026-08-12.
|
||||
*
|
||||
* It hid 755 when written. Board 219's zero-to-null repair took it to 904:
|
||||
* those 149 rows had been failing the "no amount" test on a technicality — an
|
||||
* unstated 0 they should never have carried — and they match the phantom
|
||||
* signature on every other count, so hiding them is the predicate working, not
|
||||
* collateral damage.
|
||||
*
|
||||
* This is a WORKAROUND for board 210, not a fix. The upstream defect is that a
|
||||
* lifecycle mail printing no order reference cannot join its own order, so it
|
||||
@@ -114,6 +119,14 @@ export interface OrderFilters {
|
||||
const LIFECYCLE_ONLY = `NOT (
|
||||
f.order_total IS NULL
|
||||
AND f.reference_source = 'message_id_fallback'
|
||||
-- TRIED AND REVERTED, 2026-08-12: exempting rows that carry line items, on
|
||||
-- the theory that naming what was bought proves a purchase. It surfaced 442
|
||||
-- rows and the very first window showed why it is wrong — the Amazon
|
||||
-- "Ordered:" mail that mints a msg- phantom carries the item list too, so
|
||||
-- Xelsluthe and YIWENTEC each rendered TWICE again, which is the exact
|
||||
-- complaint this page was fixed for. Items do not separate an orphan
|
||||
-- purchase from an item-carrying echo; only real deduplication does, and
|
||||
-- that is board 210, deliberately not attempted here.
|
||||
AND (SELECT count(*) FROM extracted_facts ef
|
||||
WHERE ef.fact_type = 'order_event'
|
||||
AND ef.payload->>'_order_entity_key' = f.entity_key) <= 1
|
||||
|
||||
Reference in New Issue
Block a user