===== analytics-report-live-pmnfp-archive-logs-pod.log ===== [pod/analytics-report-live-pmnfp-archive-logs-pod/prepare] 2026-07-25T17:52:01.260774583-05:00 2026/07/25 22:52:01 Entrypoint initialization [pod/analytics-report-live-pmnfp-archive-logs-pod/place-scripts] 2026-07-25T17:52:02.526407851-05:00 2026/07/25 22:52:02 Decoded script /tekton/scripts/script-0-zsd42 [pod/analytics-report-live-pmnfp-archive-logs-pod/place-scripts] 2026-07-25T17:52:02.546221290-05:00 2026/07/25 22:52:02 Decoded script /tekton/scripts/script-1-5t7mc [pod/analytics-report-live-pmnfp-archive-logs-pod/step-collect-logs] 2026-07-25T17:52:07.293044285-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-pmnfp ===== analytics-report-live-pmnfp-clone-pod.log ===== [pod/analytics-report-live-pmnfp-clone-pod/prepare] 2026-07-25T17:50:34.873811581-05:00 2026/07/25 22:50:34 Entrypoint initialization [pod/analytics-report-live-pmnfp-clone-pod/place-scripts] 2026-07-25T17:50:35.408060327-05:00 2026/07/25 22:50:35 Decoded script /tekton/scripts/script-0-5vb47 [pod/analytics-report-live-pmnfp-clone-pod/step-clone] 2026-07-25T17:50:40.692796379-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-pmnfp-clone-pod/step-clone] 2026-07-25T17:50:40.692817158-05:00 * branch 7f7b47d59d0ab50c49a65fc3fb4641899b10d699 -> FETCH_HEAD [pod/analytics-report-live-pmnfp-clone-pod/step-clone] 2026-07-25T17:50:40.760760806-05:00 Cloned 7f7b47d59d0ab50c49a65fc3fb4641899b10d699 ===== analytics-report-live-pmnfp-live-build-pod.log ===== [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.727712477-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.727737887-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.760308587-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.760370417-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.776340043-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.776360603-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.776368053-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.776381053-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.776388323-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.776529552-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.776851531-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.832673634-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:ba30db4cfa02799083893b7d7f3e489be3fd651170c86db00f6db38e67b5547f... [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.884593575-05:00 INFO[0000] No cached layer found for cmd RUN if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:00.884620195-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:11.521151278-05:00 INFO[0010] COPY . /prsrc [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:11.722241173-05:00 INFO[0011] Taking snapshot of files... [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:11.993247915-05:00 INFO[0011] WORKDIR /prsrc [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:11.993275385-05:00 INFO[0011] Cmd: workdir [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:11.993281235-05:00 INFO[0011] Changed working directory to /prsrc [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:11.993680433-05:00 INFO[0011] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:11.993703343-05:00 INFO[0011] RUN if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:11.993726983-05:00 INFO[0011] Initializing snapshotter ... [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:11.993734073-05:00 INFO[0011] Taking snapshot of full filesystem... [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:18.954050566-05:00 INFO[0018] Cmd: /bin/sh [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:18.954088846-05:00 INFO[0018] Args: [-c if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:18.954109226-05:00 INFO[0018] Running: [/bin/sh -c if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:19.291403683-05:00 Obtaining file:///prsrc/packages/storeminder-config [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:19.293290064-05:00 Installing build dependencies: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:21.445756691-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:21.446470238-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:21.572257638-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:21.573532372-05:00 Getting requirements to build editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:21.785111308-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:21.786722550-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:21.952132609-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.003683271-05:00 Building wheels for collected packages: storeminder-config [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.004568907-05:00 Building editable for storeminder-config (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.194001934-05:00 Building editable for storeminder-config (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.194696151-05:00 Created wheel for storeminder-config: filename=storeminder_config-0.1.6-0.editable-py3-none-any.whl size=1448 sha256=1e1385ad3a9f3e3951723b4372bb35d25137e0f5343e901e098284148bce91f8 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.194799371-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-a_xxacqi/wheels/c8/b7/ed/799e8d0938926d17720d45f014fd606224a2bdbd8f166b8ac7 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.196760292-05:00 Successfully built storeminder-config [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.196926501-05:00 Installing collected packages: storeminder-config [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.197041431-05:00 Attempting uninstall: storeminder-config [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.239974993-05:00 Found existing installation: storeminder-config 0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.241332287-05:00 Uninstalling storeminder-config-0.1.6: [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.242646940-05:00 Successfully uninstalled storeminder-config-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.350424584-05:00 Successfully installed storeminder-config-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.350618603-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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.484332987-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.484448897-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.484454357-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.922955427-05:00 Obtaining file:///prsrc/packages/storeminder-core [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:22.925067957-05:00 Installing build dependencies: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.032065881-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.032971707-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.140173334-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.141169849-05:00 Getting requirements to build editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.295974726-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.297458659-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.471062079-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.514456349-05:00 Building wheels for collected packages: storeminder-core [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.515489605-05:00 Building editable for storeminder-core (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.707849618-05:00 Building editable for storeminder-core (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.708495775-05:00 Created wheel for storeminder-core: filename=storeminder_core-0.1.6-0.editable-py3-none-any.whl size=1421 sha256=9144ce7653e2624b1eb54c6fa5e1bf64d2603f97da417bb995a24baa4ee9a896 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.708672315-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-4acog652/wheels/cf/0a/8d/363b61b456e5493d58ab68e2df84ed6525b00451460548e2ec [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.710830775-05:00 Successfully built storeminder-core [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.711021384-05:00 Installing collected packages: storeminder-core [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.711139003-05:00 Attempting uninstall: storeminder-core [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.751609197-05:00 Found existing installation: storeminder-core 0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.753294549-05:00 Uninstalling storeminder-core-0.1.6: [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.755293500-05:00 Successfully uninstalled storeminder-core-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.893398524-05:00 Successfully installed storeminder-core-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:25.893606943-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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:26.015340552-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:26.015621481-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:26.015629121-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:26.469993117-05:00 Obtaining file:///prsrc/packages/storeminder-integrations [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:26.471933068-05:00 Installing build dependencies: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:28.477829776-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:28.478647103-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:28.590232199-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:28.591227454-05:00 Getting requirements to build editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:28.758502473-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:28.760050976-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:28.907711906-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:28.959342418-05:00 Building wheels for collected packages: storeminder-integrations [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:28.960100824-05:00 Building editable for storeminder-integrations (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.120540765-05:00 Building editable for storeminder-integrations (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.121217812-05:00 Created wheel for storeminder-integrations: filename=storeminder_integrations-0.1.6-0.editable-py3-none-any.whl size=1541 sha256=9a96645a961f7d13e28c9f191f4193dfcd29465653637596392b3463bd335e31 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.121357471-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-503uy7rx/wheels/49/2a/42/c8229e571dd70e2121aa4920cf73feb5ab909b22f329251d8c [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.123425222-05:00 Successfully built storeminder-integrations [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.123726220-05:00 Installing collected packages: storeminder-integrations [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.123868360-05:00 Attempting uninstall: storeminder-integrations [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.166839092-05:00 Found existing installation: storeminder-integrations 0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.168541124-05:00 Uninstalling storeminder-integrations-0.1.6: [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.170094497-05:00 Successfully uninstalled storeminder-integrations-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.349873148-05:00 Successfully installed storeminder-integrations-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.350046648-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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.477791539-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.477809359-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.477815149-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.909106672-05:00 Obtaining file:///prsrc/packages/storeminder-tools [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:29.911301021-05:00 Installing build dependencies: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:31.927867729-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:31.928630085-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.041025117-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.041999403-05:00 Getting requirements to build editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.193943263-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.195213417-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.344959977-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.410061817-05:00 Building wheels for collected packages: storeminder-tools [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.410795353-05:00 Building editable for storeminder-tools (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.583088209-05:00 Building editable for storeminder-tools (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.583798956-05:00 Created wheel for storeminder-tools: filename=storeminder_tools-0.1.6-0.editable-py3-none-any.whl size=1538 sha256=973443a6432c3fff2e28b70d41400a1f9309b1d7573efe93b294bd45c545f298 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.583928325-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-znbvy_a4/wheels/a0/21/f1/6f60f0b2e970907d4c5c8c7175e076b35d88919c960e079b86 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.586250775-05:00 Successfully built storeminder-tools [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.586454904-05:00 Installing collected packages: storeminder-tools [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.586607113-05:00 Attempting uninstall: storeminder-tools [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.632118223-05:00 Found existing installation: storeminder-tools 0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.633797005-05:00 Uninstalling storeminder-tools-0.1.6: [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.635672687-05:00 Successfully uninstalled storeminder-tools-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.719143462-05:00 Successfully installed storeminder-tools-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.719459831-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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.881214075-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.881243905-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:32.881251095-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:33.325271919-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:33.327295659-05:00 Installing build dependencies: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.191838176-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.192634072-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.309984671-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.310958306-05:00 Getting requirements to build editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.527614338-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.528795822-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.702479462-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.746257020-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.747057166-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.936109595-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.936743002-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2198 sha256=c56f47ce81f00532263f8ddc954b006f4b25554d4e694a1b7dccd0ae6f0e30db [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.936863071-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-r0hnwu5k/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.938974902-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.939175921-05:00 Installing collected packages: storeminder-analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.939278010-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.976181240-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.980713889-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:35.982521591-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:36.071414521-05:00 Successfully installed storeminder-analytics-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:36.071596820-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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:36.209052267-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:36.209072107-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:36.209078217-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:36.652197704-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:36.654377224-05:00 Installing build dependencies: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:38.666286289-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:38.667021646-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:38.794251109-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:38.795320994-05:00 Getting requirements to build editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:38.955637296-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:38.956777580-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.124047979-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.184264862-05:00 Requirement already satisfied: storeminder-config==0.1.6 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.1.6) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.184773899-05:00 Requirement already satisfied: storeminder-core==0.1.6 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.1.6) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.185431016-05:00 Requirement already satisfied: storeminder-integrations==0.1.6 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.1.6) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.186020153-05:00 Requirement already satisfied: storeminder-tools==0.1.6 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.1.6) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.190731802-05:00 Requirement already satisfied: pandas>=1.5.0 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (3.0.3) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.191590048-05:00 Requirement already satisfied: numpy>=1.23.0 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (2.4.6) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.192279744-05:00 Requirement already satisfied: requests>=2.28.0 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (2.34.2) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.192909042-05:00 Requirement already satisfied: openpyxl>=3.0.0 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (3.1.5) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.193598088-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.117.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.194599584-05:00 Requirement already satisfied: psycopg>=3.1 in /usr/local/lib/python3.11/site-packages (from psycopg[binary,pool]>=3.1->storeminder-analytics==0.1.6) (3.3.4) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.195868028-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (1.43.52) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.196501515-05:00 Requirement already satisfied: PyYAML>=6.0 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (6.0.3) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.198455376-05:00 Requirement already satisfied: omegaconf>=2.3 in /usr/local/lib/python3.11/site-packages (from storeminder-config==0.1.6->storeminder-analytics==0.1.6) (2.3.1) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.366458632-05:00 Collecting pytest>=7 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.442964999-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.462269530-05:00 Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder-analytics==0.1.6) (4.14.2) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.463360715-05:00 Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder-analytics==0.1.6) (1.9.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.464557139-05:00 Requirement already satisfied: docstring-parser<1,>=0.15 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder-analytics==0.1.6) (0.18.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.465782644-05:00 Requirement already satisfied: httpx<1,>=0.25.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder-analytics==0.1.6) (0.28.1) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.466875949-05:00 Requirement already satisfied: jiter<1,>=0.4.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder-analytics==0.1.6) (0.16.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.470306023-05:00 Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder-analytics==0.1.6) (2.13.4) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.471117609-05:00 Requirement already satisfied: sniffio in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder-analytics==0.1.6) (1.3.1) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.472176324-05:00 Requirement already satisfied: typing-extensions<5,>=4.14 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder-analytics==0.1.6) (4.16.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.478815244-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.52 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder-analytics==0.1.6) (1.43.52) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.479980678-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-analytics==0.1.6) (1.1.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.481078413-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-analytics==0.1.6) (0.19.1) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.486580928-05:00 Requirement already satisfied: et-xmlfile in /usr/local/lib/python3.11/site-packages (from openpyxl>=3.0.0->storeminder-analytics==0.1.6) (2.0.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.529717169-05:00 Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/site-packages (from pandas>=1.5.0->storeminder-analytics==0.1.6) (2.9.0.post0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.565652513-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-analytics==0.1.6) (3.3.4) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.566593609-05:00 Requirement already satisfied: psycopg-pool in /usr/local/lib/python3.11/site-packages (from psycopg[binary,pool]>=3.1->storeminder-analytics==0.1.6) (3.3.1) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.604412564-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.619460345-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.621345186-05:00 Requirement already satisfied: packaging>=22 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder-analytics==0.1.6) (25.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.672768809-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.695785423-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.698235332-05:00 Requirement already satisfied: pygments>=2.7.2 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder-analytics==0.1.6) (2.20.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.706328735-05:00 Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder-analytics==0.1.6) (3.4.9) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.707101201-05:00 Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder-analytics==0.1.6) (3.18) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.707872947-05:00 Requirement already satisfied: urllib3<3,>=1.26 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder-analytics==0.1.6) (2.7.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.708660364-05:00 Requirement already satisfied: certifi>=2023.5.7 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder-analytics==0.1.6) (2026.6.17) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.738618356-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-analytics==0.1.6) (1.0.9) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.744914197-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-analytics==0.1.6) (0.16.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.760629854-05:00 Requirement already satisfied: antlr4-python3-runtime==4.9.* in /usr/local/lib/python3.11/site-packages (from omegaconf>=2.3->storeminder-config==0.1.6->storeminder-analytics==0.1.6) (4.9.3) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.778036554-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-analytics==0.1.6) (0.7.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.778772921-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-analytics==0.1.6) (2.46.4) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.779697426-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-analytics==0.1.6) (0.4.2) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.790692076-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-analytics==0.1.6) (1.17.0) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.855114219-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.904573901-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 8.2 MB/s eta 0:00:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.927321466-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.946446648-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:39.949988271-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:40.071099173-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:40.071542651-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:40.072405077-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:40.275136352-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:40.276001438-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2198 sha256=fea163a1d71923ccb347bb7b84b17b4fe565c7beb3703397bfdaf15be511325d [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:40.276150307-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-1k404fmz/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:40.277963049-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:41.099377952-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder-analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:41.403497940-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:41.448495342-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:41.450034135-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:41.633242500-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:41.886641032-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-analytics-0.1.6 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:41.886830441-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-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:42.052187509-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:42.052204399-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:42.052209909-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:42.195869416-05:00 INFO[0041] Taking snapshot of full filesystem... [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:44.543990498-05:00 INFO[0043] Pushing layer registry.storeminder.ai/images/cache:ba30db4cfa02799083893b7d7f3e489be3fd651170c86db00f6db38e67b5547f to cache now [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:44.544147547-05:00 INFO[0043] Pushing image to registry.storeminder.ai/images/cache:ba30db4cfa02799083893b7d7f3e489be3fd651170c86db00f6db38e67b5547f [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:44.709583305-05:00 INFO[0044] Pushed registry.storeminder.ai/images/cache@sha256:46f3967e52bb8f1842759e0550c0684a7ec21fb0e781c5ab5edd789eb2d32ad5 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:44.710493380-05:00 INFO[0044] Pushing image to registry.storeminder.ai/images/storeminder-report-live:7f7b47d59d0ab50c49a65fc3fb4641899b10d699 [pod/analytics-report-live-pmnfp-live-build-pod/step-build-pr-image] 2026-07-25T17:51:44.958644406-05:00 INFO[0044] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:e889268ccbcaa4bdc387786a1f5c2d8e576def0c0a6a2560acaca99418f4e165 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:45.776039136-05:00 /tekton/scripts/script-2-mpvv5: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:45.918491439-05:00 job.batch/report-live-7f7b47d created [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.333468273-05:00 ----- live Job logs (report-live-7f7b47d) ----- [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657272759-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657298969-05:00 ============================= test session starts ============================== [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657304069-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657308479-05:00 cachedir: .pytest_cache [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657312839-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657316589-05:00 configfile: pyproject.toml [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657320798-05:00 plugins: anyio-4.14.2, langsmith-0.10.9 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657324518-05:00 collecting ... collected 10 items [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657328108-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657331948-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657335758-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657339678-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657343468-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657347628-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657351668-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657363438-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657367288-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657371068-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657374848-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657378498-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657382258-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657386118-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657389758-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657393488-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657397368-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657401158-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657404868-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657408468-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657412258-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657416068-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657420208-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657423918-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657427578-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657431278-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657434988-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657438688-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657442378-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657457488-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657460218-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657462798-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657465228-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657467748-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657470628-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657473138-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657475738-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657478328-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657480998-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657483588-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657486068-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657488538-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657491068-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657493618-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657496118-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657498678-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657501238-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657503778-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657506468-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657508978-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657511698-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657514228-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657516748-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657519288-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657521838-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657524358-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657526928-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657529588-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657532038-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657534608-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657537338-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657539788-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657542377-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657545137-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657547687-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657550227-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657552627-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657555227-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657557887-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657560507-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657587467-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657592587-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657595147-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657603177-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657608537-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657611147-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657613687-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657616257-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657618897-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657621297-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657623797-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657626197-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657629547-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657632177-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657634707-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657637387-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657639967-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657642477-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657645117-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657647647-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657650137-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657652637-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657655137-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657657677-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657660227-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657662807-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657665287-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657667787-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657670317-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657672907-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657675417-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657677957-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657680467-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657682977-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657685587-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657688017-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657690507-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657693047-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657695477-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657698007-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657700547-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657703057-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657705537-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657708037-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657710517-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657714617-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657717177-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657719837-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657726487-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657729067-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657731547-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657734017-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657736557-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657739387-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657741917-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657744417-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657746827-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657749267-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657751677-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657754317-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657756836-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657759346-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657761886-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657764526-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657767046-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657769626-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657772146-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657774646-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657777136-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657779606-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657782146-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657784726-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657787216-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657789726-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657792236-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657794736-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657797236-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657799786-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657802296-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657804816-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657807306-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657809846-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657812276-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657814816-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657820776-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657823296-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657825826-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657828386-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657830846-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657833306-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657835676-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657838176-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657840746-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657847476-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657850066-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657852606-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657855096-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657858766-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657861516-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657864006-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657866476-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657868946-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657871586-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657873976-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657876456-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657878866-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657881336-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657883896-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657886446-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657888976-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657891616-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657894136-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657896646-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657899186-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657901656-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657904146-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657906726-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657909286-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657911856-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657914366-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657916886-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657919396-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657921936-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657924466-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657926996-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657929856-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657932366-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657934926-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657937546-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657939996-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657942596-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657945136-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657947536-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657950006-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657952586-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657955086-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657962266-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657964736-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657967225-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657969735-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657972245-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657974745-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657977305-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657979805-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657982285-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657984795-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657987315-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657989785-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657992235-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657994785-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657997245-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.657999745-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658002165-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658004615-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658007115-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658009685-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658012235-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658014775-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658017435-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658019965-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658022465-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658024975-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658027465-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658029955-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658033045-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658035605-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658038125-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658040695-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658043225-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658045755-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658051005-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658053625-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658056215-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658058775-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658061325-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658066425-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658068895-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658071455-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658074025-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658076495-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658083125-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658085935-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658088505-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658090995-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658093395-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658095855-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658098455-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658100965-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658103505-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658106035-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658108525-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658111075-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658113595-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658116085-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658118545-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658121025-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658123605-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658126045-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658128505-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658130905-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658133345-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658135875-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658138365-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658140885-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658143415-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658145945-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658148475-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658150965-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658153435-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658155925-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658158495-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658161015-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658163595-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658166245-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658168735-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658171235-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658173735-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658176215-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658178744-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658181224-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658183724-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658186264-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658188824-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658191254-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658193734-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658200124-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658202554-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658205034-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658207584-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658210124-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658212664-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658215074-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658217624-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658220174-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658222694-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658225204-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658227984-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658230594-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658233134-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658235914-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658238394-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658240894-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658243374-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658245924-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658248334-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658250894-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658253304-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658255804-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658258294-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658260804-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658263354-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658265884-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658268414-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658270984-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658273484-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658276034-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658281144-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658283754-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658286274-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658288854-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658292514-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658295074-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658298284-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658300784-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658303274-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658305804-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658308304-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658310864-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658313454-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658321144-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658323624-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658326134-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658328634-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658331044-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658333494-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658336004-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658338544-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658341054-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658343474-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658346064-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658348644-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658351124-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658353614-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658356614-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658359234-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658361744-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658364254-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658366754-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658369244-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658371724-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658374334-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658376744-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658379224-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658381664-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658384184-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658386734-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658389224-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658391763-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658394293-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658398203-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658400853-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658403403-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658405933-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658408433-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658410913-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658413443-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658415943-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658418473-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658421043-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658423543-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658426063-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658428563-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658431073-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658437623-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658440153-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658442723-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658445303-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658447713-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658450213-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658452793-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658455213-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658457663-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658460223-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658462743-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658465363-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658467803-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658470283-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658472873-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658475383-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658477913-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658480453-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658482963-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658485483-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658488003-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658490533-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658493023-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658495483-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658498003-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658500383-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658502833-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658505263-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658507713-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658512813-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658515373-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658518493-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658521073-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658523663-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658526173-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658528713-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658531203-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658533733-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658536233-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658538733-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658541293-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658543803-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658546383-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658548903-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658555383-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658557903-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658560393-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658569403-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658573753-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658576313-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658578983-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658583273-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658585853-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658588383-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658590803-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658593333-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658595903-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658598393-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658600963-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658603453-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658606012-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658608662-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658611192-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658613752-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658616322-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658618852-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658621482-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658624002-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658626512-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658628992-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658631482-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658633992-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658636412-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658639282-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658641712-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658644252-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658646862-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658649402-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658651992-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658654582-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658657112-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658659602-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658662172-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658664702-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658667252-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658669752-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658672252-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658674772-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658681622-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658684172-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658686732-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658689372-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658691912-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658694412-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658696962-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658699462-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658702002-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658704542-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658706982-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658709482-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658712082-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658714602-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658717182-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658719762-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658722312-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658724832-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658727492-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658732882-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658736862-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658739402-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658741882-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658744532-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658747052-05:00 ============================== 10 errors in 0.99s ============================== [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658749602-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658752562-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658755672-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658758192-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658760712-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658763092-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658765602-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658768132-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658770742-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658773302-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658779862-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658782402-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658784922-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658787412-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658789942-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658792412-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658794972-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658797832-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658800232-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658802682-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658805092-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658807652-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658810232-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658812782-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658815422-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658818002-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658820552-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658823082-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658825631-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658828141-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658830661-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658833151-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658836121-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658838681-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658841281-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658843801-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658846351-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658848941-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658851501-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658854021-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658856581-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658859101-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658861631-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658864271-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658866711-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658869761-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658872391-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658874921-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658877511-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658879941-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658882431-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658889141-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658891731-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658894321-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658896861-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658899381-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658901921-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658904431-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658906921-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658912771-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658915341-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658917921-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658920371-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658922911-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658925341-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658927891-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658930391-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658932901-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658935461-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658938031-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658940551-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658943131-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658945711-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658948261-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658950791-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658953291-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658955861-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658958431-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658961021-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658963631-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658966141-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658968671-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658971231-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658973751-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658976241-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658978811-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658981371-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658984321-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658986741-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658989651-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658992181-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.658999181-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659001741-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659004151-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659006631-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659009641-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659012141-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659014661-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659017441-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659020021-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659022811-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659025391-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659027901-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659030481-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659032981-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659035501-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659037921-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659040401-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659042831-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659045321-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659047850-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659050470-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659053030-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659056430-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659059010-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659061640-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659064180-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659066720-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659069280-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659071860-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659074420-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659076930-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659079470-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659081970-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659084480-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659087000-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659089550-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659092080-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659094580-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659097820-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659100320-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659102930-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659105370-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659120740-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659139280-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659149240-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659153900-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659156650-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659159840-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659162840-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659165800-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659168520-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659171430-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659173940-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659176460-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659179010-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659181510-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659184000-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659186540-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659189150-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659191570-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659194110-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659196580-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659199090-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659201910-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659204500-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659207210-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659209780-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659212380-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659214900-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659217530-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659220150-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659222700-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659225250-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659227790-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659230390-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659232940-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659235920-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659239510-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659243600-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659247780-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659252010-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659256000-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659260250-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659264360-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659267739-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659283369-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659287669-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659290339-05:00 def daily_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659292869-05:00 > return _run("daily") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659295379-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659297869-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659300429-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659302999-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659305569-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659308099-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659310629-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659313189-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659315749-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659318299-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659320869-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659323369-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659325889-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659328459-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659330899-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659333409-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659335849-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659338419-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659341719-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659345769-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659349949-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659354039-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659358059-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659362169-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659365129-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659367799-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659370399-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659373939-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659376979-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659379529-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659382019-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659384509-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659387799-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659396169-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659398929-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659402349-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659405009-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659412889-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659415529-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659418179-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659420619-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659423349-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659427079-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659430919-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659433769-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659436229-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659438739-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659441309-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659443849-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659446389-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659448889-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659451389-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659453909-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659456429-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659458979-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659461559-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659464079-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659466579-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659469019-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659471569-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659473989-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659476489-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659479419-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659481969-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659484659-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659487249-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659489808-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659492348-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659494928-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659497468-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659500008-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659502528-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659505128-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659508458-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659512208-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659516058-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659519918-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659530378-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659534508-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659539058-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659543138-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659546608-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659549948-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659553818-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659557638-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659560328-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659567668-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659574198-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659576818-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659579248-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659581788-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659584708-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659587318-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659589868-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659592478-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659594998-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659597548-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659600128-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659602668-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659606108-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659608598-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659611168-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659613588-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659616088-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659618548-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659621128-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659628388-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659631068-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659633858-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659636428-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659638948-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659641528-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659644088-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659646648-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659649198-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659651718-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659654268-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659656798-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659664928-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659667528-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659670058-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659672578-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659675128-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659677638-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659680178-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659682698-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659685308-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659687968-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659690398-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659693328-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659695988-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659698738-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659701328-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659703768-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659706247-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659708897-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659711427-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659714017-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659717237-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659719837-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659722357-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659724857-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659727427-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659729957-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659732467-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659735027-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659737467-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659740097-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659742527-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659745037-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659749027-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659751617-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659755397-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659759097-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659761887-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659764437-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659766967-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659769497-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659772087-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659779127-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659781697-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659784257-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659786757-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659789307-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659791887-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659794397-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659796977-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659799507-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659802017-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659805477-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659809277-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659813287-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659817057-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659821257-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659825307-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659827917-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659830487-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659832937-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659841297-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659844457-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659847037-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659849787-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659852517-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659855047-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659857527-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659860097-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659862677-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659865267-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659867787-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659870357-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659872827-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659875347-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659877807-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659880297-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659882877-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659885417-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659888047-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659890857-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659893477-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659902557-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659905197-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659907787-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659910317-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659912837-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659915467-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659917996-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659921206-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659925186-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659929256-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659933726-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659937386-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659941026-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659944846-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659948076-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659950646-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659953276-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659955706-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659958276-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659960836-05:00 def weekly_report(): [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659963386-05:00 > return _run("weekly") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659965936-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659968366-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659970926-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659973586-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659976146-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659978676-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659981206-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659983716-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659986256-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659988786-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659991346-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659993926-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659996436-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.659999026-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660001456-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660004026-05:00 store_id = 'Fastime' [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660006506-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660009006-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660011636-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660014196-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660017446-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660025226-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660027866-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660030506-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660033066-05:00 """ [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660035586-05:00 base = _require_base() [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660038136-05:00 try: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660040646-05:00 import requests [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660043246-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660045836-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660048366-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660050906-05:00 raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660053456-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660055986-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660065606-05:00 if r.status_code == 404: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660068466-05:00 return None [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660071166-05:00 if r.status_code != 200: [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660073686-05:00 > raise ManageApiError( [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660076256-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660078886-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660081546-05:00 [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660084596-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.660087156-05:00 ----- end live Job logs ----- [pod/analytics-report-live-pmnfp-live-build-pod/step-run-live] 2026-07-25T17:51:56.722005760-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-pmnfp-live-build-pod/prepare] 2026-07-25T17:50:51.417455025-05:00 2026/07/25 22:50:51 Entrypoint initialization [pod/analytics-report-live-pmnfp-live-build-pod/place-scripts] 2026-07-25T17:50:52.074932312-05:00 2026/07/25 22:50:52 Decoded script /tekton/scripts/script-0-vzhr6 [pod/analytics-report-live-pmnfp-live-build-pod/place-scripts] 2026-07-25T17:50:52.090419951-05:00 2026/07/25 22:50:52 Decoded script /tekton/scripts/script-2-mpvv5 [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.143490074-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144554939-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144579239-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144586469-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144590719-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144594729-05:00 COPY . /prsrc [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144598809-05:00 WORKDIR /prsrc [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144602839-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144606829-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144610789-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144614739-05:00 # Overlay the sibling storeminder-* dists first when the checkout has [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144618899-05:00 # them (#781 package family; guard keeps pre-carve branches working). [pod/analytics-report-live-pmnfp-live-build-pod/step-prepare-dockerfile] 2026-07-25T17:51:00.144623569-05:00 RUN if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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) ===== analytics-report-live-pmnfp-notify-on-failure-pod.log ===== [pod/analytics-report-live-pmnfp-notify-on-failure-pod/prepare] 2026-07-25T17:52:01.644026774-05:00 2026/07/25 22:52:01 Entrypoint initialization [pod/analytics-report-live-pmnfp-notify-on-failure-pod/place-scripts] 2026-07-25T17:52:02.513883309-05:00 2026/07/25 22:52:02 Decoded script /tekton/scripts/script-0-72cmf [pod/analytics-report-live-pmnfp-notify-on-failure-pod/step-slack-alert] 2026-07-25T17:52:08.427500217-05:00 slack-preview-token absent — skipping Slack alert (see the storeminder/slack Vault grant) ===== analytics-report-live-pmnfp-post-check-live-pod.log ===== [pod/analytics-report-live-pmnfp-post-check-live-pod/prepare] 2026-07-25T17:52:04.192426740-05:00 2026/07/25 22:52:04 Entrypoint initialization [pod/analytics-report-live-pmnfp-post-check-live-pod/place-scripts] 2026-07-25T17:52:04.907705348-05:00 2026/07/25 22:52:04 Decoded script /tekton/scripts/script-0-fkpn7 [pod/analytics-report-live-pmnfp-post-check-live-pod/step-post-check] 2026-07-25T17:52:08.579432086-05:00 Installing PyJWT + cryptography + requests… ===== analytics-report-live-pmnfp-post-status-live-pod.log ===== [pod/analytics-report-live-pmnfp-post-status-live-pod/prepare] 2026-07-25T17:51:59.945401634-05:00 2026/07/25 22:51:59 Entrypoint initialization [pod/analytics-report-live-pmnfp-post-status-live-pod/place-scripts] 2026-07-25T17:52:00.390333621-05:00 2026/07/25 22:52:00 Decoded script /tekton/scripts/script-0-8tmqh [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:03.960633880-05:00 Posting commit status to GitHub [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:03.960662610-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:03.960666940-05:00 SHA: 7f7b47d59d0ab50c49a65fc3fb4641899b10d699 [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:03.960670830-05:00 State: failure (Failed) [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:03.960675410-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-7f7b47d59d0ab50c49a65fc3fb4641899b10d699/analytics-report-live-pmnfp/logs.txt [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.690870249-05:00 { [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691007978-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/7f7b47d59d0ab50c49a65fc3fb4641899b10d699", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691015948-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691021538-05:00 "id": 51090851223, [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691027568-05:00 "node_id": "SC_kwDOS9o4_c8AAAAL5UCFlw", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691032928-05:00 "state": "failure", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691037958-05:00 "description": "Checks failed", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691043158-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-7f7b47d59d0ab50c49a65fc3fb4641899b10d699/analytics-report-live-pmnfp/logs.txt", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691048508-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691054238-05:00 "created_at": "2026-07-25T22:52:04Z", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691058918-05:00 "updated_at": "2026-07-25T22:52:04Z", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691064268-05:00 "creator": { [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691069728-05:00 "login": "steveblackmon", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691075208-05:00 "id": 702924, [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691080178-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691085218-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691103908-05:00 "gravatar_id": "", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691109828-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691114328-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691118828-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691124058-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691128838-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691146978-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691152228-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691157358-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691162138-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691166698-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691171258-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691175998-05:00 "type": "User", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691180698-05:00 "user_view_type": "public", [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691185518-05:00 "site_admin": false [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691190198-05:00 } [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.691194858-05:00 } [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.694963390-05:00 [pod/analytics-report-live-pmnfp-post-status-live-pod/step-post-status] 2026-07-25T17:52:04.694979800-05:00 Status posted successfully ===== analytics-report-live-pmnfp-reclaim-workspace-pod.log ===== [pod/analytics-report-live-pmnfp-reclaim-workspace-pod/prepare] 2026-07-25T17:52:03.262680762-05:00 2026/07/25 22:52:03 Entrypoint initialization [pod/analytics-report-live-pmnfp-reclaim-workspace-pod/place-scripts] 2026-07-25T17:52:04.914514197-05:00 2026/07/25 22:52:04 Decoded script /tekton/scripts/script-0-s4n5j [pod/analytics-report-live-pmnfp-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-25T17:52:08.807193424-05:00 ==> reclaiming workspace PVC(s) owned by PipelineRun=analytics-report-live-pmnfp in ns=tekton-pipelines [pod/analytics-report-live-pmnfp-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-25T17:52:09.124747628-05:00 ==> deleting PVC pvc-fd76a59632 (5Gi) [pod/analytics-report-live-pmnfp-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-25T17:52:09.251551222-05:00 persistentvolumeclaim "pvc-fd76a59632" deleted [pod/analytics-report-live-pmnfp-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-25T17:52:09.255001436-05:00 ==> requested deletion of 1 run-owned PVC(s)