===== analytics-report-live-hz2pl-archive-logs-pod.log ===== [pod/analytics-report-live-hz2pl-archive-logs-pod/step-collect-logs] 2026-07-25T19:56:03.267620891-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-hz2pl [pod/analytics-report-live-hz2pl-archive-logs-pod/prepare] 2026-07-25T19:55:57.987430083-05:00 2026/07/26 00:55:57 Entrypoint initialization [pod/analytics-report-live-hz2pl-archive-logs-pod/place-scripts] 2026-07-25T19:55:58.666870667-05:00 2026/07/26 00:55:58 Decoded script /tekton/scripts/script-0-526s4 [pod/analytics-report-live-hz2pl-archive-logs-pod/place-scripts] 2026-07-25T19:55:58.686868665-05:00 2026/07/26 00:55:58 Decoded script /tekton/scripts/script-1-5bd5t ===== analytics-report-live-hz2pl-clone-pod.log ===== [pod/analytics-report-live-hz2pl-clone-pod/prepare] 2026-07-25T19:54:31.128765203-05:00 2026/07/26 00:54:31 Entrypoint initialization [pod/analytics-report-live-hz2pl-clone-pod/place-scripts] 2026-07-25T19:54:31.743970275-05:00 2026/07/26 00:54:31 Decoded script /tekton/scripts/script-0-mgbj7 [pod/analytics-report-live-hz2pl-clone-pod/step-clone] 2026-07-25T19:54:36.304405258-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-hz2pl-clone-pod/step-clone] 2026-07-25T19:54:36.304427477-05:00 * branch 93a9932bccf271fa76e1c636249e2b8b9501b88f -> FETCH_HEAD [pod/analytics-report-live-hz2pl-clone-pod/step-clone] 2026-07-25T19:54:36.378514005-05:00 Cloned 93a9932bccf271fa76e1c636249e2b8b9501b88f ===== analytics-report-live-hz2pl-live-build-pod.log ===== [pod/analytics-report-live-hz2pl-live-build-pod/prepare] 2026-07-25T19:54:41.623899181-05:00 2026/07/26 00:54:41 Entrypoint initialization [pod/analytics-report-live-hz2pl-live-build-pod/place-scripts] 2026-07-25T19:54:42.098000516-05:00 2026/07/26 00:54:42 Decoded script /tekton/scripts/script-0-xrsgb [pod/analytics-report-live-hz2pl-live-build-pod/place-scripts] 2026-07-25T19:54:42.117259177-05:00 2026/07/26 00:54:42 Decoded script /tekton/scripts/script-2-ftnqp [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.516991679-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517734825-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517743125-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517747435-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517751135-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517754715-05:00 COPY . /prsrc [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517758405-05:00 WORKDIR /prsrc [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517762035-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517765675-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517769175-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517772875-05:00 # Overlay the sibling storeminder-* dists first when the checkout has [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517776445-05:00 # them (#781 package family; guard keeps pre-carve branches working). [pod/analytics-report-live-hz2pl-live-build-pod/step-prepare-dockerfile] 2026-07-25T19:54:48.517780355-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.735958351-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.735986921-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.810163598-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.810198998-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.818034298-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.818050548-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.818055878-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.818067448-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.818071388-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.818145537-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.818389196-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.861374325-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:f61370726a33377e56f914a8916f30b579b95741ac10ef6e76f311e934e6643b... [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.883822819-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:54:48.883839999-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:08.528541538-05:00 INFO[0019] COPY . /prsrc [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:08.793682136-05:00 INFO[0020] Taking snapshot of files... [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:09.027276306-05:00 INFO[0020] WORKDIR /prsrc [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:09.027296586-05:00 INFO[0020] Cmd: workdir [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:09.027301606-05:00 INFO[0020] Changed working directory to /prsrc [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:09.027617794-05:00 INFO[0020] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:09.027629474-05:00 INFO[0020] 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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:09.027634634-05:00 INFO[0020] Initializing snapshotter ... [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:09.027638534-05:00 INFO[0020] Taking snapshot of full filesystem... [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:16.392482612-05:00 INFO[0027] Cmd: /bin/sh [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:16.392506242-05:00 INFO[0027] 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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:16.392517252-05:00 INFO[0027] 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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:16.730429868-05:00 Obtaining file:///prsrc/packages/storeminder-config [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:16.732514467-05:00 Installing build dependencies: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.050186167-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.051014983-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.172813068-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.173805683-05:00 Getting requirements to build editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.332488239-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.333712353-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.478982568-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.519464330-05:00 Building wheels for collected packages: storeminder-config [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.520183896-05:00 Building editable for storeminder-config (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.696448072-05:00 Building editable for storeminder-config (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.697078929-05:00 Created wheel for storeminder-config: filename=storeminder_config-0.1.6-0.editable-py3-none-any.whl size=1448 sha256=83a8ad8f66f4ea15deec58797b351875a0360983c20dde56e2d5628f477fe28c [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.697204718-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-7gvtpcm5/wheels/c8/b7/ed/799e8d0938926d17720d45f014fd606224a2bdbd8f166b8ac7 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.699005509-05:00 Successfully built storeminder-config [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.699177458-05:00 Installing collected packages: storeminder-config [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.699291398-05:00 Attempting uninstall: storeminder-config [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.736400078-05:00 Found existing installation: storeminder-config 0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.737800610-05:00 Uninstalling storeminder-config-0.1.6: [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.739051904-05:00 Successfully uninstalled storeminder-config-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.867238046-05:00 Successfully installed storeminder-config-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:19.867438045-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:20.009967214-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:20.010067774-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:20.010073174-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:20.482692210-05:00 Obtaining file:///prsrc/packages/storeminder-core [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:20.484895339-05:00 Installing build dependencies: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:22.796984343-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:22.797835819-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:22.916042503-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:22.917022458-05:00 Getting requirements to build editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.079678344-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.080801528-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.236425110-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.284628783-05:00 Building wheels for collected packages: storeminder-core [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.285405119-05:00 Building editable for storeminder-core (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.464783160-05:00 Building editable for storeminder-core (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.465370567-05:00 Created wheel for storeminder-core: filename=storeminder_core-0.1.6-0.editable-py3-none-any.whl size=1421 sha256=f2dfdd6005070230010bf9028b3b3777e2cfe09f1f869fce9ef384faf46f59ae [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.465501406-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-9hj9jcpf/wheels/cf/0a/8d/363b61b456e5493d58ab68e2df84ed6525b00451460548e2ec [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.467668135-05:00 Successfully built storeminder-core [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.467897674-05:00 Installing collected packages: storeminder-core [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.468061843-05:00 Attempting uninstall: storeminder-core [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.519380310-05:00 Found existing installation: storeminder-core 0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.521850847-05:00 Uninstalling storeminder-core-0.1.6: [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.524097046-05:00 Successfully uninstalled storeminder-core-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.680483064-05:00 Successfully installed storeminder-core-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.680714513-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.825189262-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.825216102-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:23.825222222-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:24.317253070-05:00 Obtaining file:///prsrc/packages/storeminder-integrations [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:24.319097151-05:00 Installing build dependencies: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:26.610281799-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:26.611125994-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:26.732975590-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:26.734077484-05:00 Getting requirements to build editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:26.954709104-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:26.955793698-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.133344689-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.200987822-05:00 Building wheels for collected packages: storeminder-integrations [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.202026737-05:00 Building editable for storeminder-integrations (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.367615868-05:00 Building editable for storeminder-integrations (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.368268295-05:00 Created wheel for storeminder-integrations: filename=storeminder_integrations-0.1.6-0.editable-py3-none-any.whl size=1541 sha256=7f3038f22f629f95c0f0b1ec643e77b119b7f3e66f5f0de69ce3bbbddceb2fcf [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.368424654-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-jt_hzqci/wheels/49/2a/42/c8229e571dd70e2121aa4920cf73feb5ab909b22f329251d8c [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.370555213-05:00 Successfully built storeminder-integrations [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.370903581-05:00 Installing collected packages: storeminder-integrations [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.371054481-05:00 Attempting uninstall: storeminder-integrations [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.414642327-05:00 Found existing installation: storeminder-integrations 0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.416209499-05:00 Uninstalling storeminder-integrations-0.1.6: [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.417920811-05:00 Successfully uninstalled storeminder-integrations-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.495996041-05:00 Successfully installed storeminder-integrations-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.496215210-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.631400097-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.631495876-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:27.631502466-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:28.157232573-05:00 Obtaining file:///prsrc/packages/storeminder-tools [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:28.159513221-05:00 Installing build dependencies: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:30.437383984-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:30.477472458-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:30.557495908-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:30.558679093-05:00 Getting requirements to build editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:30.725023401-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:30.726943921-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:30.899541637-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:30.947617401-05:00 Building wheels for collected packages: storeminder-tools [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:30.948409777-05:00 Building editable for storeminder-tools (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.119077663-05:00 Building editable for storeminder-tools (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.119757649-05:00 Created wheel for storeminder-tools: filename=storeminder_tools-0.1.6-0.editable-py3-none-any.whl size=1538 sha256=72db4e2de31035e8c0c172389d80d29e236beff45fe27b355cabceb77c1c6610 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.119886858-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-5a0bmwcm/wheels/a0/21/f1/6f60f0b2e970907d4c5c8c7175e076b35d88919c960e079b86 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.121884808-05:00 Successfully built storeminder-tools [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.122147017-05:00 Installing collected packages: storeminder-tools [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.122309126-05:00 Attempting uninstall: storeminder-tools [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.167184236-05:00 Found existing installation: storeminder-tools 0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.169299505-05:00 Uninstalling storeminder-tools-0.1.6: [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.171311295-05:00 Successfully uninstalled storeminder-tools-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.278013269-05:00 Successfully installed storeminder-tools-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.278182278-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.419931802-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.419967712-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.419973072-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.853308153-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:31.855395172-05:00 Installing build dependencies: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:33.833090597-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:33.833641174-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:33.930173460-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:33.931036656-05:00 Getting requirements to build editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.077167158-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.078071603-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.235128439-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.281224503-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.281963939-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.457127953-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.457706330-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2198 sha256=6e499c673803ccf3b8a58f562e02fbb032dc9e926425afa0b136ebcf385c4bbb [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.457838159-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-cd0yhkpu/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.460051768-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.460254657-05:00 Installing collected packages: storeminder-analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.460354926-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.497949204-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.501879184-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.503428006-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.588754659-05:00 Successfully installed storeminder-analytics-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.588942638-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.711087923-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.711116183-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:34.711121403-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:35.105372115-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:35.107235375-05:00 Installing build dependencies: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.149364095-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.150378590-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.252851766-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.255327133-05:00 Getting requirements to build editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.400344001-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.401254766-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.552936690-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.617725239-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.618270986-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.618937963-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.619482590-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.625302670-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.626205925-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.626900752-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.627549969-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.628277435-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.0) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.629259420-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.630541273-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (1.43.56) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.631159220-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.633078000-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.801969316-05:00 Collecting pytest>=7 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.870991143-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.882043217-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.882716943-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.883444899-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.884194686-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.884825212-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.886681563-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.887162640-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.887777667-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.891231319-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.56 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder-analytics==0.1.6) (1.43.56) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.891911586-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.892586452-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.895631537-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.933336224-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.964932492-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:37.965774498-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.000385211-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.019495033-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.021216324-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.069194909-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.088615810-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.091393155-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.099372695-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.100080231-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.100798207-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.101512234-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.128363856-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.134137037-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.148079875-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.164021744-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.164714590-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.165575156-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.175589405-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.236941701-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.462302868-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 1.8 MB/s eta 0:00:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.478682044-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.495234109-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.504873660-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.602499991-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.603060428-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.604050993-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.771970734-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.772666150-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2198 sha256=2be32ae91328456443074ae5acaa9ba2cc9355eadfb35a31ebd1aeecacc85b17 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.772762190-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-mq7vn7bv/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:38.774568581-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:39.535901606-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder-analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:39.797805447-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:39.843402393-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:39.844961155-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:40.032503006-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:40.511817095-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:40.511961624-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-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:40.653959848-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:40.654055647-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:40.654061237-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:40.797868622-05:00 INFO[0052] Taking snapshot of full filesystem... [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:42.970253553-05:00 INFO[0054] Pushing layer registry.storeminder.ai/images/cache:f61370726a33377e56f914a8916f30b579b95741ac10ef6e76f311e934e6643b to cache now [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:42.970464882-05:00 INFO[0054] Pushing image to registry.storeminder.ai/images/cache:f61370726a33377e56f914a8916f30b579b95741ac10ef6e76f311e934e6643b [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:43.461551122-05:00 INFO[0054] Pushed registry.storeminder.ai/images/cache@sha256:1f104ed756700886551989f804f19a64dafd35bd8c3eb954356d3b75bcb07d29 [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:43.462428407-05:00 INFO[0054] Pushing image to registry.storeminder.ai/images/storeminder-report-live:93a9932bccf271fa76e1c636249e2b8b9501b88f [pod/analytics-report-live-hz2pl-live-build-pod/step-build-pr-image] 2026-07-25T19:55:43.815105214-05:00 INFO[0055] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:515dfc3969aed301f35c853050ae99aad212e736cc9a7bf644b0a28d759ddf03 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:44.213088540-05:00 /tekton/scripts/script-2-ftnqp: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:44.325122787-05:00 job.batch/report-live-93a9932 created [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.681298706-05:00 ----- live Job logs (report-live-93a9932) ----- [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767533916-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767551586-05:00 ============================= test session starts ============================== [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767556456-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767560856-05:00 cachedir: .pytest_cache [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767571166-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767576526-05:00 configfile: pyproject.toml [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767580646-05:00 plugins: anyio-4.14.2, langsmith-0.10.10 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767584596-05:00 collecting ... collected 10 items [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767588276-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767596086-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767601026-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767605816-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767610026-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767614306-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767618336-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767622256-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767626136-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767630266-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767634236-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767637916-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767641966-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767646016-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767650106-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767654056-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767658296-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767662186-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767666245-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767670035-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767674295-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767678225-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767682725-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767686665-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767690515-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767694645-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767698795-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767702885-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767706635-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767723195-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767726255-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767729145-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767731715-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767734425-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767737005-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767739675-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767742565-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767746095-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767749175-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767752195-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767755015-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767757735-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767760495-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767763165-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767765855-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767768695-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767771475-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767774185-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767776855-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767779575-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767784695-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767787385-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767790015-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767792815-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767795945-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767799005-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767801795-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767806845-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767809505-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767812305-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767815185-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767817765-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767820645-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767823315-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767826125-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767828925-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767831725-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767834735-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767837815-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767840455-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767849855-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767852765-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767855635-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767864244-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767866934-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767869614-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767872214-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767874904-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767877664-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767880184-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767882924-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767885824-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767888774-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767892414-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767895124-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767897914-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767900814-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767903504-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767906264-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767909124-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767912054-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767915044-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767917914-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767920604-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767923244-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767925984-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767928644-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767931434-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767957004-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767961174-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767965114-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767969064-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767972874-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767976764-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767983824-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767987634-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767991474-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767995434-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.767999454-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768003494-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768007394-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768011314-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768015184-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768018814-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768022614-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768026424-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768030524-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768034884-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768044574-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768047404-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768050144-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768052754-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768055573-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768058373-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768061503-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768064473-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768067213-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768070163-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768072813-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768075693-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768078703-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768081513-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768084443-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768087473-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768090713-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768093593-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768096373-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768099233-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768102063-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768104923-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768107753-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768110513-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768113413-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768116753-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768119633-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768122343-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768125013-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768127703-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768130373-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768133213-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768137863-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768140633-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768143233-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768146043-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768153483-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768156153-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768159013-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768161723-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768164353-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768167033-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768169573-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768172263-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768175063-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768183563-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768186433-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768189173-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768191843-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768194553-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768197283-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768200103-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768202783-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768205523-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768208143-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768210733-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768213383-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768215933-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768218673-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768221443-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768224143-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768226893-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768229533-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768232293-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768235073-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768237813-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768240563-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768243273-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768245953-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768248692-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768253952-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768256732-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768259542-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768262272-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768265582-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768268272-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768271132-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768273792-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768277692-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768280462-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768283402-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768285992-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768288642-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768292062-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768294552-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768297292-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768300012-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768302802-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768311742-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768314332-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768317072-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768319762-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768322442-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768325252-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768327992-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768330762-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768333502-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768336222-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768338942-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768341692-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768344452-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768347232-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768349752-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768352402-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768354962-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768357742-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768360462-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768363272-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768366022-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768368752-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768371542-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768374342-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768377012-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768379652-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768382442-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768385132-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768387942-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768390672-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768393332-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768395962-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768398702-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768401482-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768408372-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768411102-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768413802-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768416492-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768419202-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768422092-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768424652-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768427362-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768430092-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768432622-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768439962-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768442632-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768445331-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768447971-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768450541-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768453191-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768455881-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768458591-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768461431-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768464041-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768466711-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768469571-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768472351-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768475031-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768477651-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768480361-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768483081-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768485591-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768488241-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768490951-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768493651-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768496371-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768499021-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768501851-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768504611-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768507221-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768510031-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768512871-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768515601-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768518281-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768520991-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768523671-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768526461-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768529301-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768532071-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768534731-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768537431-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768540131-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768542851-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768545581-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768548301-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768551121-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768554001-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768556551-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768559701-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768573441-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768578381-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768581101-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768584351-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768587111-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768589851-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768592381-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768595291-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768598121-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768600791-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768603721-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768606491-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768609221-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768611921-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768614601-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768617291-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768620091-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768622791-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768625481-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768628041-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768630741-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768633251-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768635981-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768638800-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768641470-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768644220-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768647000-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768649780-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768652630-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768655280-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768658000-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768664300-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768667140-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768670390-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768673090-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768675740-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768678470-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768681170-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768683980-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768686760-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768689430-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768692140-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768694820-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768697840-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768712730-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768715370-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768718190-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768721000-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768723590-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768726310-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768729120-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768731880-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768734600-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768737140-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768739800-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768742610-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768745410-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768748280-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768750990-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768753680-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768756470-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768759230-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768761960-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768764660-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768767440-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768770130-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768772770-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768775500-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768778910-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768781630-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768784460-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768787160-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768789880-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768792610-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768795270-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768797950-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768800700-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768803540-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768806700-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768809440-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768812200-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768815010-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768817720-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768820430-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768823200-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768825910-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768828690-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768831440-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768834249-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768841719-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768844559-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768847589-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768850249-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768852989-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768855869-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768858489-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768861479-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768864209-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768866999-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768869729-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768872369-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768875079-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768877849-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768880599-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768883369-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768886079-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768888889-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768891609-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768894349-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768897279-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768900009-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768902799-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768905429-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768908139-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768910929-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768913449-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768916079-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768923189-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768925929-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768928719-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768931529-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768934209-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768936919-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768939559-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768942299-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768944999-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768947749-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768950499-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768953299-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768956009-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768958739-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768963089-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768965909-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768974109-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768977039-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768979779-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768982519-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768985219-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768988239-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768990839-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768993609-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768996349-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.768998959-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769001739-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769004469-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769007169-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769009969-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769012539-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769015259-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769018079-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769020849-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769023669-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769026449-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769029148-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769031888-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769034648-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769037348-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769040108-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769042858-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769045668-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769048198-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769050948-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769053498-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769056208-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769059008-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769061848-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769064728-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769067468-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769070438-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769073248-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769075968-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769078608-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769081338-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769084058-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769086778-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769089488-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769092178-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769099258-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769102048-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769104848-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769107558-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769110248-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769113008-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769115698-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769118478-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769121328-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769123938-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769127358-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769130138-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769132798-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769135578-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769138368-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769141088-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769143918-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769146738-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769152868-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769155838-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769159378-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769162058-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769164798-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769167548-05:00 ============================== 10 errors in 1.02s ============================== [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769170278-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769173438-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769177768-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769180558-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769183318-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769185878-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769188898-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769191648-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769194448-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769197198-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769199978-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769207318-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769210118-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769212858-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769216448-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769219178-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769222008-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769224737-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769227487-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769230357-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769232917-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769235687-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769238357-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769241197-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769243997-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769246717-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769250227-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769253067-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769255917-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769258727-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769261477-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769264667-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769267397-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769270267-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769273047-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769275847-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769278547-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769281337-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769284027-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769286737-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769289447-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769292227-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769294967-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769297717-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769300377-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769304187-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769307117-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769309837-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769312617-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769315227-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769317907-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769320697-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769327967-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769330897-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769333607-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769336387-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769339157-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769342097-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769344847-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769350437-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769353167-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769355917-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769358567-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769361207-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769363807-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769366467-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769369177-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769371897-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769374657-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769377547-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769380417-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769383157-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769385747-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769388537-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769391357-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769394077-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769396947-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769399697-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769402627-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769405367-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769408077-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769410747-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769413457-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769416247-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769418937-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769421666-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769426066-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769430036-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769432676-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769435826-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769438636-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769441356-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769449186-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769451756-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769454556-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769457646-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769460426-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769463246-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769466086-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769468936-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769471666-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769474526-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769477266-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769480076-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769482846-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769485706-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769488376-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769491206-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769493856-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769496496-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769499176-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769502086-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769504836-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769508526-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769511726-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769514566-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769517296-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769520006-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769522796-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769525566-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769528496-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769531286-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769534016-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769536776-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769539416-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769542076-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769544716-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769547336-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769550126-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769552876-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769555786-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769558616-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769561146-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769598956-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769622015-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769628955-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769632155-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769634995-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769638525-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769641965-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769645475-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769648495-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769651565-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769654565-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769658325-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769661845-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769665225-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769668205-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769671335-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769674695-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769677765-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769681065-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769684085-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769687105-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769690955-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769694185-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769697525-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769701055-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769704455-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769708625-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769711985-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769715265-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769718395-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769721245-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769724185-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769727115-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769729155-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769731265-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769733395-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769735405-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769737515-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769739545-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769741575-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769743655-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769746135-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769748985-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769755865-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769758275-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769760405-05:00 def daily_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769762565-05:00 > return _run("daily") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769764655-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769766575-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769768585-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769770695-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769772815-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769774895-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769777055-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769779155-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769781265-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769783355-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769785355-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769787365-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769789485-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769791625-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769793565-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769795645-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769797595-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769799755-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769801855-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769803895-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769806095-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769808465-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769810585-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769812735-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769814865-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769816935-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769819065-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769821094-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769824664-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769826824-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769828874-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769831004-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769833184-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769841134-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769843384-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769845474-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769847574-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769853704-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769855884-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769858114-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769860074-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769862284-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769864354-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769866504-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769868504-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769870434-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769872424-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769874564-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769876604-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769878764-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769880954-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769883064-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769885184-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769887214-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769889224-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769891234-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769893234-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769895284-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769897214-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769899244-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769901164-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769903244-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769905994-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769908044-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769910224-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769912324-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769914354-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769916414-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769918444-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769920474-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769922514-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769924534-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769926574-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769928614-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769930644-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769932674-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769934694-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769936724-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769943854-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769945894-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769947904-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769949984-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769951994-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769954744-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769956784-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769959004-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769961094-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769963144-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769965174-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769967124-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769969204-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769971314-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769973364-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769975484-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769977604-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769979604-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769981614-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769983634-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769985654-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769987714-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769989724-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769991814-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769993774-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769995764-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769997724-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.769999724-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770004144-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770006254-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770008324-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770010484-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770012564-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770014654-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770016664-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770018734-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770020924-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770022943-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770024953-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770027093-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770032613-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770034673-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770036933-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770038953-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770041013-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770043033-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770045053-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770047183-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770049393-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770051553-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770053513-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770056163-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770058263-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770060373-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770062413-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770064373-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770066383-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770068673-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770070723-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770073573-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770075703-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770077723-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770079773-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770082463-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770085393-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770088443-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770091353-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770094433-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770097483-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770100633-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770102873-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770104893-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770106983-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770109033-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770111163-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770113373-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770115563-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770117583-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770119603-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770121623-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770123663-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770129613-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770131673-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770133713-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770135763-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770137783-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770139873-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770141993-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770144113-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770146153-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770148173-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770150323-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770152443-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770154583-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770156543-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770158713-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770161253-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770163303-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770165443-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770167453-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770172513-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770174673-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770176693-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770178793-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770180843-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770182923-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770184903-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770187053-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770189043-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770191053-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770193073-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770195143-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770197073-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770199083-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770201033-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770203093-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770205113-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770207143-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770210083-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770212193-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770214243-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770220153-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770222203-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770224273-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770226302-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770228312-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770230422-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770232512-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770234612-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770237812-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770240482-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770242582-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770244592-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770246622-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770248682-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770250692-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770252752-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770254932-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770256892-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770259042-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770261092-05:00 def weekly_report(): [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770263112-05:00 > return _run("weekly") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770265162-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770267122-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770269112-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770271252-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770273292-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770275382-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770277382-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770279402-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770281402-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770283502-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770285502-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770287512-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770289532-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770291862-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770293812-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770295822-05:00 store_id = 'Fastime' [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770297762-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770299762-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770301792-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770303842-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770305982-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770311712-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770313902-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770315922-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770317952-05:00 """ [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770319992-05:00 base = _require_base() [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770322052-05:00 try: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770324142-05:00 import requests [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770326262-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770328332-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770331002-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770333022-05:00 raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770335012-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770337002-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770343562-05:00 if r.status_code == 404: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770345682-05:00 return None [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770347762-05:00 if r.status_code != 200: [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770351032-05:00 > raise ManageApiError( [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770353182-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770355582-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770357522-05:00 [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770360162-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.770362642-05:00 ----- end live Job logs ----- [pod/analytics-report-live-hz2pl-live-build-pod/step-run-live] 2026-07-25T19:55:54.792889067-05:00 ==> live build: status=Failed conclusion=failure ===== analytics-report-live-hz2pl-notify-on-failure-pod.log ===== [pod/analytics-report-live-hz2pl-notify-on-failure-pod/prepare] 2026-07-25T19:55:57.419164093-05:00 2026/07/26 00:55:57 Entrypoint initialization [pod/analytics-report-live-hz2pl-notify-on-failure-pod/place-scripts] 2026-07-25T19:55:58.674736587-05:00 2026/07/26 00:55:58 Decoded script /tekton/scripts/script-0-tcv99 ===== analytics-report-live-hz2pl-post-check-live-pod.log ===== [pod/analytics-report-live-hz2pl-post-check-live-pod/prepare] 2026-07-25T19:55:58.783609591-05:00 2026/07/26 00:55:58 Entrypoint initialization [pod/analytics-report-live-hz2pl-post-check-live-pod/place-scripts] 2026-07-25T19:55:59.854758777-05:00 2026/07/26 00:55:59 Decoded script /tekton/scripts/script-0-r74jl [pod/analytics-report-live-hz2pl-post-check-live-pod/step-post-check] 2026-07-25T19:56:03.052523548-05:00 Installing PyJWT + cryptography + requests… ===== analytics-report-live-hz2pl-post-status-live-pod.log ===== [pod/analytics-report-live-hz2pl-post-status-live-pod/prepare] 2026-07-25T19:55:58.207677050-05:00 2026/07/26 00:55:58 Entrypoint initialization [pod/analytics-report-live-hz2pl-post-status-live-pod/place-scripts] 2026-07-25T19:55:58.631259209-05:00 2026/07/26 00:55:58 Decoded script /tekton/scripts/script-0-q9j8l [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.114773280-05:00 Posting commit status to GitHub [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.114809690-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.114813060-05:00 SHA: 93a9932bccf271fa76e1c636249e2b8b9501b88f [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.114815440-05:00 State: failure (Failed) [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.114818680-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-93a9932bccf271fa76e1c636249e2b8b9501b88f/analytics-report-live-hz2pl/logs.txt [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724544970-05:00 { [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724655620-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/93a9932bccf271fa76e1c636249e2b8b9501b88f", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724664050-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724669390-05:00 "id": 51092688853, [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724674230-05:00 "node_id": "SC_kwDOS9o4_c8AAAAL5VyP1Q", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724678500-05:00 "state": "failure", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724682830-05:00 "description": "Checks failed", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724687430-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-93a9932bccf271fa76e1c636249e2b8b9501b88f/analytics-report-live-hz2pl/logs.txt", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724692509-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724697019-05:00 "created_at": "2026-07-26T00:56:02Z", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724701239-05:00 "updated_at": "2026-07-26T00:56:02Z", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724713149-05:00 "creator": { [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724717979-05:00 "login": "steveblackmon", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724722279-05:00 "id": 702924, [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724726509-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724731559-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724735919-05:00 "gravatar_id": "", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724740589-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724744909-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724749159-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724753759-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724757979-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724769459-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724774049-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724779029-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724783279-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724787739-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724791979-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724796219-05:00 "type": "User", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724800489-05:00 "user_view_type": "public", [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724804709-05:00 "site_admin": false [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724809019-05:00 } [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.724813289-05:00 } [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.728752169-05:00 [pod/analytics-report-live-hz2pl-post-status-live-pod/step-post-status] 2026-07-25T19:56:02.728780339-05:00 Status posted successfully ===== analytics-report-live-hz2pl-reclaim-workspace-pod.log ===== [pod/analytics-report-live-hz2pl-reclaim-workspace-pod/prepare] 2026-07-25T19:55:59.168251889-05:00 2026/07/26 00:55:59 Entrypoint initialization [pod/analytics-report-live-hz2pl-reclaim-workspace-pod/place-scripts] 2026-07-25T19:55:59.884270866-05:00 2026/07/26 00:55:59 Decoded script /tekton/scripts/script-0-9r4dm