===== analytics-report-live-6c5kp-archive-logs-pod.log ===== [pod/analytics-report-live-6c5kp-archive-logs-pod/step-collect-logs] 2026-08-19T10:00:02.736675107-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-6c5kp [pod/analytics-report-live-6c5kp-archive-logs-pod/prepare] 2026-08-19T09:59:58.069094437-05:00 2026/08/19 14:59:58 Entrypoint initialization [pod/analytics-report-live-6c5kp-archive-logs-pod/place-scripts] 2026-08-19T09:59:58.506916469-05:00 2026/08/19 14:59:58 Decoded script /tekton/scripts/script-0-4s97m [pod/analytics-report-live-6c5kp-archive-logs-pod/place-scripts] 2026-08-19T09:59:58.531802533-05:00 2026/08/19 14:59:58 Decoded script /tekton/scripts/script-1-b7rjd ===== analytics-report-live-6c5kp-clone-pod.log ===== [pod/analytics-report-live-6c5kp-clone-pod/prepare] 2026-08-19T09:58:22.151501603-05:00 2026/08/19 14:58:22 Entrypoint initialization [pod/analytics-report-live-6c5kp-clone-pod/place-scripts] 2026-08-19T09:58:23.036195085-05:00 2026/08/19 14:58:23 Decoded script /tekton/scripts/script-0-d6lpt [pod/analytics-report-live-6c5kp-clone-pod/step-clone] 2026-08-19T09:58:28.804859129-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-6c5kp-clone-pod/step-clone] 2026-08-19T09:58:28.804889479-05:00 * branch 897aaef4d910654c81c263d81763b995f342fade -> FETCH_HEAD [pod/analytics-report-live-6c5kp-clone-pod/step-clone] 2026-08-19T09:58:28.877782958-05:00 Cloned 897aaef4d910654c81c263d81763b995f342fade ===== analytics-report-live-6c5kp-live-build-pod.log ===== [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365168786-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365818993-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365825183-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365828673-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365831553-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365834363-05:00 COPY . /prsrc [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365837163-05:00 WORKDIR /prsrc [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365840043-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365843063-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365845983-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365848773-05:00 # Overlay the sibling storeminder-* dists first when the checkout has [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365851513-05:00 # them (#781 package family; guard keeps pre-carve branches working). [pod/analytics-report-live-6c5kp-live-build-pod/step-prepare-dockerfile] 2026-08-19T09:58:40.365854913-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) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.574547743-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.574582983-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.595808732-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.595839772-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.604641465-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.604664165-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.604669975-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.604682755-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.604687864-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.604862364-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.605220522-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.676868187-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:5fad8dd8d966de7a5c5bafc7be818aeb2f519b7086a56e75c53bb2f52972ea4e... [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.699909978-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:40.699937818-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:51.794513518-05:00 INFO[0011] COPY . /prsrc [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:51.994691774-05:00 INFO[0011] Taking snapshot of files... [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:52.286974496-05:00 INFO[0011] WORKDIR /prsrc [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:52.287131275-05:00 INFO[0011] Cmd: workdir [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:52.287157285-05:00 INFO[0011] Changed working directory to /prsrc [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:52.287517744-05:00 INFO[0011] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:52.287547274-05:00 INFO[0011] RUN if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:52.287553733-05:00 INFO[0011] Initializing snapshotter ... [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:58:52.287558693-05:00 INFO[0011] Taking snapshot of full filesystem... [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:00.739453432-05:00 INFO[0020] Cmd: /bin/sh [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:00.739589381-05:00 INFO[0020] 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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:00.739609751-05:00 INFO[0020] 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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:01.181474124-05:00 Obtaining file:///prsrc/packages/storeminder-config [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:01.183821364-05:00 Installing build dependencies: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.224506446-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.225299213-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.403782470-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.404842296-05:00 Getting requirements to build editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.562292963-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.563494408-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.738654159-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.791428754-05:00 Building wheels for collected packages: storeminder-config [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.792399140-05:00 Building editable for storeminder-config (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.973552116-05:00 Building editable for storeminder-config (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.974064214-05:00 Created wheel for storeminder-config: filename=storeminder_config-0.1.6-0.editable-py3-none-any.whl size=1448 sha256=5ab696f1b4ab39cf12f85b9d8677455af01376a6d087b9a7c0afaf99e2ef8a1c [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.974187593-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-dgqih2pg/wheels/c8/b7/ed/799e8d0938926d17720d45f014fd606224a2bdbd8f166b8ac7 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.975917566-05:00 Successfully built storeminder-config [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.976052625-05:00 Installing collected packages: storeminder-config [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:03.976165455-05:00 Attempting uninstall: storeminder-config [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.019103761-05:00 Found existing installation: storeminder-config 0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.021149273-05:00 Uninstalling storeminder-config-0.1.6: [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.023005075-05:00 Successfully uninstalled storeminder-config-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.076131137-05:00 Successfully installed storeminder-config-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.076374956-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.202829606-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.202859896-05:00 [notice] A new release of pip is available: 24.0 -> 26.2.1 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.202867556-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.699537444-05:00 Obtaining file:///prsrc/packages/storeminder-core [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:04.701760764-05:00 Installing build dependencies: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:06.781991545-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:06.782672032-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:06.915283756-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:06.916511671-05:00 Getting requirements to build editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.082383942-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.083677966-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.257198544-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.303521546-05:00 Building wheels for collected packages: storeminder-core [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.304419733-05:00 Building editable for storeminder-core (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.496430712-05:00 Building editable for storeminder-core (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.496976240-05:00 Created wheel for storeminder-core: filename=storeminder_core-0.1.6-0.editable-py3-none-any.whl size=1422 sha256=ba75d8482a18d3d74c0a609b3d164649f445a10ea7f5e98a7c9ad2661430fccd [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.497090869-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-xu3x_v42/wheels/cf/0a/8d/363b61b456e5493d58ab68e2df84ed6525b00451460548e2ec [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.498882952-05:00 Successfully built storeminder-core [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.499066221-05:00 Installing collected packages: storeminder-core [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.499186980-05:00 Attempting uninstall: storeminder-core [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.540136645-05:00 Found existing installation: storeminder-core 0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.541775068-05:00 Uninstalling storeminder-core-0.1.6: [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.544699136-05:00 Successfully uninstalled storeminder-core-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.619370667-05:00 Successfully installed storeminder-core-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.619666275-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.778465447-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.778590816-05:00 [notice] A new release of pip is available: 24.0 -> 26.2.1 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:07.778598256-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:08.253600306-05:00 Obtaining file:///prsrc/packages/storeminder-integrations [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:08.255950356-05:00 Installing build dependencies: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:10.512282422-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:10.513448317-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:10.668873963-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:10.670567615-05:00 Getting requirements to build editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:10.979833403-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:10.981187077-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.176589882-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.227825483-05:00 Building wheels for collected packages: storeminder-integrations [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.228695519-05:00 Building editable for storeminder-integrations (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.418202929-05:00 Building editable for storeminder-integrations (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.418942886-05:00 Created wheel for storeminder-integrations: filename=storeminder_integrations-0.1.6-0.editable-py3-none-any.whl size=1540 sha256=8a15af1664cc2ad9bdf05f5d9cf0e7383fcc33f2249cf6ae47bd0cb6032f844d [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.419112465-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-dp16lgme/wheels/49/2a/42/c8229e571dd70e2121aa4920cf73feb5ab909b22f329251d8c [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.421511285-05:00 Successfully built storeminder-integrations [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.421749084-05:00 Installing collected packages: storeminder-integrations [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.421929953-05:00 Attempting uninstall: storeminder-integrations [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.493743886-05:00 Found existing installation: storeminder-integrations 0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.496066376-05:00 Uninstalling storeminder-integrations-0.1.6: [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.497881699-05:00 Successfully uninstalled storeminder-integrations-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.552791234-05:00 Successfully installed storeminder-integrations-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.553033673-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.679563432-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.679586802-05:00 [notice] A new release of pip is available: 24.0 -> 26.2.1 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:11.679592852-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:12.207283926-05:00 Obtaining file:///prsrc/packages/storeminder-tools [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:12.210099604-05:00 Installing build dependencies: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:14.576820865-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:14.577861831-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:14.717835882-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:14.719039167-05:00 Getting requirements to build editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:14.943278318-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:14.944562342-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.118761868-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.181858758-05:00 Building wheels for collected packages: storeminder-tools [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.182628375-05:00 Building editable for storeminder-tools (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.393198284-05:00 Building editable for storeminder-tools (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.393854251-05:00 Created wheel for storeminder-tools: filename=storeminder_tools-0.1.6-0.editable-py3-none-any.whl size=1539 sha256=1e021af18a74b7f8fea103c5600b046f1fc1c2e70b048b09dfc0b7a8dea40269 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.393982701-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-93l6e1l1/wheels/a0/21/f1/6f60f0b2e970907d4c5c8c7175e076b35d88919c960e079b86 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.395930382-05:00 Successfully built storeminder-tools [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.396099862-05:00 Installing collected packages: storeminder-tools [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.396239561-05:00 Attempting uninstall: storeminder-tools [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.452904689-05:00 Found existing installation: storeminder-tools 0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.454890450-05:00 Uninstalling storeminder-tools-0.1.6: [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.457391520-05:00 Successfully uninstalled storeminder-tools-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.521076787-05:00 Successfully installed storeminder-tools-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.521383276-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.649262669-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.649358179-05:00 [notice] A new release of pip is available: 24.0 -> 26.2.1 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:15.649363979-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:16.253671685-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:16.256033724-05:00 Installing build dependencies: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:18.538923161-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:18.539791327-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:18.670691348-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:18.671775903-05:00 Getting requirements to build editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:18.867621225-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:18.869221348-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.074812109-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.136915754-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.137986969-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.333553732-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.334210570-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2199 sha256=292f1ddcee8451fb013322a2fa995bdf5b397101cc35d4595515140ad20aea53 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.334355549-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-924xddhf/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.336812798-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.337009078-05:00 Installing collected packages: storeminder-analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.337146927-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.381503897-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.386244587-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.388250358-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.456387997-05:00 Successfully installed storeminder-analytics-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.456580506-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.610991366-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.611097765-05:00 [notice] A new release of pip is available: 24.0 -> 26.2.1 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:19.611103715-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:20.142639542-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:20.144953642-05:00 Installing build dependencies: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.236060316-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.236676624-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.383728294-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.384718430-05:00 Getting requirements to build editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.569662739-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.570789214-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.791636399-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881296436-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881398945-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881406835-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881412355-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881417255-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881429575-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881432835-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881435765-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881438635-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.123.0) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881441565-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881444745-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (1.43.74) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881447625-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:22.881450575-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.079080829-05:00 Collecting pytest>=7 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.156689428-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.185291215-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.186055722-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.186933028-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.187820944-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.188539911-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.190824782-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.191513749-05:00 Requirement already satisfied: sniffio<2,>=1 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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.192220955-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.196151149-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.74 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder-analytics==0.1.6) (1.43.74) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.197034145-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.197665612-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.201034158-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.241521435-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.293406642-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.294230689-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.344961912-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.356416413-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.359009522-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.403910090-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.415574640-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.419912751-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.21.0) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.431952420-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.5.1) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.432903526-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.19) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.433717582-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.434403689-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.465027148-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.471629690-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.488798017-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.505774124-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.506567911-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.507584916-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.4) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.517972472-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.575695845-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.801082770-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 1.8 MB/s eta 0:00:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.815646758-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.839994484-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.853434676-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.979218808-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.979738516-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:23.980656842-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:24.184925728-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:24.185658995-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2199 sha256=b8f6505606e9cecc2532a2c70ba69b2d8b28509af0af4eb56d24ae065062b93c [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:24.185788204-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-kecwifh7/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:24.187958895-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.140219320-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder-analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.352305113-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.403261565-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.405273806-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.619749578-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.854511114-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.854743433-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-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.969866980-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.969993260-05:00 [notice] A new release of pip is available: 24.0 -> 26.2.1 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:25.970000140-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:26.068979816-05:00 INFO[0045] Taking snapshot of full filesystem... [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:28.222859068-05:00 INFO[0047] Pushing layer registry.storeminder.ai/images/cache:5fad8dd8d966de7a5c5bafc7be818aeb2f519b7086a56e75c53bb2f52972ea4e to cache now [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:28.223061117-05:00 INFO[0047] Pushing image to registry.storeminder.ai/images/cache:5fad8dd8d966de7a5c5bafc7be818aeb2f519b7086a56e75c53bb2f52972ea4e [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:28.380629003-05:00 INFO[0047] Pushed registry.storeminder.ai/images/cache@sha256:ad53058957d5e0591e3bfda9dd3e3c5e6a3b5f36d56eb7849a582c6cef03b984 [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:28.381509649-05:00 INFO[0047] Pushing image to registry.storeminder.ai/images/storeminder-report-live:897aaef4d910654c81c263d81763b995f342fade [pod/analytics-report-live-6c5kp-live-build-pod/step-build-pr-image] 2026-08-19T09:59:28.637813712-05:00 INFO[0048] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:a9c6584a852b94d32838c56bbd07e5d3df0a284d56714b7819a4bb3d3055864b [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:28.798593884-05:00 /tekton/scripts/script-2-s5ttf: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:28.895180511-05:00 job.batch/report-live-897aaef created [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:54.709327304-05:00 ----- live Job logs (report-live-897aaef) ----- [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008258893-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008288002-05:00 ============================= test session starts ============================== [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008294022-05:00 platform linux -- Python 3.11.16, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008300092-05:00 cachedir: .pytest_cache [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008305182-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008309822-05:00 configfile: pyproject.toml [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008314522-05:00 plugins: anyio-4.14.2, langsmith-0.11.0 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008318922-05:00 collecting ... collected 10 items [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008323302-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008327782-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008332422-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008336772-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008341142-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008345492-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008349782-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008354122-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008358542-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008362852-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008367132-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008371302-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008375762-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008380162-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008384362-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008388772-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008393142-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008398202-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008402612-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008406802-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008411152-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008415532-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008420172-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008424492-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008428922-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008433222-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008437612-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008450532-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008455002-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008476132-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008479282-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008482212-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008485062-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008487992-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008490792-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008493762-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008496682-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008499662-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008502661-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008505641-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008508591-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008511511-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008514481-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008517441-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008520361-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008523271-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008526271-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008529761-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008532781-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008535821-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008538821-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008541761-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008544721-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008547641-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008550611-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008553511-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008556521-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008559481-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008562291-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008565971-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008568931-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008571741-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008574631-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008577601-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008580591-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008583561-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008586381-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008589341-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008592331-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008595321-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008603821-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008606961-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008610001-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008619011-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008621991-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008624891-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008627901-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008630821-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008633781-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008636661-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008639541-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008642351-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008645211-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008648461-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008651441-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008654411-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008657401-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008660451-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008663461-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008666421-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008669471-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008672421-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008675351-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008679031-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008682021-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008685031-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008687961-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008690901-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008693921-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008696801-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008699711-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008702621-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008705561-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008708511-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008711511-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008714331-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008717291-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008720221-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008723041-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008725941-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008728911-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008731910-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008734860-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008737660-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008740590-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008743550-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008747160-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008750170-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008757740-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008760810-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008763800-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008766720-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008769630-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008772550-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008775660-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008778630-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008781440-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008784610-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008787460-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008790330-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008793290-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008796200-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008799900-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008802920-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008805910-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008808840-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008811780-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008814710-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008818420-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008821400-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008824410-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008827340-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008830290-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008833290-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008836260-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008839190-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008842090-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008845070-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008847970-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008850910-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008854470-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008857480-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008860300-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008863280-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008869640-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008872580-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008875920-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008878850-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008881810-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008884740-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008887560-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008890500-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008893610-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008901670-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008904710-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008907760-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008910710-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008913660-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008916720-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008919660-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008922690-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008925590-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008928590-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008931440-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008934380-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008937160-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008940080-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008943050-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008945990-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008949030-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008952050-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008955900-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008959770-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008962710-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008965599-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008968569-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008971519-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008974489-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008977469-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008980409-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008983459-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008986419-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008989339-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008992949-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.008997059-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009000039-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009003009-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009006019-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009009099-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009011889-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009014939-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009017989-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009020799-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009024449-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009028129-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009031109-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009034099-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009036929-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009044429-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009047459-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009050449-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009053419-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009056409-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009059299-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009062249-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009065139-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009068029-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009071039-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009073939-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009076849-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009079659-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009082549-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009085069-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009087359-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009089689-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009092019-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009094429-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009096779-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009099149-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009101469-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009103839-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009106179-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009108519-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009110889-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009113229-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009115589-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009117929-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009120269-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009122629-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009124949-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009131159-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009133619-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009135969-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009138399-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009140769-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009143239-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009145509-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009147869-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009150329-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009152589-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009154959-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009167169-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009171329-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009173719-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009175969-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009178329-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009180689-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009183059-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009185469-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009187809-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009190149-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009192559-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009195609-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009197958-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009200348-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009203448-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009205878-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009208168-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009210478-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009212758-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009215078-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009217428-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009219798-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009222188-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009224668-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009227058-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009229458-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009231818-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009234708-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009237048-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009239408-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009241808-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009244188-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009246528-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009248928-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009251328-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009253668-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009256008-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009258378-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009260748-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009263128-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009265568-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009268028-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009270318-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009272778-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009279088-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009281348-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009283688-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009286158-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009288528-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009290848-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009293108-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009295498-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009297938-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009300278-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009303038-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009305428-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009307758-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009310158-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009312618-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009314988-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009317298-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009319608-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009322008-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009324378-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009326808-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009329068-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009331458-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009333878-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009336258-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009338648-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009341068-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009343448-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009345848-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009348188-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009350608-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009355548-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009357958-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009360458-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009362848-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009365198-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009367768-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009370168-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009372498-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009374828-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009377178-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009379498-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009381888-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009384248-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009386708-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009393128-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009395528-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009397868-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009400108-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009402388-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009404708-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009407038-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009409378-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009411618-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009413918-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009416268-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009418688-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009421078-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009423448-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009425868-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009428398-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009430818-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009433188-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009435508-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009437828-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009440227-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009442477-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009445497-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009447767-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009450127-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009452477-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009454847-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009457337-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009459747-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009462637-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009465027-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009467367-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009469767-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009472107-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009474427-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009476867-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009480727-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009483107-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009486197-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009488587-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009491077-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009494447-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009496847-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009499227-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009506747-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009509537-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009511937-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009514187-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009517237-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009519567-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009521827-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009524127-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009526467-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009528827-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009531177-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009533447-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009535787-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009538227-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009540587-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009543087-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009545487-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009547827-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009550237-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009552637-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009554987-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009557307-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009559707-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009562097-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009564377-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009566687-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009568967-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009571267-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009575947-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009578367-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009580817-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009583227-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009585667-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009588087-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009590457-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009592927-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009595367-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009597977-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009600527-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009602877-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009605247-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009607597-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009609987-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009612407-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009619427-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009621817-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009624177-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009626547-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009628947-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009631427-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009633677-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009636037-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009638667-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009640927-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009643257-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009645587-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009647927-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009650297-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009652527-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009654877-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009657287-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009659677-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009662107-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009664487-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009666827-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009669207-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009671587-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009673937-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009676257-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009678567-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009680967-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009683206-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009685506-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009687756-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009690086-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009692506-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009694836-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009697256-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009699646-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009702006-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009704336-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009706666-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009708996-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009711406-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009713726-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009716566-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009720126-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009722526-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009728596-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009731036-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009733396-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009735756-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009738096-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009740406-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009742726-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009745056-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009747466-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009749716-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009752056-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009754616-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009757016-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009759356-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009761726-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009764046-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009766386-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009768766-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009773456-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009775926-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009779006-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009781406-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009784426-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009786816-05:00 ============================== 10 errors in 0.74s ============================== [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009789176-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009793066-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009796566-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009798996-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009801346-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009803586-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009805936-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009808276-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009810656-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009813516-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009815996-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009826496-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009828846-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009831646-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009834056-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009836926-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009839256-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009841666-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009843966-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009846466-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009848866-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009851156-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009853496-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009855846-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009858226-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009860646-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009863086-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009865546-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009867906-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009870236-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009872566-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009874996-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009877436-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009879796-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009882166-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009884526-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009886856-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009889176-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009891516-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009893856-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009896196-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009898586-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009901306-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009903666-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009905926-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009908936-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009911346-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009913716-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009916146-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009918396-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009920726-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009923066-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009929135-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009931615-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009934065-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009936445-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009938755-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009941085-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009943435-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009948085-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009950675-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009953035-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009955315-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009957655-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009959955-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009962315-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009964725-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009967075-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009969505-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009971875-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009974305-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009977275-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009979635-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009982015-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009984365-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009986745-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009989085-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009991445-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009993865-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009996215-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.009998545-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010000945-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010003335-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010005695-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010008135-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010010465-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010012825-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010015265-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010017525-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010020755-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010023155-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010025515-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010031565-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010033875-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010036285-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010038645-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010041005-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010043405-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010045765-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010048085-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010050505-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010052825-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010055155-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010057465-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010059855-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010062325-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010064575-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010066875-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010069135-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010071435-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010073865-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010076205-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010078655-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010081215-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010083665-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010086445-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010088835-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010091225-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010093585-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010096525-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010098905-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010101295-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010103655-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010106025-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010108925-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010111325-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010113665-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010116065-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010118415-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010120805-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010123775-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010126265-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010128565-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010148165-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010175764-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010192664-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010196614-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010199964-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010203874-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010207774-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010211674-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010215384-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010218634-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010222134-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010225644-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010229144-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010232744-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010236064-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010239414-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010242784-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010246004-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010249624-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010252994-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010256404-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010260134-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010263554-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010266854-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010270514-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010273944-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010277804-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010281324-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010284894-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010288134-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010291504-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010295094-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010298914-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010302214-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010305464-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010308804-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010312204-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010315664-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010319034-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010322604-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010325974-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010329244-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010333154-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010344124-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010347964-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010351324-05:00 def daily_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010354574-05:00 > return _run("daily") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010357764-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010360814-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010364124-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010367444-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010370744-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010374124-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010377714-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010381394-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010384814-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010388074-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010391594-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010395194-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010398954-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010402433-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010405723-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010409143-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010412733-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010416053-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010419433-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010422873-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010426453-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010429773-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010433073-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010436703-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010440083-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010443323-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010446563-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010449753-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010453453-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010457243-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010460823-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010464283-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010467633-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010476863-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010480663-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010484223-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010487713-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010498423-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010502553-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010506523-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010510173-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010514273-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010517653-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010522123-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010525903-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010530203-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010534033-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010538493-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010541983-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010545323-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010548563-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010551853-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010555333-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010558693-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010562003-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010565263-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010568663-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010572153-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010575503-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010578893-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010581963-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010585123-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010588313-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010591723-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010595253-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010598413-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010601663-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010604833-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010608053-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010611323-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010614593-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010617873-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010621213-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010624453-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010628903-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010632253-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010635582-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010638752-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010648002-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010651352-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010654642-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010657832-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010661172-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010664552-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010667612-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010671282-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010674532-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010677782-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010681132-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010684222-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010687642-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010690912-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010694362-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010697932-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010701732-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010705182-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010708702-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010712202-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010715632-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010718962-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010721312-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010723832-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010726092-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010728442-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010730722-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010733082-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010739592-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010742072-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010744662-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010747092-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010749432-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010751772-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010754172-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010756582-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010758942-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010761312-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010763742-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010766122-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010774392-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010776842-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010779282-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010781702-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010784072-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010786432-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010788802-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010791132-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010793472-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010795862-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010798162-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010800912-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010803302-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010805692-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010808042-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010810312-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010812692-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010815132-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010817492-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010821482-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010823882-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010826262-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010828712-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010831052-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010833402-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010835732-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010838062-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010840452-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010842722-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010845052-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010847332-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010849682-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010852062-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010854422-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010856802-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010859212-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010861582-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010863942-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010866321-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010868641-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010870991-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010877441-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010879901-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010882301-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010884651-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010887021-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010889401-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010891801-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010894181-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010896551-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010898921-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010901301-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010903721-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010906191-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010908521-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010911071-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010913501-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010915891-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010918311-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010920631-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010925671-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010928131-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010930551-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010932951-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010935381-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010937761-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010940241-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010942621-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010944981-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010947341-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010949711-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010953911-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010956241-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010958601-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010960901-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010963211-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010965641-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010968011-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010970421-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010972791-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010975141-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010981601-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010984091-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010986461-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010988831-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010991171-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010993551-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010995981-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.010998351-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011000721-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011003151-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011005491-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011007831-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011010181-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011012531-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011014891-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011017251-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011019651-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011021931-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011024341-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011026741-05:00 def weekly_report(): [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011029101-05:00 > return _run("weekly") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011031451-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011033731-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011036091-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011038461-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011040841-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011043601-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011045951-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011048301-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011050641-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011052971-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011055321-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011057711-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011060061-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011062421-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011064681-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011067001-05:00 store_id = 'Fastime' [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011069271-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011071621-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011073981-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011076371-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011078841-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011085421-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011088171-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011090551-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011092911-05:00 """ [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011095311-05:00 base = _require_base() [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011097650-05:00 try: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011100040-05:00 import requests [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011102440-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011104840-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011107230-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011109620-05:00 raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011111980-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011114330-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011122520-05:00 if r.status_code == 404: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011125030-05:00 return None [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011127390-05:00 if r.status_code != 200: [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011129810-05:00 > raise ManageApiError( [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011132220-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011134680-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011137000-05:00 [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011139800-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.011142180-05:00 ----- end live Job logs ----- [pod/analytics-report-live-6c5kp-live-build-pod/step-run-live] 2026-08-19T09:59:55.053250360-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-6c5kp-live-build-pod/prepare] 2026-08-19T09:58:34.644314230-05:00 2026/08/19 14:58:34 Entrypoint initialization [pod/analytics-report-live-6c5kp-live-build-pod/place-scripts] 2026-08-19T09:58:35.092148911-05:00 2026/08/19 14:58:35 Decoded script /tekton/scripts/script-0-2rzph [pod/analytics-report-live-6c5kp-live-build-pod/place-scripts] 2026-08-19T09:58:35.112639734-05:00 2026/08/19 14:58:35 Decoded script /tekton/scripts/script-2-s5ttf ===== analytics-report-live-6c5kp-notify-on-failure-pod.log ===== [pod/analytics-report-live-6c5kp-notify-on-failure-pod/prepare] 2026-08-19T09:59:58.569762790-05:00 2026/08/19 14:59:58 Entrypoint initialization [pod/analytics-report-live-6c5kp-notify-on-failure-pod/place-scripts] 2026-08-19T09:59:59.621040641-05:00 2026/08/19 14:59:59 Decoded script /tekton/scripts/script-0-x2dz5 ===== analytics-report-live-6c5kp-post-check-live-pod.log ===== [pod/analytics-report-live-6c5kp-post-check-live-pod/prepare] 2026-08-19T09:59:59.023441994-05:00 2026/08/19 14:59:59 Entrypoint initialization [pod/analytics-report-live-6c5kp-post-check-live-pod/place-scripts] 2026-08-19T09:59:59.592134035-05:00 2026/08/19 14:59:59 Decoded script /tekton/scripts/script-0-plxjw ===== analytics-report-live-6c5kp-post-status-live-pod.log ===== [pod/analytics-report-live-6c5kp-post-status-live-pod/prepare] 2026-08-19T09:59:58.899681715-05:00 2026/08/19 14:59:58 Entrypoint initialization [pod/analytics-report-live-6c5kp-post-status-live-pod/place-scripts] 2026-08-19T09:59:59.581862309-05:00 2026/08/19 14:59:59 Decoded script /tekton/scripts/script-0-hwpdp ===== analytics-report-live-6c5kp-reclaim-workspace-pod.log ===== [pod/analytics-report-live-6c5kp-reclaim-workspace-pod/place-scripts] 2026-08-19T09:59:59.621646069-05:00 2026/08/19 14:59:59 Decoded script /tekton/scripts/script-0-vpf78 [pod/analytics-report-live-6c5kp-reclaim-workspace-pod/prepare] 2026-08-19T09:59:59.159222222-05:00 2026/08/19 14:59:59 Entrypoint initialization