From 02be6f52c012780855d8166b6f48ac315c46cda0 Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 23 Mar 2026 15:32:48 -0400 Subject: [PATCH] Record t1.19 task evidence --- pm/tasks.org | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pm/tasks.org b/pm/tasks.org index 5bd48ac..d8642bb 100644 --- a/pm/tasks.org +++ b/pm/tasks.org @@ -995,7 +995,7 @@ make `purchases.csv` easier to inspect and ensure price fields support weighted - `purchases.csv` now carries a filled `net_line_total` for every row, preserving existing values from normalization and deriving the rest from `line_total` plus matched discounts. - `effective_price_unit` now mirrors the normalized quantity basis, so downstream analysis can tell whether an `effective_price` is per `lb`, `oz`, `count`, or `each`. -* [ ] t1.19: make review_products.py robust to orphaned and incomplete catalog links (2-4 commits) +* [x] t1.19: make review_products.py robust to orphaned and incomplete catalog links (2-4 commits) refresh review state from the current normalized universe so missing or broken links re-enter review instead of silently disappearing ** acceptance criteria @@ -1014,11 +1014,13 @@ refresh review state from the current normalized universe so missing or broken l - pm note: keep the logic explicit and auditable; this is a refresh/reconciliation task, not a new matching system ** evidence -- commit: -- tests: -- datetime: +- commit: `8ccf3ff` `Reconcile review queue against current catalog state` +- tests: `./venv/bin/python -m unittest tests.test_review_workflow tests.test_purchases`; `./venv/bin/python review_products.py --refresh-only`; `./venv/bin/python report_pipeline_status.py` +- datetime: 2026-03-23 15:32:29 EDT ** notes +- `review_products.py` now rebuilds its queue from the current normalized files and order files instead of trusting stale `purchases.csv` state. +- Missing catalog rows and incomplete catalog rows now re-enter review explicitly as `orphaned_catalog_link` or `incomplete_catalog_link`, and excluded rows no longer inflate unresolved-not-in-review accounting. * [ ] t1.20: add visit-level fields and outputs for spend analysis (2-4 commits) ensure purchases retains enough visit/order context to support spend-by-visit and store-level analysis