===== analytics-report-live-jm6pl-archive-logs-pod.log ===== [pod/analytics-report-live-jm6pl-archive-logs-pod/prepare] 2026-08-04T17:18:03.422394680-05:00 2026/08/04 22:18:03 Entrypoint initialization [pod/analytics-report-live-jm6pl-archive-logs-pod/place-scripts] 2026-08-04T17:18:04.480496488-05:00 2026/08/04 22:18:04 Decoded script /tekton/scripts/script-0-wq44k [pod/analytics-report-live-jm6pl-archive-logs-pod/place-scripts] 2026-08-04T17:18:04.517504715-05:00 2026/08/04 22:18:04 Decoded script /tekton/scripts/script-1-wkqtr [pod/analytics-report-live-jm6pl-archive-logs-pod/step-collect-logs] 2026-08-04T17:18:10.557233494-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-jm6pl ===== analytics-report-live-jm6pl-clone-pod.log ===== [pod/analytics-report-live-jm6pl-clone-pod/prepare] 2026-08-04T17:14:56.488176204-05:00 2026/08/04 22:14:56 Entrypoint initialization [pod/analytics-report-live-jm6pl-clone-pod/place-scripts] 2026-08-04T17:14:57.054903819-05:00 2026/08/04 22:14:57 Decoded script /tekton/scripts/script-0-4dsns [pod/analytics-report-live-jm6pl-clone-pod/step-clone] 2026-08-04T17:15:14.248139538-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-jm6pl-clone-pod/step-clone] 2026-08-04T17:15:14.248186824-05:00 * branch d13b925f2d2a1b16bc06667554e2d1f9528eff73 -> FETCH_HEAD [pod/analytics-report-live-jm6pl-clone-pod/step-clone] 2026-08-04T17:15:14.885774358-05:00 Cloned d13b925f2d2a1b16bc06667554e2d1f9528eff73 ===== analytics-report-live-jm6pl-live-build-pod.log ===== [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.414642651-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.414682521-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.438458364-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.438487728-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.446785850-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.446811039-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.446819130-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.446835134-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.446840740-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.447056570-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.447514334-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.511728896-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:48711e655a8c81aa5c21de3edd36268f31db33c364eb1e88a22511186f217eb6... [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.528105962-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:15:54.528138098-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:06.065002167-05:00 INFO[0011] COPY . /prsrc [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:06.241229382-05:00 INFO[0011] Taking snapshot of files... [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:06.541338525-05:00 INFO[0012] WORKDIR /prsrc [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:06.541472081-05:00 INFO[0012] Cmd: workdir [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:06.541480142-05:00 INFO[0012] Changed working directory to /prsrc [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:06.541843802-05:00 INFO[0012] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:06.541880591-05:00 INFO[0012] 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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:06.541887768-05:00 INFO[0012] Initializing snapshotter ... [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:06.541894010-05:00 INFO[0012] Taking snapshot of full filesystem... [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:18.544211758-05:00 INFO[0024] Cmd: /bin/sh [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:18.544229730-05:00 INFO[0024] 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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:18.544250992-05:00 INFO[0024] 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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:18.915171817-05:00 Obtaining file:///prsrc/packages/storeminder-config [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:18.917055912-05:00 Installing build dependencies: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:21.779004965-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:21.779066564-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:21.779074516-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:21.779079575-05:00 Getting requirements to build editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:21.779084744-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:21.779088979-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:21.779093422-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:21.779757086-05:00 Building wheels for collected packages: storeminder-config [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:21.780419557-05:00 Building editable for storeminder-config (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.240936002-05:00 Building editable for storeminder-config (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.240981210-05:00 Created wheel for storeminder-config: filename=storeminder_config-0.1.6-0.editable-py3-none-any.whl size=1448 sha256=520ef325becd4d91436919a38a9a493df32f19b8bb3b4c6454879c38e906f3a3 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.240989769-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-2108f9i0/wheels/c8/b7/ed/799e8d0938926d17720d45f014fd606224a2bdbd8f166b8ac7 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.240995544-05:00 Successfully built storeminder-config [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.241001508-05:00 Installing collected packages: storeminder-config [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.241007253-05:00 Attempting uninstall: storeminder-config [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.241013754-05:00 Found existing installation: storeminder-config 0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.241019808-05:00 Uninstalling storeminder-config-0.1.6: [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.241025702-05:00 Successfully uninstalled storeminder-config-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.575886335-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.575946334-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.575954564-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.575961155-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:22.577167511-05:00 Successfully installed storeminder-config-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:23.075148020-05:00 Obtaining file:///prsrc/packages/storeminder-core [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:23.127475028-05:00 Installing build dependencies: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:25.477780678-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:25.496564533-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:25.598952124-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:25.600449528-05:00 Getting requirements to build editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:25.760277547-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:25.761631008-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:25.929005944-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:25.984456801-05:00 Building wheels for collected packages: storeminder-core [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:25.985182651-05:00 Building editable for storeminder-core (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.155365629-05:00 Building editable for storeminder-core (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.156329147-05:00 Created wheel for storeminder-core: filename=storeminder_core-0.1.6-0.editable-py3-none-any.whl size=1421 sha256=7ecad81b2bbcd509dd0811d280b96186808a28641192d9698e285c1b873d4302 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.156591378-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-bcxtf6c3/wheels/cf/0a/8d/363b61b456e5493d58ab68e2df84ed6525b00451460548e2ec [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.159688778-05:00 Successfully built storeminder-core [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.159919817-05:00 Installing collected packages: storeminder-core [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.160140746-05:00 Attempting uninstall: storeminder-core [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.228801223-05:00 Found existing installation: storeminder-core 0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.230856537-05:00 Uninstalling storeminder-core-0.1.6: [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.232882737-05:00 Successfully uninstalled storeminder-core-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.521387501-05:00 Successfully installed storeminder-core-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.521542995-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.664200744-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.664247393-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:26.664254918-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:27.232526412-05:00 Obtaining file:///prsrc/packages/storeminder-integrations [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:27.232576461-05:00 Installing build dependencies: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:29.588666347-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:29.599018383-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:29.713461564-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:29.714435818-05:00 Getting requirements to build editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:29.903707606-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:29.905293924-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.169503065-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.191068421-05:00 Building wheels for collected packages: storeminder-integrations [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.191082417-05:00 Building editable for storeminder-integrations (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.335488689-05:00 Building editable for storeminder-integrations (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.342631609-05:00 Created wheel for storeminder-integrations: filename=storeminder_integrations-0.1.6-0.editable-py3-none-any.whl size=1541 sha256=f7ca193da8be62421d28f7e0393b10d947ce10f16caa64435e9687a6590eb74f [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.342652910-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-trm2agzg/wheels/49/2a/42/c8229e571dd70e2121aa4920cf73feb5ab909b22f329251d8c [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.342657334-05:00 Successfully built storeminder-integrations [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.342660713-05:00 Installing collected packages: storeminder-integrations [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.342664222-05:00 Attempting uninstall: storeminder-integrations [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.383849241-05:00 Found existing installation: storeminder-integrations 0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.385432149-05:00 Uninstalling storeminder-integrations-0.1.6: [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.387055286-05:00 Successfully uninstalled storeminder-integrations-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.718434201-05:00 Successfully installed storeminder-integrations-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.718614585-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.871603089-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.871734955-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:30.871744249-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:31.357610237-05:00 Obtaining file:///prsrc/packages/storeminder-tools [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:31.359660760-05:00 Installing build dependencies: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:33.957418534-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:33.958523669-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936644203-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936718327-05:00 Getting requirements to build editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936728635-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936740007-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936751139-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936758555-05:00 Building wheels for collected packages: storeminder-tools [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936767392-05:00 Building editable for storeminder-tools (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936778415-05:00 Building editable for storeminder-tools (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936791397-05:00 Created wheel for storeminder-tools: filename=storeminder_tools-0.1.6-0.editable-py3-none-any.whl size=1538 sha256=e98b02cfb96cb5287bed8a76782d8bebec75ee199aa52bed034c5297086bc505 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936799956-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-iv4cdazg/wheels/a0/21/f1/6f60f0b2e970907d4c5c8c7175e076b35d88919c960e079b86 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936808176-05:00 Successfully built storeminder-tools [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936815900-05:00 Installing collected packages: storeminder-tools [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936823891-05:00 Attempting uninstall: storeminder-tools [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936831038-05:00 Found existing installation: storeminder-tools 0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936838374-05:00 Uninstalling storeminder-tools-0.1.6: [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.936845859-05:00 Successfully uninstalled storeminder-tools-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.948366519-05:00 Successfully installed storeminder-tools-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:34.948521108-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:35.119500624-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:35.119528705-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:35.119536488-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:35.730115912-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:35.730157770-05:00 Installing build dependencies: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.457429312-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.457483029-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.457501259-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.457509122-05:00 Getting requirements to build editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.457519797-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.457554479-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.457561566-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.457566953-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.457572868-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.617773907-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.618927142-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2198 sha256=505d0157de3be8ac1c14fbc540b45a3a2b64435a2b6b9e45e7e4ffa684129e41 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.619265117-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-6z32youn/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.623279744-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.623541845-05:00 Installing collected packages: storeminder-analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:38.623734197-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.058081448-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.058095274-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.058167937-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.058174338-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.058178304-05:00 Successfully installed storeminder-analytics-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.185766438-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.185807978-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.185816636-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.760818423-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:39.760878312-05:00 Installing build dependencies: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.051172743-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.051214293-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.401608221-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.401670268-05:00 Getting requirements to build editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.401680267-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.401687862-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728401100-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728453962-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728461994-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728468624-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728474717-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728479359-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.5) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728497957-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728501367-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728504677-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728507003-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.120.2) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728509836-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728512450-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (1.43.64) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728515362-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.728518185-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:42.859526019-05:00 Collecting pytest>=7 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085526347-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085573285-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085578523-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085583145-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085587082-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085591316-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085595372-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085600481-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085606137-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085609338-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.64 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder-analytics==0.1.6) (1.43.64) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085612518-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085615491-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.2) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085619387-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085635778-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085638969-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.085642080-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.089974672-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.106730241-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.108813894-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.167747404-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.179954123-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.182334122-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.191356227-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.192176448-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.192985456-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.193862873-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.7.22) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454449317-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454516611-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454532724-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454538162-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.8.0) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454542714-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454547297-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454553609-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454558867-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454563877-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 6.3 MB/s eta 0:00:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.454584085-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.467392243-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.473398010-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.784575327-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.784643725-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.784652303-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.788627775-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.789656730-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2198 sha256=3facbbc3e8628b7be9add557c847007c634e3965992c84c9edef27a401b69fbc [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.789885751-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-n4yhr_gn/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:43.793153465-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:44.753733004-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder-analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:45.701496496-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:45.701557190-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:45.701567956-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:45.976642910-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:46.496654692-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:46.496675417-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-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:46.496780902-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:46.496791786-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:46.496798724-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:46.524748658-05:00 INFO[0052] Taking snapshot of full filesystem... [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:49.654271258-05:00 INFO[0055] Pushing layer registry.storeminder.ai/images/cache:48711e655a8c81aa5c21de3edd36268f31db33c364eb1e88a22511186f217eb6 to cache now [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:49.654335184-05:00 INFO[0055] Pushing image to registry.storeminder.ai/images/cache:48711e655a8c81aa5c21de3edd36268f31db33c364eb1e88a22511186f217eb6 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:50.808931703-05:00 INFO[0055] Pushed registry.storeminder.ai/images/cache@sha256:8f3ca310f4b09c33f3fdb1fa63e22164189d422fb68827706352b6e5fa8238f9 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:50.809013540-05:00 INFO[0055] Pushing image to registry.storeminder.ai/images/storeminder-report-live:d13b925f2d2a1b16bc06667554e2d1f9528eff73 [pod/analytics-report-live-jm6pl-live-build-pod/step-build-pr-image] 2026-08-04T17:16:50.809023182-05:00 INFO[0056] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:1c8dbf0dd60749f1da78e5f3ae55649662593e0c13f83739f34ed564c6e75010 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:16:51.803200366-05:00 /tekton/scripts/script-2-cz5n8: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:16:51.938002604-05:00 job.batch/report-live-d13b925 created [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.254410510-05:00 ----- live Job logs (report-live-d13b925) ----- [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.379916545-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380020807-05:00 ============================= test session starts ============================== [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380025857-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380029485-05:00 cachedir: .pytest_cache [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380033053-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380036453-05:00 configfile: pyproject.toml [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380047407-05:00 plugins: anyio-4.14.2, langsmith-0.10.15 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380053371-05:00 collecting ... collected 10 items [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380056910-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380060220-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380064385-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380067675-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380071005-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380074255-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380077555-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380080875-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380084136-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380087376-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380090666-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380094165-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380097545-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380101829-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380105537-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380109314-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380129224-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380132992-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380136391-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380139542-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380143021-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380147077-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380151600-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380155118-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380159820-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380163697-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380167613-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380170883-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380174124-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380190088-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380192583-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380194799-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380196887-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380199084-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380201171-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380203348-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380205604-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380207930-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380210187-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380212433-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380214610-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380216807-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380219133-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380221350-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380223556-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380225783-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380227980-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380230236-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380232413-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380234570-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380236856-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380239063-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380242691-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380244898-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380247065-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380249252-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380251419-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380253615-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380255703-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380257909-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380260106-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380262194-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380264400-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380266697-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380268883-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380271070-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380273138-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380275325-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380277531-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380279698-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380288078-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380290622-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380292859-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380295225-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380302958-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380305602-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380308326-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380311049-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380313863-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380316318-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380318813-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380320940-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380323127-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380325502-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380328306-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380331337-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380334190-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380336924-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380339140-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380341387-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380343852-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380346605-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380349389-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380352122-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380354866-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380357112-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380359339-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380361645-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380363852-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380366307-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380368513-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380370710-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380372897-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380375094-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380377320-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380379527-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380381734-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380383951-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380386058-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380388245-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380390422-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380392618-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380394815-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380396912-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380399099-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380401316-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380403513-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380405719-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380413890-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380416176-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380418393-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380420630-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380422836-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380425093-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380427280-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380429566-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380431663-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380433890-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380435997-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380438204-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380440411-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380442697-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380446355-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380448621-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380450868-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380453074-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380455281-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380457637-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380459863-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380462090-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380464327-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380466533-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380468730-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380470947-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380473143-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380475410-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380477607-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380479803-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380482000-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380484316-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380486523-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380488720-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380490817-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380493054-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380499117-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380501284-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380503471-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380505678-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380508391-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380510598-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380513033-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380515230-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380517447-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380524405-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380526711-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380528908-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380531095-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380533321-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380535747-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380537943-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380540140-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380542347-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380544544-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380546631-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380548848-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380550935-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380553182-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380555378-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380557655-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380559881-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380562108-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380564305-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380566501-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380568698-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380570935-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380573151-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380575358-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380577555-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380579752-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380581938-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380584195-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380586402-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380588628-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380590855-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380593051-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380595258-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380597455-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380599781-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380601998-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380604095-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380606481-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380608697-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380610815-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380613001-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380615218-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380617425-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380619622-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380626361-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380628597-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380630814-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380633021-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380635228-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380637444-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380639631-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380641828-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380644025-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380646251-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380648438-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380650625-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380652822-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380654929-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380657136-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380659223-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380661390-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380663617-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380665813-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380668030-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380670247-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380672493-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380674700-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380676936-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380679243-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380681578-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380683795-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380685992-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380688189-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380690405-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380692602-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380694799-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380697006-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380702870-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380705137-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380707343-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380709550-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380711965-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380714172-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380716280-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380718516-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380720782-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380723029-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380725226-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380732333-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380734639-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380736836-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380738913-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380741140-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380743356-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380745553-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380747760-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380749987-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380752233-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380754420-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380756696-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380759052-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380761249-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380763436-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380765642-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380767740-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380769946-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380772044-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380774211-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380776417-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380778624-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380780841-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380783047-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380785254-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380787481-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380789697-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380791914-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380794151-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380796357-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380798564-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380800890-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380803107-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380805303-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380807510-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380809717-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380811953-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380814150-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380816367-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380818554-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380820750-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380823096-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380825194-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380827400-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380834259-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380836486-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380838653-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380840889-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380843136-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380845362-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380847460-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380849686-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380852102-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380854318-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380856555-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380858811-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380861018-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380863205-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380865402-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380867668-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380869905-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380872081-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380874288-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380876385-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380878592-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380880680-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380882926-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380885133-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380887439-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380889666-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380891912-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380894149-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380896355-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380899834-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380902359-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380908293-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380910599-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380912806-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380915132-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380917617-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380919993-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380922220-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380924436-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380926792-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380928989-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380931186-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380933372-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380935589-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380942418-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380944535-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380946831-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380949058-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380951165-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380953342-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380955529-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380957775-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380959972-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380962050-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380964256-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380966493-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380968769-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380970976-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380973173-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380975350-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380977536-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380979723-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380981910-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380984226-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380986413-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380988600-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380990697-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380992964-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380995041-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380997198-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.380999405-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381001790-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381004007-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381006949-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381009265-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381011462-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381013659-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381015895-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381018092-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381020329-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381022536-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381024742-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381026949-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381029156-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381031352-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381033549-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381035816-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381038032-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381046561-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381055318-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381057584-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381059811-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381061918-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381064433-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381066710-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381068946-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381071123-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381073310-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381075507-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381077703-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381079801-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381081997-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381084463-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381086858-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381089045-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381091232-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381093419-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381095625-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381097812-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381100069-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381102246-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381104482-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381106669-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381108766-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381110963-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381113060-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381115247-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381121281-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381123577-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381125814-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381128130-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381130565-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381132901-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381135098-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381137304-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381139501-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381141847-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381144113-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381146320-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381148537-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381150734-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381153000-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381155246-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381161867-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381164113-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381166310-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381168517-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381170932-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381173159-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381175236-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381177433-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381179640-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381181777-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381183954-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381186150-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381188347-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381190544-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381192621-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381194808-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381197015-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381199301-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381201508-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381203705-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381205891-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381208347-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381210543-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381212720-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381214917-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381217223-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381219420-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381221517-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381223714-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381225802-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381227969-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381230175-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381232372-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381234609-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381236825-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381239042-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381241229-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381243435-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381245761-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381247978-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381250175-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381252431-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381254628-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381256835-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381263763-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381266129-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381268316-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381270512-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381272699-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381274926-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381277103-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381279309-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381281536-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381283623-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381285820-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381288037-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381290224-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381292470-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381294677-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381296983-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381299170-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381301367-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381307231-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381309488-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381311883-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381314070-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381316515-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381318702-05:00 ============================== 10 errors in 0.72s ============================== [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381320899-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381325104-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381328493-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381330720-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381333215-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381335332-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381337519-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381339736-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381341922-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381344109-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381346286-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381353413-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381355680-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381357866-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381360043-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381362240-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381364427-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381366624-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381368701-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381370888-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381373075-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381375351-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381377548-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381379775-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381381981-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381384188-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381386424-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381388621-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381391037-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381393233-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381395440-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381397657-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381399864-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381402060-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381404257-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381406454-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381408671-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381410867-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381413064-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381415261-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381417448-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381419635-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381421831-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381424068-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381426195-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381429555-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381431801-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381434008-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381436215-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381438302-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381440549-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381442755-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381450707-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381453033-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381455250-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381457467-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381459644-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381461830-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381464007-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381469981-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381472218-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381474435-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381476621-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381479067-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381481303-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381483500-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381485727-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381488152-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381490359-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381492565-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381494762-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381497009-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381499195-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381501412-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381503609-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381505826-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381508032-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381510249-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381512505-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381514702-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381516889-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381519145-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381521352-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381523569-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381525756-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381527952-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381530199-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381532694-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381534801-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381537535-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381539741-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381542137-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381551998-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381554125-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381556312-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381558518-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381560695-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381562892-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381565069-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381567325-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381569572-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381571759-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381573985-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381576152-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381578329-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381580516-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381582603-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381584810-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381586927-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381589124-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381591311-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381593518-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381595724-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381597931-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381600128-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381602344-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381604541-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381606748-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381609034-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381611231-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381613428-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381615744-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381617980-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381620386-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381623139-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381625326-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381627533-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381629730-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381631936-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381634133-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381636340-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381638596-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381640693-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381671906-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381712044-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381730771-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381735791-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381740324-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381745403-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381750274-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381755174-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381759647-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381764041-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381768424-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381772828-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381777341-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381781704-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381786068-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381790402-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381794776-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381798961-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381803374-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381807519-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381811992-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381816724-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381821197-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381825709-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381830123-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381834526-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381838920-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381843423-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381848045-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381852478-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381856941-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381861345-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381865798-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381870221-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381874625-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381879098-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381883561-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381887945-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381892338-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381896732-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381901125-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381905688-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381910718-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381925061-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381929793-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381934316-05:00 def daily_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381938719-05:00 > return _run("daily") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381943123-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381947307-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381951800-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381959623-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381964146-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381968649-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381973042-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381977406-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381981780-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381986173-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381990537-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381994871-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.381999215-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382003608-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382007793-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382012157-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382016342-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382020725-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382025258-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382029681-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382034115-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382038598-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382060396-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382064969-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382069432-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382073845-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382078279-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382082662-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382087026-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382091509-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382095923-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382100316-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382104889-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382115346-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382120097-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382124610-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382129033-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382133427-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382147383-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382152750-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382158029-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382168436-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382177253-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382182501-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382187779-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382192690-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382197938-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382203038-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382208187-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382213385-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382218663-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382224160-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382229230-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382234369-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382239657-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382244915-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382249925-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382255223-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382260094-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382265541-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382270660-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382276167-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382281575-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382286813-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382291942-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382299636-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382305053-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382309964-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382314984-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382319576-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382323940-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382328293-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382332597-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382336961-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382341295-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382345609-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382349953-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382354297-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382373044-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382377537-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382381881-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382386205-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382390588-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382394962-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382399107-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382403481-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382407864-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382412188-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382416522-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382420627-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382424941-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382429255-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382433629-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382437943-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382442267-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382446591-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382450885-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382455169-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382459553-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382463847-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382468191-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382472485-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382476581-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382480895-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382485010-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382489344-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382503488-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382508359-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382512961-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382517305-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382521699-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382526023-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382530357-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382534711-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382539064-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382543458-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382547762-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382552106-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382556440-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382569809-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382574282-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382578656-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382582980-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382587423-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382591727-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382596071-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382600475-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382604868-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382608993-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382613725-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382618079-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382622442-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382626786-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382630911-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382635225-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382639688-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382644400-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382648833-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382653167-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382657531-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382661845-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382666149-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382670473-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382674777-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382679071-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382683385-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382687739-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382692242-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382696377-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382700721-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382705105-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382709528-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382713951-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382718355-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382722738-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382727152-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382731585-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382735979-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382740352-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382753434-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382757827-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382762201-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382766564-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382771028-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382775371-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382779705-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382784049-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382788373-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382792717-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382797011-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382801345-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382807727-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382811892-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382816365-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382820758-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382825351-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382829704-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382833879-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382843968-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382848730-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382853243-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382857606-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382861980-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382866324-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382870668-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382875002-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382879554-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382883868-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382888162-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382892486-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382896582-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382900916-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382905071-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382909385-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382913788-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382918162-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382922525-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382926929-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382931293-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382935656-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382948877-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382953290-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382957714-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382962067-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382966371-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382970725-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382975049-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382979413-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382983717-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382988051-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382992474-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.382996818-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383001132-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383005506-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383011877-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383016321-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383020466-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383024979-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383029432-05:00 def weekly_report(): [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383033766-05:00 > return _run("weekly") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383038100-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383060137-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383065554-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383069978-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383074351-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383078705-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383083138-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383087522-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383091925-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383096259-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383100623-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383104947-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383109271-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383113655-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383117879-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383122253-05:00 store_id = 'Fastime' [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383126378-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383130791-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383135115-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383139489-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383143883-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383157868-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383162331-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383166705-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383171069-05:00 """ [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383175413-05:00 base = _require_base() [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383179776-05:00 try: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383184100-05:00 import requests [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383188464-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383192858-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383197221-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383201575-05:00 raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383205909-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383210432-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383229298-05:00 if r.status_code == 404: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383233841-05:00 return None [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383238195-05:00 if r.status_code != 200: [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383242717-05:00 > raise ManageApiError( [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383247061-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383251514-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383255630-05:00 [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383260580-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.383265053-05:00 ----- end live Job logs ----- [pod/analytics-report-live-jm6pl-live-build-pod/step-run-live] 2026-08-04T17:17:59.797498555-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-jm6pl-live-build-pod/prepare] 2026-08-04T17:15:27.151084826-05:00 2026/08/04 22:15:27 Entrypoint initialization [pod/analytics-report-live-jm6pl-live-build-pod/place-scripts] 2026-08-04T17:15:28.364919690-05:00 2026/08/04 22:15:28 Decoded script /tekton/scripts/script-0-jm74c [pod/analytics-report-live-jm6pl-live-build-pod/place-scripts] 2026-08-04T17:15:28.393576332-05:00 2026/08/04 22:15:28 Decoded script /tekton/scripts/script-2-cz5n8 [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.580705701-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581644200-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581668623-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581676237-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581682867-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581689298-05:00 COPY . /prsrc [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581695540-05:00 WORKDIR /prsrc [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581700679-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581705908-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581710948-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581715977-05:00 # Overlay the sibling storeminder-* dists first when the checkout has [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581721007-05:00 # them (#781 package family; guard keeps pre-carve branches working). [pod/analytics-report-live-jm6pl-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:15:53.581728065-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-jm6pl-notify-on-failure-pod.log ===== [pod/analytics-report-live-jm6pl-notify-on-failure-pod/prepare] 2026-08-04T17:18:04.619336217-05:00 2026/08/04 22:18:04 Entrypoint initialization [pod/analytics-report-live-jm6pl-notify-on-failure-pod/place-scripts] 2026-08-04T17:18:06.172535868-05:00 2026/08/04 22:18:06 Decoded script /tekton/scripts/script-0-vhvzn ===== analytics-report-live-jm6pl-post-check-live-pod.log ===== [pod/analytics-report-live-jm6pl-post-check-live-pod/place-scripts] 2026-08-04T17:18:06.173651142-05:00 2026/08/04 22:18:06 Decoded script /tekton/scripts/script-0-mxl6d [pod/analytics-report-live-jm6pl-post-check-live-pod/step-post-check] 2026-08-04T17:18:09.853264403-05:00 Installing PyJWT + cryptography + requests… [pod/analytics-report-live-jm6pl-post-check-live-pod/prepare] 2026-08-04T17:18:04.872062109-05:00 2026/08/04 22:18:04 Entrypoint initialization ===== analytics-report-live-jm6pl-post-status-live-pod.log ===== [pod/analytics-report-live-jm6pl-post-status-live-pod/prepare] 2026-08-04T17:18:03.661127095-05:00 2026/08/04 22:18:03 Entrypoint initialization [pod/analytics-report-live-jm6pl-post-status-live-pod/place-scripts] 2026-08-04T17:18:04.316743733-05:00 2026/08/04 22:18:04 Decoded script /tekton/scripts/script-0-9p25q [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:10.786442073-05:00 Posting commit status to GitHub [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:10.786479523-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:10.786483003-05:00 SHA: d13b925f2d2a1b16bc06667554e2d1f9528eff73 [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:10.786485973-05:00 State: failure (Failed) [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:10.786502463-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-d13b925f2d2a1b16bc06667554e2d1f9528eff73/analytics-report-live-jm6pl/logs.txt [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458085086-05:00 { [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458104396-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/d13b925f2d2a1b16bc06667554e2d1f9528eff73", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458107886-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458110436-05:00 "id": 51653760316, [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458112626-05:00 "node_id": "SC_kwDOS9o4_c8AAAAMBs3VPA", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458114596-05:00 "state": "failure", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458116576-05:00 "description": "Checks failed", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458119536-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-d13b925f2d2a1b16bc06667554e2d1f9528eff73/analytics-report-live-jm6pl/logs.txt", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458121676-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458124056-05:00 "created_at": "2026-08-04T22:18:11Z", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458126136-05:00 "updated_at": "2026-08-04T22:18:11Z", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458128076-05:00 "creator": { [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458130126-05:00 "login": "steveblackmon", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458132266-05:00 "id": 702924, [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458134246-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458136246-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458138336-05:00 "gravatar_id": "", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458141046-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458142936-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458144956-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458147596-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458149516-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458158616-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458161046-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458163006-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458165846-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458168946-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458171856-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458174526-05:00 "type": "User", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458178196-05:00 "user_view_type": "public", [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458181045-05:00 "site_admin": false [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458183025-05:00 } [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.458184975-05:00 } [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.462384046-05:00 [pod/analytics-report-live-jm6pl-post-status-live-pod/step-post-status] 2026-08-04T17:18:11.462397126-05:00 Status posted successfully ===== analytics-report-live-jm6pl-reclaim-workspace-pod.log ===== [pod/analytics-report-live-jm6pl-reclaim-workspace-pod/prepare] 2026-08-04T17:18:04.584987940-05:00 2026/08/04 22:18:04 Entrypoint initialization [pod/analytics-report-live-jm6pl-reclaim-workspace-pod/place-scripts] 2026-08-04T17:18:05.815878691-05:00 2026/08/04 22:18:05 Decoded script /tekton/scripts/script-0-bxj6g [pod/analytics-report-live-jm6pl-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-04T17:18:10.519588840-05:00 ==> reclaiming workspace PVC(s) owned by PipelineRun=analytics-report-live-jm6pl in ns=tekton-pipelines [pod/analytics-report-live-jm6pl-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-04T17:18:10.769651942-05:00 ==> deleting PVC pvc-756c3528f2 (5Gi) [pod/analytics-report-live-jm6pl-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-04T17:18:10.845543037-05:00 persistentvolumeclaim "pvc-756c3528f2" deleted [pod/analytics-report-live-jm6pl-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-04T17:18:10.851178761-05:00 ==> requested deletion of 1 run-owned PVC(s)