===== analytics-report-live-mwwv5-archive-logs-pod.log ===== [pod/analytics-report-live-mwwv5-archive-logs-pod/prepare] 2026-07-17T19:33:48.767204722-05:00 2026/07/18 00:33:48 Entrypoint initialization [pod/analytics-report-live-mwwv5-archive-logs-pod/place-scripts] 2026-07-17T19:33:49.357240699-05:00 2026/07/18 00:33:49 Decoded script /tekton/scripts/script-0-kz4qz [pod/analytics-report-live-mwwv5-archive-logs-pod/place-scripts] 2026-07-17T19:33:49.379345421-05:00 2026/07/18 00:33:49 Decoded script /tekton/scripts/script-1-dvmhp [pod/analytics-report-live-mwwv5-archive-logs-pod/step-collect-logs] 2026-07-17T19:33:52.897672051-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-mwwv5 ===== analytics-report-live-mwwv5-clone-pod.log ===== [pod/analytics-report-live-mwwv5-clone-pod/prepare] 2026-07-17T19:32:49.676310061-05:00 2026/07/18 00:32:49 Entrypoint initialization [pod/analytics-report-live-mwwv5-clone-pod/place-scripts] 2026-07-17T19:32:50.392174170-05:00 2026/07/18 00:32:50 Decoded script /tekton/scripts/script-0-hm48s [pod/analytics-report-live-mwwv5-clone-pod/step-clone] 2026-07-17T19:32:55.665468184-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-mwwv5-clone-pod/step-clone] 2026-07-17T19:32:55.665499774-05:00 * branch b6877bcc202beb2ed0ec171f8fe7aa40ed8dea5e -> FETCH_HEAD [pod/analytics-report-live-mwwv5-clone-pod/step-clone] 2026-07-17T19:32:55.719257369-05:00 Cloned b6877bcc202beb2ed0ec171f8fe7aa40ed8dea5e ===== analytics-report-live-mwwv5-live-build-pod.log ===== [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:35.453300428-05:00 /tekton/scripts/script-2-snk9z: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:35.563632040-05:00 job.batch/report-live-b6877bc created [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.004095638-05:00 ----- live Job logs (report-live-b6877bc) ----- [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.127906482-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128020222-05:00 ============================= test session starts ============================== [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128026832-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128032542-05:00 cachedir: .pytest_cache [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128037322-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128041722-05:00 configfile: pyproject.toml [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128046022-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128050722-05:00 collecting ... collected 10 items [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128055002-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128060152-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128064502-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128068882-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128073302-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128078742-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128083262-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128089562-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128094072-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128098532-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128102892-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128107152-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128111642-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128115962-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128120142-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128124482-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128128932-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128133242-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128137671-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128142011-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128146361-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128150711-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128155561-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128159891-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128164321-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128168621-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128172911-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128177201-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128181491-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128196791-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128199861-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128202801-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128205691-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128208651-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128211451-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128214451-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128217461-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128220441-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128223491-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128226481-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128229441-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128232361-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128235311-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128238311-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128241271-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128244211-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128247151-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128250101-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128253071-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128255981-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128258951-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128261891-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128264821-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128267741-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128273391-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128276401-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128279381-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128282451-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128285321-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128288271-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128291211-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128293991-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128296891-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128299811-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128302791-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128305731-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128308541-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128311531-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128314461-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128317491-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128320931-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128330161-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128333231-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128336171-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128375081-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128380171-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128383131-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128386031-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128389011-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128391851-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128394731-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128397581-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128400441-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128403401-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128406371-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128409391-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128412381-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128415471-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128418511-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128421491-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128424501-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128427481-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128430421-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128433471-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128436431-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128439381-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128442291-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128445891-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128448911-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128451821-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128454761-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128457661-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128460570-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128463560-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128466550-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128469370-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128472300-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128475240-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128478060-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128480970-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128483960-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128486930-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128489870-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128492690-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128495610-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128498560-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128501480-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128504390-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128508070-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128516140-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128519080-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128524520-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128527460-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128530410-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128533360-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128536300-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128539090-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128542080-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128544980-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128547900-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128550810-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128553730-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128556710-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128559730-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128562680-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128565650-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128568650-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128571570-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128574490-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128577530-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128580510-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128583460-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128586560-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128589490-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128592440-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128595420-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128598990-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128602000-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128604960-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128607850-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128610920-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128614060-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128616900-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128619820-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128622790-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128625600-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128628520-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128635530-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128638610-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128641570-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128644420-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128647450-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128650460-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128653390-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128661320-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128664370-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128667350-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128670370-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128673280-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128676210-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128679110-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128682100-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128685100-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128687900-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128690880-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128693800-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128696710-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128699670-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128702620-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128707210-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128710260-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128713280-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128716310-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128719310-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128722250-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128725210-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128728110-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128731100-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128734050-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128737060-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128740030-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128743060-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128746870-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128749860-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128752790-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128755690-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128758610-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128761950-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128764970-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128767790-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128771240-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128774310-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128777140-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128780060-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128783039-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128785959-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128788959-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128791749-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128794669-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128797629-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128805219-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128808259-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128811279-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128814199-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128817279-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128820279-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128823189-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128826139-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128829199-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128832139-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128834929-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128837859-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128840719-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128843629-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128847199-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128850139-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128853299-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128856609-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128859559-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128862479-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128865489-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128868449-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128871449-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128874399-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128877359-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128880299-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128883259-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128886239-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128889229-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128892149-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128895099-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128898049-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128900999-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128903899-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128909749-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128912859-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128915689-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128918579-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128921489-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128924279-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128927159-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128930099-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128933009-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128940699-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128943559-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128946439-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128949369-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128952279-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128955169-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128958089-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128960979-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128963919-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128966829-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128969709-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128972589-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128975529-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128978479-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128981279-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128984149-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128987019-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128989859-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128992779-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128995699-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.128998609-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129001609-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129004629-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129007639-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129010559-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129013609-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129016529-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129019439-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129022369-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129025269-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129028189-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129031079-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129034219-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129037119-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129040049-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129042969-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129045869-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129048829-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129051789-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129054769-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129057679-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129060539-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129063519-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129066319-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129074119-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129077229-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129080169-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129083069-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129085899-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129089119-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129092069-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129094989-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129097949-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129100989-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129103889-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129106768-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129109698-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129112648-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129115528-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129118408-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129121318-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129124128-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129127008-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129129828-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129132718-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129135648-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129138518-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129141498-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129144438-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129147348-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129150268-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129153218-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129156168-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129159078-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129161978-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129164918-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129167828-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129173498-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129176518-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129179558-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129182458-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129185458-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129188388-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129191288-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129194208-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129197108-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129200098-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129202948-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129205868-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129213038-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129215318-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129217648-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129220028-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129222358-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129224668-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129226958-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129229378-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129231808-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129234158-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129237288-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129239688-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129242038-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129244368-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129246778-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129249088-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129252778-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129255168-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129257558-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129259818-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129262138-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129264408-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129266718-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129269108-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129271448-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129273808-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129276218-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129278608-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129280938-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129283288-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129285648-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129288058-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129290388-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129292778-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129295118-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129297448-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129299788-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129302648-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129305088-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129307438-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129309778-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129312098-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129314418-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129316778-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129322838-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129325148-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129327498-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129329858-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129332088-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129334378-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129336698-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129348578-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129351948-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129354748-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129357108-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129359548-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129361938-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129364348-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129366738-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129369128-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129371988-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129374328-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129377768-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129380178-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129382588-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129384928-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129387168-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129389498-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129391718-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129393998-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129396388-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129398708-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129401058-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129403448-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129409478-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129411908-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129414278-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129417348-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129419738-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129422118-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129424488-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129426888-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129429297-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129431657-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129434087-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129436487-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129438817-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129441157-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129443477-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129450557-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129452937-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129455447-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129457707-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129460087-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129462507-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129464777-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129467097-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129469417-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129471767-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129474127-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129476377-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129478687-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129481057-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129483397-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129485797-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129488167-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129490587-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129492927-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129495237-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129497557-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129499887-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129502207-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129504537-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129506777-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129509077-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129511337-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129513617-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129516007-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129518377-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129520827-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129523507-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129525837-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129528187-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129530527-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129532867-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129535397-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129537707-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129540047-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129542377-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129544747-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129547097-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129549467-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129551797-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129557937-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129560307-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129562627-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129564927-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129567257-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129570297-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129572557-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129574827-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129577177-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129579507-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129581827-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129584127-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129586507-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129588857-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129591217-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129593567-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129595897-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129598227-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129602857-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129605247-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129607627-05:00 ============================== 10 errors in 0.88s ============================== [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129610067-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129613207-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129616077-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129618447-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129620787-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129623007-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129625317-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129627717-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129630067-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129632467-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129635087-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129637427-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129639757-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129646257-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129648677-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129651117-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129653437-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129655797-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129658117-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129660517-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129662787-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129665107-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129667477-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129669837-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129672227-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129674667-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129677057-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129679407-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129681797-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129684127-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129686447-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129688757-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129691317-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129693647-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129696057-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129698407-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129700747-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129703087-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129705427-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129707757-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129710077-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129712397-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129714747-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129717497-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129719767-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129722437-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129724797-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129727117-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129729427-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129731657-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129742377-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129744817-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129747697-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129750107-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129752506-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129758866-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129761236-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129763616-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129765956-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129768296-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129770626-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129772956-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129775216-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129777516-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129779746-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129782076-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129787026-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129789436-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129791846-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129794266-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129796606-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129798926-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129801296-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129803686-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129806056-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129808366-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129810776-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129813116-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129815436-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129817746-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129820126-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129822496-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129824826-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129827146-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129829456-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129831786-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129834196-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129836596-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129838846-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129841216-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129843576-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129845896-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129848206-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129850446-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129852736-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129855086-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129861356-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129863826-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129866186-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129868496-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129870816-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129873166-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129875476-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129877796-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129880106-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129882606-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129884856-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129887136-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129889366-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129891666-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129894066-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129896426-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129899366-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129901856-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129904226-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129906556-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129908916-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129911486-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129913826-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129916126-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129918516-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129920866-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129923216-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129925566-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129927906-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129930236-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129932576-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129934896-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129937206-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129939566-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129941886-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129944996-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129947286-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129950566-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129952936-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129955306-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129961336-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129963656-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129965966-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129980746-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.129996606-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130000416-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130009036-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130012536-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130015936-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130018946-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130021936-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130024926-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130027856-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130030816-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130033686-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130037126-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130039976-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130043036-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130046336-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130049296-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130052296-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130055266-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130058226-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130062106-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130065176-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130068526-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130071456-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130074335-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130077265-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130080205-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130083175-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130086115-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130089095-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130091975-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130094865-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130097805-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130100745-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130103615-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130106635-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130109985-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130112805-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130116375-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130129515-05:00 def daily_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130132565-05:00 > return _run("daily") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130135475-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130138265-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130141195-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130144205-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130147175-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130150875-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130153875-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130156795-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130159755-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130162645-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130165525-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130168455-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130171335-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130174295-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130177095-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130180005-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130182845-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130185755-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130188905-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130191935-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130194975-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130198425-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130201415-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130204495-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130207435-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130210365-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130213315-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130216295-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130219325-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130222275-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130225275-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130228205-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130231205-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130234135-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130237125-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130240055-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130242985-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130245905-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130248895-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130255145-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130258105-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130267135-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130270265-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130273255-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130276245-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130279095-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130282005-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130285825-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130288865-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130291925-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130294995-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130297955-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130300865-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130303825-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130306725-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130309605-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130313115-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130316195-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130319065-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130321985-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130324795-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130327715-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130330865-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130333805-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130336805-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130352695-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130355775-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130358855-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130361805-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130365575-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130368575-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130371475-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130374465-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130377435-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130381165-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130384185-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130387095-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130390005-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130392955-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130395885-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130398895-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130401794-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130404804-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130413444-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130416314-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130419314-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130422324-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130425344-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130428294-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130431114-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130434854-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130438144-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130441174-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130444184-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130447414-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130450364-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130453284-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130456234-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130459184-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130462124-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130465024-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130467964-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130470794-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130473864-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130476714-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130479644-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130482664-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130485634-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130488764-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130491764-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130494764-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130500994-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130504074-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130507144-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130510074-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130513004-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130515934-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130518984-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130521924-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130524894-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130527834-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130530834-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130533804-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130549994-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130553014-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130555924-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130558824-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130561924-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130564764-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130567874-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130571044-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130573954-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130576894-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130579684-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130582574-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130585594-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130588514-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130591574-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130595684-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130598624-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130601534-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130604434-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130607344-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130610284-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130613194-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130616174-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130619014-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130621984-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130624834-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130627794-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130630774-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130633834-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130636814-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130639814-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130642794-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130645744-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130648654-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130651614-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130654554-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130657494-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130660424-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130663414-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130666374-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130669334-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130677804-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130680764-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130683734-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130686654-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130689574-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130692524-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130695464-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130698584-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130701434-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130704464-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130707464-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130710444-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130713394-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130716274-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130719194-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130722154-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130725274-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130728434-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130731574-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130734684-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130741004-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130744004-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130746963-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130749853-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130752733-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130755743-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130758533-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130761423-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130764313-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130767173-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130771453-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130774473-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130777433-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130780333-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130783253-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130786973-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130789953-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130792903-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130795843-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130798783-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130801763-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130810573-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130813553-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130816483-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130819483-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130822433-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130825353-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130828253-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130831153-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130834043-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130837023-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130840023-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130842923-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130845893-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130848833-05:00 def weekly_report(): [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130851783-05:00 > return _run("weekly") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130854703-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130857553-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130860443-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130863503-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130866473-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130869523-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130872523-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130875463-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130878403-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130881323-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130884263-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130887293-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130890333-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130893853-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130896763-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130899673-05:00 store_id = 'Fastime' [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130902463-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130905433-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130908363-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130911323-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130914343-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130917393-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130920403-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130923353-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130926263-05:00 """ [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130934123-05:00 base = _require_base() [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130937133-05:00 try: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130940183-05:00 import requests [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130943193-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130946153-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130949093-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.130952043-05:00 raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131023893-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131028573-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131032963-05:00 if r.status_code == 404: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131037353-05:00 return None [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131041783-05:00 if r.status_code != 200: [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131046163-05:00 > raise ManageApiError( [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131050543-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131055733-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131060043-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131071703-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.131077753-05:00 ----- end live Job logs ----- [pod/analytics-report-live-mwwv5-live-build-pod/step-run-live] 2026-07-17T19:33:46.157375913-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-mwwv5-live-build-pod/prepare] 2026-07-17T19:33:01.737418285-05:00 2026/07/18 00:33:01 Entrypoint initialization [pod/analytics-report-live-mwwv5-live-build-pod/place-scripts] 2026-07-17T19:33:02.736073757-05:00 2026/07/18 00:33:02 Decoded script /tekton/scripts/script-0-5x462 [pod/analytics-report-live-mwwv5-live-build-pod/place-scripts] 2026-07-17T19:33:02.756172822-05:00 2026/07/18 00:33:02 Decoded script /tekton/scripts/script-2-snk9z [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094010696-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094776984-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094782184-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094784434-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094786364-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094788344-05:00 COPY . /prsrc [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094790304-05:00 WORKDIR /prsrc [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094792304-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094794224-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094796184-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-mwwv5-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:33:08.094798573-05:00 RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.358737518-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.358769488-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.425156203-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.425187833-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.431442166-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.431478905-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.431485565-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.431491095-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.431496345-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.431616425-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.432006114-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.473984897-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:85881381f2b953e453fedd3d0788f2ff4ae14d08ff9d697657cb3dfbeefa9dd1... [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.489566254-05:00 INFO[0000] No cached layer found for cmd RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:08.489576624-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:17.357079179-05:00 INFO[0009] COPY . /prsrc [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:17.488092446-05:00 INFO[0009] Taking snapshot of files... [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:17.662816608-05:00 INFO[0009] WORKDIR /prsrc [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:17.662906868-05:00 INFO[0009] Cmd: workdir [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:17.662923468-05:00 INFO[0009] Changed working directory to /prsrc [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:17.663108737-05:00 INFO[0009] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:17.663131477-05:00 INFO[0009] RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:17.663137017-05:00 INFO[0009] Initializing snapshotter ... [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:17.663141557-05:00 INFO[0009] Taking snapshot of full filesystem... [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:23.636272979-05:00 INFO[0015] Cmd: /bin/sh [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:23.636385239-05:00 INFO[0015] Args: [-c pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest)] [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:23.636408339-05:00 INFO[0015] Running: [/bin/sh -c pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest)] [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:23.992048782-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:23.994197605-05:00 Installing build dependencies: started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.134768539-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.135502257-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.239084036-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.239834504-05:00 Getting requirements to build editable: started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.386804146-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.387947973-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.555286596-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.603938835-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.604732452-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.788881187-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.789414255-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=432b2938953e529153bcaafa5e8197f41789f9de8618b76d4eb245cf3475541e [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.789526025-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-smeaw1pt/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.791440359-05:00 Successfully built storeminder [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.791605679-05:00 Installing collected packages: storeminder [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.791712788-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.824510823-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.829361349-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.830868885-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.891845467-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:26.892060407-05:00 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:27.023403904-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:27.023514324-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:27.023522684-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:27.524862652-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:27.527169236-05:00 Installing build dependencies: started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:29.591159234-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:29.592029031-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:29.696754255-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:29.697821092-05:00 Getting requirements to build editable: started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:29.877749545-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:29.878939781-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.063434200-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.125515618-05:00 Requirement already satisfied: pandas>=1.5.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (3.0.3) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.126286416-05:00 Requirement already satisfied: numpy>=1.23.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (2.4.6) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.127156533-05:00 Requirement already satisfied: requests>=2.28.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (2.34.2) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.127825181-05:00 Requirement already satisfied: openpyxl>=3.0.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (3.1.5) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.128520719-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (0.117.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.129729296-05:00 Requirement already satisfied: psycopg>=3.1 in /usr/local/lib/python3.11/site-packages (from psycopg[binary,pool]>=3.1->storeminder==0.1.0) (3.3.4) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.131026532-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.131698280-05:00 Requirement already satisfied: PyYAML>=6.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (6.0.3) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.284452662-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.360545788-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.374067008-05:00 Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (4.14.2) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.374974256-05:00 Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (1.9.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.375919483-05:00 Requirement already satisfied: docstring-parser<1,>=0.15 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (0.18.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.376880990-05:00 Requirement already satisfied: httpx<1,>=0.25.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (0.28.1) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.377687048-05:00 Requirement already satisfied: jiter<1,>=0.4.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (0.16.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.380028801-05:00 Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (2.13.4) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.380628319-05:00 Requirement already satisfied: sniffio in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (1.3.1) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.381524667-05:00 Requirement already satisfied: typing-extensions<5,>=4.14 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (4.16.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.385336205-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.51 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.386225083-05:00 Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.1.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.387096940-05:00 Requirement already satisfied: s3transfer<0.20.0,>=0.19.0 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (0.19.1) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.389858072-05:00 Requirement already satisfied: et-xmlfile in /usr/local/lib/python3.11/site-packages (from openpyxl>=3.0.0->storeminder==0.1.0) (2.0.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.439006528-05:00 Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/site-packages (from pandas>=1.5.0->storeminder==0.1.0) (2.9.0.post0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.480158237-05:00 Requirement already satisfied: psycopg-binary==3.3.4 in /usr/local/lib/python3.11/site-packages (from psycopg[binary,pool]>=3.1->storeminder==0.1.0) (3.3.4) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.481282144-05:00 Requirement already satisfied: psycopg-pool in /usr/local/lib/python3.11/site-packages (from psycopg[binary,pool]>=3.1->storeminder==0.1.0) (3.3.1) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.516500750-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.536986020-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.539300304-05:00 Requirement already satisfied: packaging>=22 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder==0.1.0) (26.2) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.570006373-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.591408181-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.594298912-05:00 Requirement already satisfied: pygments>=2.7.2 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder==0.1.0) (2.20.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.602404418-05:00 Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder==0.1.0) (3.4.9) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.603375986-05:00 Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder==0.1.0) (3.18) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.604292953-05:00 Requirement already satisfied: urllib3<3,>=1.26 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder==0.1.0) (2.7.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.605035781-05:00 Requirement already satisfied: certifi>=2023.5.7 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder==0.1.0) (2026.6.17) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.651555144-05:00 Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.11/site-packages (from httpx<1,>=0.25.0->anthropic>=0.25.0->storeminder==0.1.0) (1.0.9) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.657760036-05:00 Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.11/site-packages (from httpcore==1.*->httpx<1,>=0.25.0->anthropic>=0.25.0->storeminder==0.1.0) (0.16.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.680437889-05:00 Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/site-packages (from pydantic<3,>=1.9.0->anthropic>=0.25.0->storeminder==0.1.0) (0.7.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.681211877-05:00 Requirement already satisfied: pydantic-core==2.46.4 in /usr/local/lib/python3.11/site-packages (from pydantic<3,>=1.9.0->anthropic>=0.25.0->storeminder==0.1.0) (2.46.4) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.682239434-05:00 Requirement already satisfied: typing-inspection>=0.4.2 in /usr/local/lib/python3.11/site-packages (from pydantic<3,>=1.9.0->anthropic>=0.25.0->storeminder==0.1.0) (0.4.2) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.690813469-05:00 Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/site-packages (from python-dateutil>=2.8.2->pandas>=1.5.0->storeminder==0.1.0) (1.17.0) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.751140802-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.810840556-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 6.8 MB/s eta 0:00:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.830509639-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.859867513-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:30.864395519-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:31.003557951-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:31.004225769-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:31.005334186-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:31.230629853-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:31.231445040-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=db69c2592cf5bf8b719a68db5d6b2ac41ae471f9024f64164ae8844f372d87d3 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:31.231573200-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-_ov3hh7c/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:31.233579714-05:00 Successfully built storeminder [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.059067005-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.338677871-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.391031076-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.393043890-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.577785586-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.762632160-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.762828640-05:00 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.890224154-05:00 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.890358624-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.890367554-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:32.997658657-05:00 INFO[0024] Taking snapshot of full filesystem... [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:35.003616613-05:00 INFO[0026] Pushing layer registry.storeminder.ai/images/cache:85881381f2b953e453fedd3d0788f2ff4ae14d08ff9d697657cb3dfbeefa9dd1 to cache now [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:35.003745302-05:00 INFO[0026] Pushing image to registry.storeminder.ai/images/cache:85881381f2b953e453fedd3d0788f2ff4ae14d08ff9d697657cb3dfbeefa9dd1 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:35.094446453-05:00 INFO[0026] Pushed registry.storeminder.ai/images/cache@sha256:43209bd9d5db125487f2c2d4ff3e1d7d3b95f487447efd58e27a17f92d2ccb83 [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:35.095391590-05:00 INFO[0026] Pushing image to registry.storeminder.ai/images/storeminder-report-live:b6877bcc202beb2ed0ec171f8fe7aa40ed8dea5e [pod/analytics-report-live-mwwv5-live-build-pod/step-build-pr-image] 2026-07-17T19:33:35.252222675-05:00 INFO[0027] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:0d6ccac893280834ae7d0fafd74b8b746e60f75883597183023823d298256838 ===== analytics-report-live-mwwv5-notify-on-failure-pod.log ===== [pod/analytics-report-live-mwwv5-notify-on-failure-pod/prepare] 2026-07-17T19:33:48.929028008-05:00 2026/07/18 00:33:48 Entrypoint initialization [pod/analytics-report-live-mwwv5-notify-on-failure-pod/place-scripts] 2026-07-17T19:33:49.412915178-05:00 2026/07/18 00:33:49 Decoded script /tekton/scripts/script-0-qbngc ===== analytics-report-live-mwwv5-post-check-live-pod.log ===== [pod/analytics-report-live-mwwv5-post-check-live-pod/prepare] 2026-07-17T19:33:50.190800197-05:00 2026/07/18 00:33:50 Entrypoint initialization [pod/analytics-report-live-mwwv5-post-check-live-pod/place-scripts] 2026-07-17T19:33:50.606201504-05:00 2026/07/18 00:33:50 Decoded script /tekton/scripts/script-0-gn8v2 ===== analytics-report-live-mwwv5-post-status-live-pod.log ===== [pod/analytics-report-live-mwwv5-post-status-live-pod/prepare] 2026-07-17T19:33:49.030929277-05:00 2026/07/18 00:33:49 Entrypoint initialization [pod/analytics-report-live-mwwv5-post-status-live-pod/place-scripts] 2026-07-17T19:33:49.398595992-05:00 2026/07/18 00:33:49 Decoded script /tekton/scripts/script-0-5tx5b ===== analytics-report-live-mwwv5-reclaim-workspace-pod.log ===== [pod/analytics-report-live-mwwv5-reclaim-workspace-pod/prepare] 2026-07-17T19:33:50.383706906-05:00 2026/07/18 00:33:50 Entrypoint initialization [pod/analytics-report-live-mwwv5-reclaim-workspace-pod/place-scripts] 2026-07-17T19:33:50.607344460-05:00 2026/07/18 00:33:50 Decoded script /tekton/scripts/script-0-8bgch