===== analytics-report-live-qf4d8-archive-logs-pod.log ===== [pod/analytics-report-live-qf4d8-archive-logs-pod/prepare] 2026-08-04T17:12:02.873502994-05:00 2026/08/04 22:12:02 Entrypoint initialization [pod/analytics-report-live-qf4d8-archive-logs-pod/place-scripts] 2026-08-04T17:12:04.529584637-05:00 2026/08/04 22:12:04 Decoded script /tekton/scripts/script-0-99p2z [pod/analytics-report-live-qf4d8-archive-logs-pod/place-scripts] 2026-08-04T17:12:04.548593288-05:00 2026/08/04 22:12:04 Decoded script /tekton/scripts/script-1-2fdhw [pod/analytics-report-live-qf4d8-archive-logs-pod/step-collect-logs] 2026-08-04T17:12:09.158006547-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-qf4d8 ===== analytics-report-live-qf4d8-clone-pod.log ===== [pod/analytics-report-live-qf4d8-clone-pod/place-scripts] 2026-08-04T17:10:24.884599540-05:00 2026/08/04 22:10:24 Decoded script /tekton/scripts/script-0-8prsh [pod/analytics-report-live-qf4d8-clone-pod/step-clone] 2026-08-04T17:10:29.272143403-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-qf4d8-clone-pod/step-clone] 2026-08-04T17:10:29.273035889-05:00 * branch 7bea69812cb58f46ff4ea98d5d6ebcaacfc46140 -> FETCH_HEAD [pod/analytics-report-live-qf4d8-clone-pod/step-clone] 2026-08-04T17:10:29.369402240-05:00 Cloned 7bea69812cb58f46ff4ea98d5d6ebcaacfc46140 [pod/analytics-report-live-qf4d8-clone-pod/prepare] 2026-08-04T17:10:23.321423047-05:00 2026/08/04 22:10:23 Entrypoint initialization ===== analytics-report-live-qf4d8-live-build-pod.log ===== [pod/analytics-report-live-qf4d8-live-build-pod/place-scripts] 2026-08-04T17:10:34.379082476-05:00 2026/08/04 22:10:34 Decoded script /tekton/scripts/script-0-zh5f2 [pod/analytics-report-live-qf4d8-live-build-pod/place-scripts] 2026-08-04T17:10:34.403422253-05:00 2026/08/04 22:10:34 Decoded script /tekton/scripts/script-2-qp4fp [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.179907530-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180806866-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180818926-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180823126-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180826686-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180830166-05:00 COPY . /prsrc [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180833666-05:00 WORKDIR /prsrc [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180837376-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180840926-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180844346-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180847756-05:00 # Overlay the sibling storeminder-* dists first when the checkout has [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180851136-05:00 # them (#781 package family; guard keeps pre-carve branches working). [pod/analytics-report-live-qf4d8-live-build-pod/step-prepare-dockerfile] 2026-08-04T17:10:41.180854896-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.525928849-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.525959499-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.573765207-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.573787916-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.590922357-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.590944397-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.590949357-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.590962727-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.590968537-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.591039196-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.591266595-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.642068569-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:8eb180b52758554b28899e3f9515449a5f4833dd60bc0f6eed393da4c26d1f64... [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.763210134-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:41.763317584-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:52.903772497-05:00 INFO[0011] COPY . /prsrc [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:53.062293089-05:00 INFO[0011] Taking snapshot of files... [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:53.321122934-05:00 INFO[0011] WORKDIR /prsrc [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:53.321236453-05:00 INFO[0011] Cmd: workdir [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:53.321242913-05:00 INFO[0011] Changed working directory to /prsrc [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:53.321465642-05:00 INFO[0011] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:53.321485032-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:53.321490492-05:00 INFO[0011] Initializing snapshotter ... [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:10:53.321494912-05:00 INFO[0011] Taking snapshot of full filesystem... [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:02.117743497-05:00 INFO[0020] Cmd: /bin/sh [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:02.117871956-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:02.117887706-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:02.491769655-05:00 Obtaining file:///prsrc/packages/storeminder-config [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:02.494246893-05:00 Installing build dependencies: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.047082636-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.048081512-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.204545173-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.213429421-05:00 Getting requirements to build editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.423940061-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.425775902-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.634738849-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.681648731-05:00 Building wheels for collected packages: storeminder-config [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.682638946-05:00 Building editable for storeminder-config (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.880087306-05:00 Building editable for storeminder-config (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.880863213-05:00 Created wheel for storeminder-config: filename=storeminder_config-0.1.6-0.editable-py3-none-any.whl size=1448 sha256=f137e02118e1013ad00c26c6d14bf016b69e5523ad18f75bde296008f340c337 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.881065042-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-ftj2051g/wheels/c8/b7/ed/799e8d0938926d17720d45f014fd606224a2bdbd8f166b8ac7 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.883609400-05:00 Successfully built storeminder-config [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.883880229-05:00 Installing collected packages: storeminder-config [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.884041048-05:00 Attempting uninstall: storeminder-config [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.935305599-05:00 Found existing installation: storeminder-config 0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.937189591-05:00 Uninstalling storeminder-config-0.1.6: [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:06.939141591-05:00 Successfully uninstalled storeminder-config-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:07.016578901-05:00 Successfully installed storeminder-config-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:07.016814050-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:07.175442351-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:07.175472481-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:07.175479651-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:07.747986994-05:00 Obtaining file:///prsrc/packages/storeminder-core [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:07.748101954-05:00 Installing build dependencies: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.163302985-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.164178411-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.363257183-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.364494218-05:00 Getting requirements to build editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.571366304-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.572876487-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.764308595-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.806223960-05:00 Building wheels for collected packages: storeminder-core [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.807038286-05:00 Building editable for storeminder-core (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.998555984-05:00 Building editable for storeminder-core (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.999234651-05:00 Created wheel for storeminder-core: filename=storeminder_core-0.1.6-0.editable-py3-none-any.whl size=1421 sha256=b39131c6bb15104b1674660c88ffcec94ff76a9e63a212bb06425b66bca69826 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:10.999366031-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-8st11vrv/wheels/cf/0a/8d/363b61b456e5493d58ab68e2df84ed6525b00451460548e2ec [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.001555110-05:00 Successfully built storeminder-core [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.001788659-05:00 Installing collected packages: storeminder-core [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.001936979-05:00 Attempting uninstall: storeminder-core [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.046441051-05:00 Found existing installation: storeminder-core 0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.048265183-05:00 Uninstalling storeminder-core-0.1.6: [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.050337443-05:00 Successfully uninstalled storeminder-core-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.171338330-05:00 Successfully installed storeminder-core-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.171549459-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.298041439-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.298168139-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.298175879-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.801562034-05:00 Obtaining file:///prsrc/packages/storeminder-integrations [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:11.804214762-05:00 Installing build dependencies: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.121036451-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.121922756-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.247496832-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.248393357-05:00 Getting requirements to build editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.400120731-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.404015262-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.568730995-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.610976588-05:00 Building wheels for collected packages: storeminder-integrations [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.611785485-05:00 Building editable for storeminder-integrations (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.786617550-05:00 Building editable for storeminder-integrations (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.787295297-05:00 Created wheel for storeminder-integrations: filename=storeminder_integrations-0.1.6-0.editable-py3-none-any.whl size=1541 sha256=001fa80bd9ce1247f2dc0538f4bf4d12691aa5a6b8c70dc2e8bdea8902bc7c24 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.787405217-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-miv6l_vk/wheels/49/2a/42/c8229e571dd70e2121aa4920cf73feb5ab909b22f329251d8c [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.789425817-05:00 Successfully built storeminder-integrations [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.789603897-05:00 Installing collected packages: storeminder-integrations [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.789726336-05:00 Attempting uninstall: storeminder-integrations [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.836377309-05:00 Found existing installation: storeminder-integrations 0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.838024041-05:00 Uninstalling storeminder-integrations-0.1.6: [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.839622623-05:00 Successfully uninstalled storeminder-integrations-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.929494745-05:00 Successfully installed storeminder-integrations-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:14.929770164-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:15.069768792-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:15.069870191-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:15.069876741-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:15.617649510-05:00 Obtaining file:///prsrc/packages/storeminder-tools [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:15.619950729-05:00 Installing build dependencies: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.085442125-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.086369960-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.226943526-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.228463649-05:00 Getting requirements to build editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.448415764-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.449921517-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.634810556-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.676555802-05:00 Building wheels for collected packages: storeminder-tools [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.677393488-05:00 Building editable for storeminder-tools (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.875323096-05:00 Building editable for storeminder-tools (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.875960933-05:00 Created wheel for storeminder-tools: filename=storeminder_tools-0.1.6-0.editable-py3-none-any.whl size=1538 sha256=326eab766dedbeb21f5044d87ff2f3b82919f70f614c9d3a90455a8345cdd25f [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.876087612-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-wdmh_kwc/wheels/a0/21/f1/6f60f0b2e970907d4c5c8c7175e076b35d88919c960e079b86 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.878146803-05:00 Successfully built storeminder-tools [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.878352362-05:00 Installing collected packages: storeminder-tools [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.878502041-05:00 Attempting uninstall: storeminder-tools [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.926009980-05:00 Found existing installation: storeminder-tools 0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.928775197-05:00 Uninstalling storeminder-tools-0.1.6: [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:18.931912942-05:00 Successfully uninstalled storeminder-tools-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:19.013320863-05:00 Successfully installed storeminder-tools-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:19.013543892-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:19.159505142-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:19.159530202-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:19.159535532-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:19.738060557-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:19.740769024-05:00 Installing build dependencies: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:22.239493694-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:22.240514519-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:22.398534113-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:22.399517539-05:00 Getting requirements to build editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:22.582222488-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:22.583450732-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:22.777501938-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:22.825148986-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:22.826169561-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.039966165-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.040644662-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2198 sha256=a478a1566c48b46045a66927abed62023f2e68b22ba1f6d82a38856624ac3e59 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.040790111-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-bf6ld83f/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.043174740-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.043342410-05:00 Installing collected packages: storeminder-analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.043465689-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.087284645-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.092954859-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.095266658-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.195255192-05:00 Successfully installed storeminder-analytics-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.195487491-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.372460307-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.372577596-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.372583426-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.874235459-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:23.877006306-05:00 Installing build dependencies: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.291039581-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.291841487-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.415726840-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.417056764-05:00 Getting requirements to build editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.594708766-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.596102720-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.808774369-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.878129966-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.878751093-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.879494119-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.880171516-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.885726000-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.886685796-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.887480812-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.888290968-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.889104065-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.120.2) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.890224249-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.891664723-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (1.43.64) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.892368479-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:26.894594809-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.075674335-05:00 Collecting pytest>=7 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.147658830-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.168150935-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.169492018-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.170909002-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.172366885-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.173596959-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.177364142-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.178241618-05:00 Requirement already satisfied: sniffio in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder-analytics==0.1.6) (1.3.1) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.179418392-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.186393990-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.64 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder-analytics==0.1.6) (1.43.64) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.187658054-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.188932468-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.194876470-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.245094616-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.280825090-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.281774255-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.317448329-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.340115174-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.342403543-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.397442687-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.412126878-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.414696126-05:00 Requirement already satisfied: pygments>=2.7.2 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder-analytics==0.1.6) (2.20.0) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.424397701-05:00 Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder-analytics==0.1.6) (3.4.9) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.425097548-05:00 Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder-analytics==0.1.6) (3.18) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.425890074-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.426727720-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.458030034-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.465111161-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.482980808-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.502974195-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.503884461-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.505024565-05:00 Requirement already satisfied: typing-inspection>=0.4.2 in /usr/local/lib/python3.11/site-packages (from pydantic<3,>=1.9.0->anthropic>=0.25.0->storeminder-analytics==0.1.6) (0.4.2) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.517948345-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.598286051-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.816358665-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 1.7 MB/s eta 0:00:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.836463251-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.862136032-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:27.874915262-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:28.005876192-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:28.006473889-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:28.007587824-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:28.227014502-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:28.227620409-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2198 sha256=f1dfa93e168adaf4963b5fc53cafd6e73e834c359c4ede21046eee6f6a75af49 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:28.227779488-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-pwrcioot/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:28.229615790-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:29.129877156-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder-analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:29.480918431-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:29.539489858-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:29.541442089-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:29.766274521-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:30.018393587-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:30.018586206-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-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:30.128446634-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:30.128553114-05:00 [notice] A new release of pip is available: 24.0 -> 26.2 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:30.128558934-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:30.246730023-05:00 INFO[0048] Taking snapshot of full filesystem... [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:32.672846041-05:00 INFO[0051] Pushing layer registry.storeminder.ai/images/cache:8eb180b52758554b28899e3f9515449a5f4833dd60bc0f6eed393da4c26d1f64 to cache now [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:32.673035790-05:00 INFO[0051] Pushing image to registry.storeminder.ai/images/cache:8eb180b52758554b28899e3f9515449a5f4833dd60bc0f6eed393da4c26d1f64 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:32.823052671-05:00 INFO[0051] Pushed registry.storeminder.ai/images/cache@sha256:24622a94652f064e27f4172d728092ccef09b94c33ffa1001ae05b23e1cc8978 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:32.824049616-05:00 INFO[0051] Pushing image to registry.storeminder.ai/images/storeminder-report-live:7bea69812cb58f46ff4ea98d5d6ebcaacfc46140 [pod/analytics-report-live-qf4d8-live-build-pod/step-build-pr-image] 2026-08-04T17:11:33.318841581-05:00 INFO[0051] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:71bb746f17d110dc8b3e196de6859992f2ea378f3abe9cd05c10f5fefe04e5b7 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:11:33.895641444-05:00 /tekton/scripts/script-2-qp4fp: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:11:34.005529232-05:00 job.batch/report-live-7bea698 created [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:11:59.812678317-05:00 ----- live Job logs (report-live-7bea698) ----- [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013428942-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013562731-05:00 ============================= test session starts ============================== [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013571911-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013578451-05:00 cachedir: .pytest_cache [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013585241-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013590481-05:00 configfile: pyproject.toml [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013596741-05:00 plugins: anyio-4.14.2, langsmith-0.10.15 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013602191-05:00 collecting ... collected 10 items [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013607221-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013612731-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013618161-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013624121-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013629821-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013635071-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013640291-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013646291-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013651631-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013657001-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013670771-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013677731-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013682731-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013687981-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013692481-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013697831-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013702841-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013710781-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013715741-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013720421-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013725511-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013730860-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013737490-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013742520-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013748170-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013753910-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013760190-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013765510-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013771190-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013788720-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013792780-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013796760-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013800410-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013804370-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013808010-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013812200-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013816710-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013820550-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013824480-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013827960-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013831480-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013835180-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013838930-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013842500-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013845910-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013882870-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013887140-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013890910-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013894560-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013898180-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013902430-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013906100-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013910810-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013922500-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013926620-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013930680-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013934460-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013938279-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013941739-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013945349-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013948899-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013952339-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013955899-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013959479-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013963059-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013966879-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013970349-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013973929-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013977489-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013981089-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013988219-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013991909-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013995509-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.013999059-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014008779-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014011249-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014013619-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014015989-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014018389-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014020729-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014023309-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014025629-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014028059-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014030579-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014034279-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014036849-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014039399-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014041809-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014045159-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014047599-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014050079-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014052499-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014054979-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014057419-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014059839-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014062319-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014064899-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014067319-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014069779-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014072189-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014074589-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014077059-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014079459-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014081869-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014084499-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014086849-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014089259-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014091639-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014093949-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014098829-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014101319-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014103729-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014106319-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014108629-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014111039-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014113469-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014115869-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014118289-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014125679-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014128239-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014130779-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014133219-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014135649-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014138089-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014140509-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014142929-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014145269-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014147679-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014150148-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014152548-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014155018-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014157458-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014159888-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014162338-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014164778-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014167498-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014169998-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014172458-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014174858-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014177268-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014179678-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014182088-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014184468-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014186868-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014189518-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014191958-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014194358-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014196978-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014199378-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014202858-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014205548-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014207968-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014210758-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014215278-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014222278-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014225718-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014228908-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014232708-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014236158-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014245478-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014248958-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014252398-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014255828-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014264358-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014267208-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014269648-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014272248-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014274778-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014277218-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014279828-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014282268-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014284718-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014287138-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014289478-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014291888-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014294348-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014296728-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014299198-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014301628-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014304088-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014306838-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014309508-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014311888-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014314338-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014316808-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014320138-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014322938-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014325388-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014327798-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014330218-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014332618-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014335328-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014337918-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014340568-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014343008-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014345448-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014347838-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014350288-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014352938-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014355488-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014357828-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014360218-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014362517-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014364867-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014367317-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014369777-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014372877-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014380027-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014382497-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014384937-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014387687-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014390407-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014393067-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014395537-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014397947-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014400377-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014403567-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014405987-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014408587-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014411457-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014414217-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014417717-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014421297-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014425117-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014429007-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014432757-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014436437-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014440387-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014443447-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014445907-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014448307-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014450747-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014453167-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014455547-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014457957-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014460437-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014462917-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014465397-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014467837-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014470357-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014474827-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014477417-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014479887-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014482297-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014484757-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014487357-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014489757-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014492237-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014494917-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014497217-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014499627-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014506767-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014509287-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014511757-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014514207-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014516967-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014519457-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014562027-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014567017-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014570927-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014574906-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014579176-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014582696-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014586176-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014589746-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014593396-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014597056-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014600326-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014603726-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014606706-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014610356-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014613966-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014617386-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014620926-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014624266-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014627606-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014630976-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014640106-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014643586-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014646986-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014650356-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014653506-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014656876-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014666186-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014672846-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014676346-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014680236-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014683976-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014687546-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014691056-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014694936-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014698716-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014702736-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014706086-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014709916-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014721836-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014725666-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014729486-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014734086-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014737686-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014741876-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014744646-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014747196-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014749686-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014752176-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014756736-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014766086-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014768606-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014771916-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014774386-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014776836-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014779446-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014781906-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014842315-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014845365-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014847805-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014850125-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014852585-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014855155-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014857625-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014860165-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014862645-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014865115-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014867555-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014869975-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014872485-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014883925-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014886555-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014889025-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014891475-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014894565-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014897085-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014899595-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014902335-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014923815-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014926655-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014929945-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014932395-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014936475-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014944865-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014947375-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014949875-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014952405-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014954775-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014957555-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014959975-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014962375-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014964805-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014967125-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014969625-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014972095-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014974775-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014977255-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014979655-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014982425-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014984855-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014987265-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014989715-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014992085-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.014994465-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015001145-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015003685-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015006065-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015009405-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015013094-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015016774-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015020414-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015024254-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015027974-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015031454-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015033894-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015036324-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015038744-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015041334-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015043844-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015046384-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015048774-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015051224-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015053694-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015056154-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015058564-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015061144-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015063654-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015067554-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015076204-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015078844-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015081334-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015083994-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015086404-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015088914-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015091244-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015093704-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015096154-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015098634-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015101094-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015103384-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015105864-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015108324-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015110704-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015113174-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015115584-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015118044-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015120674-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015123174-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015125564-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015128024-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015130444-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015132864-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015135184-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015137554-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015139884-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015142514-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015147194-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015149884-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015152414-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015154884-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015157654-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015160044-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015167844-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015170274-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015177274-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015203834-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015208374-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015213514-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015217314-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015221004-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015225014-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015237243-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015267043-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015274233-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015281953-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015287593-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015291663-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015295543-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015299113-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015302753-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015306543-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015309983-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015313733-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015317253-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015320903-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015324773-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015328263-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015331713-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015335953-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015339933-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015344083-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015347703-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015351393-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015354863-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015359003-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015363053-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015366713-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015370373-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015374103-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015377283-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015380663-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015384103-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015387613-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015391703-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015395193-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015398673-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015401853-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015405053-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015435273-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015439233-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015445093-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015449043-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015452643-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015531092-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015536212-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015545812-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015557502-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015561302-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015565132-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015569122-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015573792-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015577452-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015581012-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015584832-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015588652-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015592232-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015595712-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015599242-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015602802-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015606552-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015610282-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015613722-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015617142-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015620902-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015628182-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015632222-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015635742-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015639172-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015642712-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015646152-05:00 ============================== 10 errors in 0.76s ============================== [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015649522-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015653972-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015658192-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015669772-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015705031-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015709291-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015715431-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015719361-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015723441-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015727431-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015738441-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015742751-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015746451-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015750391-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015754351-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015765911-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015769841-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015773541-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015777081-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015780931-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015784461-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015789971-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015795331-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015798891-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015803991-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015807521-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015811161-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015815171-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015818691-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015822441-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015826031-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015829471-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015833241-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015836631-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015840081-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015843741-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015847481-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015851041-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015854411-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015858011-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015861511-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015865071-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015868611-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015872651-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015875751-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015879691-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015883571-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015887191-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015891460-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015894920-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015898590-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015902290-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015912870-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015916680-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015920240-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015924250-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015928100-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015931730-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015935540-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015944200-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015949360-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015953110-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015956870-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015960530-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015964170-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015967970-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015971700-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015975670-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015979430-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015983150-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015986670-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015990700-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015994350-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.015998010-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016001670-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016004140-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016006630-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016009120-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016011590-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016014020-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016017250-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016019710-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016022300-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016025130-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016027560-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016029950-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016032410-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016034930-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016037220-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016063550-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016066750-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016069230-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016080720-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016083130-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016085650-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016088160-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016090630-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016093110-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016095770-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016098720-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016101189-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016103769-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016106269-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016110359-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016112939-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016115409-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016117789-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016120129-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016122429-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016124879-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016127379-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016129809-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016137459-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016140019-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016142799-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016145409-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016147859-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016150279-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016152759-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016155709-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016158129-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016160539-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016163219-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016165619-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016168029-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016170419-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016172859-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016175259-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016177669-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016180109-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016182619-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016185129-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016187489-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016241329-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016250369-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016254599-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016257139-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016259909-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016262409-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016264949-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016267649-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016270119-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016272669-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016275079-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016277649-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016280109-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016282499-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016284879-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016289199-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016291659-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016293979-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016296969-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016300729-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016304429-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016308289-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016311968-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016316358-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016319958-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016323488-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016327078-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016330868-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016334428-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016336918-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016339328-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016341738-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016344388-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016347918-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016351218-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016353738-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016356198-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016358638-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016361228-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016363688-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016366298-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016368748-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016371258-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016378668-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016381338-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016383848-05:00 def daily_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016386248-05:00 > return _run("daily") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016388618-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016390888-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016393348-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016395858-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016398348-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016400738-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016403098-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016405558-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016407998-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016410388-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016412758-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016415638-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016418068-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016420468-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016422778-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016425108-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016427598-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016430278-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016432738-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016435168-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016437808-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016440438-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016442858-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016445238-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016447658-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016450138-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016452588-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016454978-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016457418-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016464958-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016467428-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016470558-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016473028-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016477178-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016479668-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016482108-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016484538-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016486938-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016493808-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016496358-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016498868-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016501548-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016503998-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016506478-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016509358-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016511658-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016532317-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016535017-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016537477-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016539977-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016542457-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016548147-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016550677-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016553147-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016555527-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016557897-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016560287-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016562667-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016564987-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016567507-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016570097-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016572817-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016575297-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016578637-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016581147-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016584057-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016586627-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016589107-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016591537-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016594097-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016596707-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016599107-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016602027-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016604597-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016607057-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016609877-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016612317-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016614747-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016621687-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016624137-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016626597-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016629087-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016631547-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016634127-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016636447-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016638927-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016641747-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016644957-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016647417-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016649757-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016652147-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016654587-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016657167-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016681937-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016688537-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016691677-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016694337-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016696757-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016699147-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016701627-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016703997-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016706437-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016708967-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016711547-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016713887-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016716267-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016720987-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016723517-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016727367-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016729887-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016732297-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016734857-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016737276-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016739696-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016742186-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016744596-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016747016-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016749456-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016751856-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016759416-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016761866-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016764256-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016766726-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016770146-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016772726-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016775626-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016778036-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016780546-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016782936-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016785586-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016788086-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016790716-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016793116-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016795426-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016797766-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016800196-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016802626-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016805026-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016807466-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016809866-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016812266-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016814696-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016817126-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016819496-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016822336-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016824716-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016827076-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016829436-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016831726-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016834136-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016836546-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016838966-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016841556-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016844066-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016846546-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016848936-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016851346-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016853756-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016856156-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016862756-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016865886-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016869086-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016871556-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016873976-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016876416-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016878896-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016881286-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016883676-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016886066-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016888506-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016890966-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016893376-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016895706-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016898156-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016900586-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016902996-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016905406-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016907746-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016911996-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016914826-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016917626-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016920036-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016922496-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016924906-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016927346-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016930006-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016932386-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016934836-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016937296-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016939756-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016942046-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016944446-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016947325-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016949875-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016952335-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016954735-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016957135-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016959525-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016962655-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016969575-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016972795-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016975255-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016977675-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016980725-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016983145-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016986175-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016988745-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016991305-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016993705-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016996235-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.016998695-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017001175-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017003765-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017006265-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017008655-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017011165-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017013535-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017016005-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017018425-05:00 def weekly_report(): [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017020855-05:00 > return _run("weekly") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017023295-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017025605-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017028045-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017030455-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017032915-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017035955-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017038435-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017040905-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017043355-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017045725-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017048095-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017050485-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017052845-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017055255-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017057575-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017059965-05:00 store_id = 'Fastime' [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017062255-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017064685-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017067155-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017069595-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017072075-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017079625-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017082165-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017084555-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017086965-05:00 """ [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017089415-05:00 base = _require_base() [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017091825-05:00 try: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017094205-05:00 import requests [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017096595-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017099015-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017101425-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017103805-05:00 raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017106175-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017108805-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017118045-05:00 if r.status_code == 404: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017120735-05:00 return None [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017123495-05:00 if r.status_code != 200: [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017125945-05:00 > raise ManageApiError( [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017128415-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017130875-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017133175-05:00 [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017136385-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.017138825-05:00 ----- end live Job logs ----- [pod/analytics-report-live-qf4d8-live-build-pod/step-run-live] 2026-08-04T17:12:00.083031838-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-qf4d8-live-build-pod/prepare] 2026-08-04T17:10:33.782797742-05:00 2026/08/04 22:10:33 Entrypoint initialization ===== analytics-report-live-qf4d8-notify-on-failure-pod.log ===== [pod/analytics-report-live-qf4d8-notify-on-failure-pod/place-scripts] 2026-08-04T17:12:03.061603238-05:00 2026/08/04 22:12:03 Decoded script /tekton/scripts/script-0-dvntr [pod/analytics-report-live-qf4d8-notify-on-failure-pod/step-slack-alert] 2026-08-04T17:12:08.163779621-05:00 slack-preview-token absent — skipping Slack alert (see the storeminder/slack Vault grant) [pod/analytics-report-live-qf4d8-notify-on-failure-pod/prepare] 2026-08-04T17:12:02.044055259-05:00 2026/08/04 22:12:02 Entrypoint initialization ===== analytics-report-live-qf4d8-post-check-live-pod.log ===== [pod/analytics-report-live-qf4d8-post-check-live-pod/place-scripts] 2026-08-04T17:12:04.524962318-05:00 2026/08/04 22:12:04 Decoded script /tekton/scripts/script-0-dcps5 [pod/analytics-report-live-qf4d8-post-check-live-pod/step-post-check] 2026-08-04T17:12:08.250729195-05:00 Installing PyJWT + cryptography + requests… [pod/analytics-report-live-qf4d8-post-check-live-pod/prepare] 2026-08-04T17:12:03.422125637-05:00 2026/08/04 22:12:03 Entrypoint initialization ===== analytics-report-live-qf4d8-post-status-live-pod.log ===== [pod/analytics-report-live-qf4d8-post-status-live-pod/prepare] 2026-08-04T17:12:03.202849969-05:00 2026/08/04 22:12:03 Entrypoint initialization [pod/analytics-report-live-qf4d8-post-status-live-pod/place-scripts] 2026-08-04T17:12:04.723734622-05:00 2026/08/04 22:12:04 Decoded script /tekton/scripts/script-0-5rcrs [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:07.677167588-05:00 Posting commit status to GitHub [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:07.677210518-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:07.677214588-05:00 SHA: 7bea69812cb58f46ff4ea98d5d6ebcaacfc46140 [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:07.677222648-05:00 State: failure (Failed) [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:07.677225858-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-7bea69812cb58f46ff4ea98d5d6ebcaacfc46140/analytics-report-live-qf4d8/logs.txt [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253687922-05:00 { [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253786151-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/7bea69812cb58f46ff4ea98d5d6ebcaacfc46140", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253792081-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253796441-05:00 "id": 51653451734, [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253800571-05:00 "node_id": "SC_kwDOS9o4_c8AAAAMBskf1g", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253804251-05:00 "state": "failure", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253807921-05:00 "description": "Checks failed", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253811951-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-7bea69812cb58f46ff4ea98d5d6ebcaacfc46140/analytics-report-live-qf4d8/logs.txt", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253815731-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253819481-05:00 "created_at": "2026-08-04T22:12:07Z", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253823101-05:00 "updated_at": "2026-08-04T22:12:07Z", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253826831-05:00 "creator": { [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253830801-05:00 "login": "steveblackmon", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253834711-05:00 "id": 702924, [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253838501-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253842221-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253845971-05:00 "gravatar_id": "", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253850141-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253853801-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253857481-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253861491-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253865181-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253868851-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253872521-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253876191-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253879901-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253883571-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253887171-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253890791-05:00 "type": "User", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253894431-05:00 "user_view_type": "public", [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253898071-05:00 "site_admin": false [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253901811-05:00 } [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.253905471-05:00 } [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.257208355-05:00 [pod/analytics-report-live-qf4d8-post-status-live-pod/step-post-status] 2026-08-04T17:12:08.257226675-05:00 Status posted successfully ===== analytics-report-live-qf4d8-reclaim-workspace-pod.log ===== [pod/analytics-report-live-qf4d8-reclaim-workspace-pod/prepare] 2026-08-04T17:12:03.872059401-05:00 2026/08/04 22:12:03 Entrypoint initialization [pod/analytics-report-live-qf4d8-reclaim-workspace-pod/place-scripts] 2026-08-04T17:12:04.736496152-05:00 2026/08/04 22:12:04 Decoded script /tekton/scripts/script-0-ssznc [pod/analytics-report-live-qf4d8-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-04T17:12:08.166573378-05:00 ==> reclaiming workspace PVC(s) owned by PipelineRun=analytics-report-live-qf4d8 in ns=tekton-pipelines [pod/analytics-report-live-qf4d8-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-04T17:12:08.609775122-05:00 ==> deleting PVC pvc-1c695e14e8 (5Gi) [pod/analytics-report-live-qf4d8-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-04T17:12:08.666232909-05:00 persistentvolumeclaim "pvc-1c695e14e8" deleted [pod/analytics-report-live-qf4d8-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-04T17:12:08.670281100-05:00 ==> requested deletion of 1 run-owned PVC(s)