===== analytics-report-live-vdlzp-archive-logs-pod.log ===== [pod/analytics-report-live-vdlzp-archive-logs-pod/prepare] 2026-07-17T23:10:53.701229226-05:00 2026/07/18 04:10:53 Entrypoint initialization [pod/analytics-report-live-vdlzp-archive-logs-pod/place-scripts] 2026-07-17T23:10:53.960367565-05:00 2026/07/18 04:10:53 Decoded script /tekton/scripts/script-0-z89k2 [pod/analytics-report-live-vdlzp-archive-logs-pod/place-scripts] 2026-07-17T23:10:53.982297296-05:00 2026/07/18 04:10:53 Decoded script /tekton/scripts/script-1-zcq6f [pod/analytics-report-live-vdlzp-archive-logs-pod/step-collect-logs] 2026-07-17T23:10:58.312020436-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-vdlzp ===== analytics-report-live-vdlzp-clone-pod.log ===== [pod/analytics-report-live-vdlzp-clone-pod/prepare] 2026-07-17T23:09:28.139590698-05:00 2026/07/18 04:09:28 Entrypoint initialization [pod/analytics-report-live-vdlzp-clone-pod/place-scripts] 2026-07-17T23:09:29.484923022-05:00 2026/07/18 04:09:29 Decoded script /tekton/scripts/script-0-sth9q [pod/analytics-report-live-vdlzp-clone-pod/step-clone] 2026-07-17T23:09:35.355968829-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-vdlzp-clone-pod/step-clone] 2026-07-17T23:09:35.356010469-05:00 * branch 02bc3da8befbf6835dca0348d6adcab3fbbf47ca -> FETCH_HEAD [pod/analytics-report-live-vdlzp-clone-pod/step-clone] 2026-07-17T23:09:35.459937230-05:00 Cloned 02bc3da8befbf6835dca0348d6adcab3fbbf47ca ===== analytics-report-live-vdlzp-live-build-pod.log ===== [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.407695030-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.407737850-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.528373432-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.528401892-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.534989593-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.535001373-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.535006273-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.535019513-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.535051963-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.535144063-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.537768137-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.601590303-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:35bb1c0237dd67077411880075f49574e5d00c194ca9f87f363451714c7f3838... [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.623636794-05:00 INFO[0000] No cached layer found for cmd RUN 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-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:47.623669463-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:59.723207472-05:00 INFO[0012] COPY . /prsrc [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:09:59.869868461-05:00 INFO[0012] Taking snapshot of files... [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:00.078834963-05:00 INFO[0012] WORKDIR /prsrc [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:00.078863103-05:00 INFO[0012] Cmd: workdir [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:00.078869123-05:00 INFO[0012] Changed working directory to /prsrc [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:00.079149851-05:00 INFO[0012] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:00.079166191-05:00 INFO[0012] RUN 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-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:00.079181821-05:00 INFO[0012] Initializing snapshotter ... [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:00.079187191-05:00 INFO[0012] Taking snapshot of full filesystem... [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:08.223269526-05:00 INFO[0020] Cmd: /bin/sh [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:08.223377775-05:00 INFO[0020] Args: [-c 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-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:08.223387285-05:00 INFO[0020] Running: [/bin/sh -c 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-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:08.705575491-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:08.708181845-05:00 Installing build dependencies: started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:11.850583119-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:11.851786562-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.037645999-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.039191080-05:00 Getting requirements to build editable: started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.249545423-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.250977874-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.516502223-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.567949190-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.568914794-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.808974803-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.809978187-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1979 sha256=9799683a4a70f13d382811e881b058cfe1bf3daec8863f9e26c92da9f3942369 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.810173395-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-9ksrb4lh/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.813922963-05:00 Successfully built storeminder [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.814197022-05:00 Installing collected packages: storeminder [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.814425840-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.875117724-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.882848478-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:12.885018435-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:13.017792934-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:13.018167882-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-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:13.181731580-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:13.181762020-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:13.181771350-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:13.774027146-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:13.776116574-05:00 Installing build dependencies: started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:16.652168205-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:16.653391088-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:16.841724570-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:16.843073012-05:00 Getting requirements to build editable: started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.115794858-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.117680457-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.362518316-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.457435767-05:00 Requirement already satisfied: pandas>=1.5.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (3.0.3) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.459371316-05:00 Requirement already satisfied: numpy>=1.23.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (2.4.6) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.460702548-05:00 Requirement already satisfied: requests>=2.28.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (2.34.2) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.461711682-05:00 Requirement already satisfied: openpyxl>=3.0.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (3.1.5) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.462945385-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (0.117.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.464567395-05:00 Requirement already satisfied: psycopg>=3.1 in /usr/local/lib/python3.11/site-packages (from psycopg[binary,pool]>=3.1->storeminder==0.1.0) (3.3.4) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.466938752-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.468151904-05:00 Requirement already satisfied: PyYAML>=6.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (6.0.3) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.655983799-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.737618969-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.755137876-05:00 Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (4.14.2) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.756235099-05:00 Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (1.9.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.757452712-05:00 Requirement already satisfied: docstring-parser<1,>=0.15 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (0.18.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.758675515-05:00 Requirement already satisfied: httpx<1,>=0.25.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (0.28.1) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.759721429-05:00 Requirement already satisfied: jiter<1,>=0.4.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (0.16.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.762982810-05:00 Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (2.13.4) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.763750135-05:00 Requirement already satisfied: sniffio in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (1.3.1) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.764770529-05:00 Requirement already satisfied: typing-extensions<5,>=4.14 in /usr/local/lib/python3.11/site-packages (from anthropic>=0.25.0->storeminder==0.1.0) (4.16.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.770033348-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.51 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.771146772-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==0.1.0) (1.1.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.772217025-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==0.1.0) (0.19.1) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.775910973-05:00 Requirement already satisfied: et-xmlfile in /usr/local/lib/python3.11/site-packages (from openpyxl>=3.0.0->storeminder==0.1.0) (2.0.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.830181404-05:00 Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/site-packages (from pandas>=1.5.0->storeminder==0.1.0) (2.9.0.post0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.877090558-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==0.1.0) (3.3.4) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.878493430-05:00 Requirement already satisfied: psycopg-pool in /usr/local/lib/python3.11/site-packages (from psycopg[binary,pool]>=3.1->storeminder==0.1.0) (3.3.1) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.918002697-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.938314458-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.940736134-05:00 Requirement already satisfied: packaging>=22 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder==0.1.0) (26.2) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.977203239-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.996384096-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:17.999480548-05:00 Requirement already satisfied: pygments>=2.7.2 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder==0.1.0) (2.20.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.007389981-05:00 Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder==0.1.0) (3.4.9) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.008635764-05:00 Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder==0.1.0) (3.18) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.009546769-05:00 Requirement already satisfied: urllib3<3,>=1.26 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder==0.1.0) (2.7.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.010283274-05:00 Requirement already satisfied: certifi>=2023.5.7 in /usr/local/lib/python3.11/site-packages (from requests>=2.28.0->storeminder==0.1.0) (2026.6.17) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.067063400-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==0.1.0) (1.0.9) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.074624026-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==0.1.0) (0.16.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.108510636-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==0.1.0) (0.7.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.109819809-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==0.1.0) (2.46.4) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.111664278-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==0.1.0) (0.4.2) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.125212568-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==0.1.0) (1.17.0) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.221917609-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.353972822-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 2.9 MB/s eta 0:00:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.377436794-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.397932183-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.406077095-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.545378636-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.546017052-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.547060386-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.763080495-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.763957459-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1979 sha256=c9924ebf3287c8720627344ed8528d489802cd5a132f6f1bbceaa95d563de1bf [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.764111999-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-9eszq7_1/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:18.766148036-05:00 Successfully built storeminder [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:19.740601082-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.006807565-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.054983832-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.057357938-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.259427579-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.481712810-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.481944289-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-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.671366224-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.671391514-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.671398524-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:20.845782797-05:00 INFO[0033] Taking snapshot of full filesystem... [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:22.961002716-05:00 INFO[0035] Pushing layer registry.storeminder.ai/images/cache:35bb1c0237dd67077411880075f49574e5d00c194ca9f87f363451714c7f3838 to cache now [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:22.961536363-05:00 INFO[0035] Pushing image to registry.storeminder.ai/images/cache:35bb1c0237dd67077411880075f49574e5d00c194ca9f87f363451714c7f3838 [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:23.074488528-05:00 INFO[0035] Pushed registry.storeminder.ai/images/cache@sha256:112494670b78babdf1b766dc9a6155f2874aa7220c1cc01cb9c1d4f34e43e03b [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:23.075139054-05:00 INFO[0035] Pushing image to registry.storeminder.ai/images/storeminder-report-live:02bc3da8befbf6835dca0348d6adcab3fbbf47ca [pod/analytics-report-live-vdlzp-live-build-pod/step-build-pr-image] 2026-07-17T23:10:23.279727330-05:00 INFO[0035] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:04da58a146314c2956fe375aed8c64e3da32fc4ed13190239f4ed89130ba9693 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:23.752593855-05:00 /tekton/scripts/script-2-86p5k: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:23.920850965-05:00 job.batch/report-live-02bc3da created [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:49.776626004-05:00 ----- live Job logs (report-live-02bc3da) ----- [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285354941-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285385071-05:00 ============================= test session starts ============================== [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285391401-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285397201-05:00 cachedir: .pytest_cache [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285402911-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285407971-05:00 configfile: pyproject.toml [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285412581-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285417551-05:00 collecting ... collected 10 items [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285422011-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285426751-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285433581-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285438761-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285443491-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285448071-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285452571-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285457391-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285462091-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285466620-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285471240-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285475720-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285480360-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285485080-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285489520-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285494070-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285498640-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285503220-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285507820-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285512300-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285516960-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285521590-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285526570-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285531140-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285535690-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285540300-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285544860-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285549460-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285554710-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285559270-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285577450-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285580840-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285583910-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285587230-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285590240-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285593700-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285596870-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285600170-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285609760-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285613990-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285617270-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285620710-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285634719-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285638179-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285679169-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285684239-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285688979-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285693659-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285699109-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285703999-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285716419-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285722499-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285727229-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285731909-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285736529-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285741179-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285745799-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285750589-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285755169-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285759829-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285764569-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285769059-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285773639-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285778199-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285782779-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285787379-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285791819-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285798129-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285802938-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285808038-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285812618-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285826428-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285831208-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285835808-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285847988-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285851178-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285854798-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285857898-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285860988-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285863948-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285867088-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285870148-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285873248-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285876368-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285879568-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285882728-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285885858-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285889018-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285892298-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285895538-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285898708-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285901858-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285904968-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285908098-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285911258-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285914448-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285917658-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285920838-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285924048-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285927188-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285930288-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285933408-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285936498-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285939658-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285942868-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285945888-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285950768-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285954058-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285957068-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285960128-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285963238-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285966298-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285969638-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285972607-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285975767-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285979567-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285983477-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285986587-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285989637-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.285998287-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286001437-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286004527-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286007637-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286010887-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286013937-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286017007-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286019997-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286023057-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286026027-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286029047-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286032157-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286035247-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286038337-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286043007-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286046307-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286049407-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286052517-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286055627-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286058817-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286061957-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286065127-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286068207-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286071527-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286074647-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286077797-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286080877-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286084037-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286087157-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286090227-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286093307-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286096417-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286100407-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286103487-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286106527-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286109647-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286112597-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286115677-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286122507-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286125787-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286128837-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286131897-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286135057-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286138227-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286141296-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286149856-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286152996-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286156076-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286159146-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286162216-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286165346-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286168436-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286171476-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286174546-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286177476-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286180556-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286183526-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286186596-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286189756-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286192826-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286195956-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286199066-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286202206-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286205276-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286208366-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286211496-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286214656-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286217726-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286220856-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286223936-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286227026-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286230086-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286233186-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286236246-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286239406-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286242496-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286245536-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286248606-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286251726-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286254846-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286257826-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286260906-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286264056-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286267016-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286270096-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286273216-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286276286-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286279346-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286282276-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286285326-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286293836-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286296996-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286300046-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286303116-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286306166-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286309205-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286312215-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286315345-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286318475-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286321515-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286324615-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286327545-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286330595-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286333615-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286336665-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286351885-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286356905-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286360145-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286363285-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286366385-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286369705-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286372875-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286375955-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286379005-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286382145-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286385295-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286388425-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286391535-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286394585-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286397705-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286400785-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286403855-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286406965-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286410015-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286413115-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286420025-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286423315-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286426355-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286429445-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286432535-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286435525-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286438565-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286441655-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286451355-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286454525-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286457505-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286460555-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286463665-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286466725-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286469865-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286473035-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286476094-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286479184-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286482214-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286485244-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286488434-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286491534-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286494584-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286497574-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286500604-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286503564-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286506574-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286509634-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286512784-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286515924-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286519134-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286522274-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286525474-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286530294-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286533464-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286536614-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286539774-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286542864-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286546004-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286549124-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286552324-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286555404-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286558544-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286561644-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286564744-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286567804-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286570834-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286573954-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286577184-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286580154-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286583234-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286586334-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286594224-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286597314-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286600464-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286603554-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286606634-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286609664-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286612674-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286615784-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286618974-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286622144-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286625254-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286628724-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286631794-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286634834-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286637884-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286640964-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286644063-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286647183-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286650143-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286653173-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286656163-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286659223-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286662333-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286665423-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286668613-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286671753-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286674893-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286678003-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286681113-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286684183-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286687243-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286690293-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286693483-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286696613-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286702943-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286706193-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286709363-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286712513-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286715653-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286718793-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286721913-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286724963-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286728023-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286731983-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286740423-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286743583-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286746723-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286749723-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286752743-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286755803-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286758853-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286762053-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286765003-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286768023-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286771143-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286774273-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286777463-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286780583-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286783783-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286786893-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286789943-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286793033-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286796103-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286799223-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286802383-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286805363-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286808403-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286811463-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286815792-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286819002-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286822092-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286825282-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286828452-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286831602-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286834752-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286837862-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286840922-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286844082-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286847152-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286850312-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286853412-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286856502-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286859622-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286862782-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286865922-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286869002-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286872092-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286875242-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286878342-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286881472-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286890462-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286893482-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286896562-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286899732-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286902692-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286905772-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286908882-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286911952-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286915052-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286918032-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286921052-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286924132-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286927242-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286930902-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286934042-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286937132-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286940182-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286943282-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286946312-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286949432-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286952442-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286955582-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286958542-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286961572-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286964522-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286967572-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286970842-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286973902-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286977062-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286980192-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286987921-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286991101-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286994251-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.286997321-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287000511-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287003521-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287006721-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287009811-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287012871-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287015941-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287019041-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287022051-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287025081-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287028111-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287036301-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287039421-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287042491-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287045561-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287048501-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287051531-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287054631-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287057611-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287060671-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287063751-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287066821-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287069851-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287072851-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287075911-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287079021-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287082061-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287085201-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287089771-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287092861-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287095921-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287098991-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287102031-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287105041-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287108061-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287111171-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287114151-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287117201-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287120171-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287123131-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287126261-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287129321-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287132511-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287135671-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287138871-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287141951-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287144981-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287148001-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287151030-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287154100-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287157190-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287160310-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287163460-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287166500-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287169570-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287177820-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287181000-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287184090-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287187130-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287190320-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287193370-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287196480-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287199440-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287202500-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287205710-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287208810-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287211930-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287215040-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287218070-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287221220-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287224300-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287227410-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287231040-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287234130-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287240580-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287243760-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287246830-05:00 ============================== 10 errors in 0.87s ============================== [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287249950-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287253570-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287257470-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287260580-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287263620-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287266690-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287269750-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287273970-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287277090-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287280170-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287283230-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287286320-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287289380-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287297470-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287300600-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287303660-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287306720-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287309770-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287312730-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287315750-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287318699-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287321779-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287324979-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287328049-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287331169-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287334309-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287344379-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287350589-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287353759-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287356879-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287359999-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287363059-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287366209-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287369329-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287372479-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287375569-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287378659-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287381889-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287384999-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287388079-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287391129-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287394209-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287397279-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287400419-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287403349-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287406989-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287410139-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287413219-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287416339-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287419309-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287422369-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287425479-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287428519-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287431639-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287440349-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287443449-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287446479-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287449559-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287452589-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287455609-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287458689-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287461789-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287464729-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287467729-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287470669-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287473729-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287480179-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287483339-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287486518-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287489718-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287492818-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287495908-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287498958-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287502038-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287505078-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287508138-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287511358-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287514518-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287517608-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287520658-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287523678-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287526728-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287529778-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287532868-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287535978-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287538988-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287542098-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287545238-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287548178-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287551278-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287554438-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287558118-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287561278-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287564248-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287567258-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287570368-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287578658-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287581778-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287584908-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287587988-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287591108-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287594218-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287597258-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287600278-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287603448-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287606488-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287609438-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287612468-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287615478-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287618538-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287621588-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287624658-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287627718-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287630808-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287633848-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287636998-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287640098-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287643128-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287646188-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287649228-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287652288-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287655307-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287658357-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287661447-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287664607-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287667657-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287670687-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287673717-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287676847-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287679867-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287682967-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287686037-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287688987-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287693157-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287696247-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287699397-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287710477-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287713457-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287716557-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287737457-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287750897-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287755507-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287765087-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287768647-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287772167-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287775267-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287778537-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287781767-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287784857-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287787927-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287790927-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287794627-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287797607-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287800787-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287806447-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287809657-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287812867-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287816007-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287819127-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287822287-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287825376-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287828776-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287831956-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287835136-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287838236-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287841566-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287844746-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287847926-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287851046-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287854166-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287857296-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287860356-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287863436-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287866496-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287869606-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287873136-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287876106-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287880976-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287894906-05:00 def daily_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287898136-05:00 > return _run("daily") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287901166-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287904096-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287907206-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287910386-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287913466-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287916726-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287919916-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287922996-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287926016-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287929076-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287932106-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287935186-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287938176-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287941266-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287944266-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287947256-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287950156-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287953176-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287956216-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287960206-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287963306-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287966376-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287969536-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287972546-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287975716-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287978806-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287981836-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287986326-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287989456-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.287992585-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288005995-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288009185-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288012405-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288015575-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288018585-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288021655-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288024675-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288027695-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288030785-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288038185-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288047335-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288051065-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288054185-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288057445-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288060545-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288063595-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288067635-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288070845-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288073885-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288077005-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288080115-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288083145-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288086215-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288089305-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288092315-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288095295-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288098335-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288101405-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288104385-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288107435-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288110385-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288113495-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288116505-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288119545-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288122645-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288125765-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288128865-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288131985-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288135145-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288138245-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288142645-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288147665-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288152675-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288158385-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288162994-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288168194-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288171874-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288174944-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288178024-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288181054-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288184074-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288187144-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288196654-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288199844-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288202794-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288206054-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288209144-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288212174-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288215224-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288218164-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288221244-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288224274-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288227354-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288230444-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288233514-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288236534-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288239544-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288242724-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288245714-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288248804-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288251844-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288254884-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288257864-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288260864-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288263844-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288266844-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288269984-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288273034-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288276164-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288279304-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288282344-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288289264-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288292464-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288295544-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288298614-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288301664-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288304804-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288307844-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288310944-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288314024-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288317064-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288320214-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288323234-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288331863-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288335053-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288346593-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288360313-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288365643-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288370133-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288374953-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288379653-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288384423-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288389213-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288393973-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288397113-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288400193-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288403203-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288406353-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288409423-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288412453-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288415553-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288418573-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288421623-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288424633-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288427613-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288430613-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288433503-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288436543-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288439523-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288442503-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288445513-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288448543-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288451683-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288454763-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288457783-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288460773-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288463913-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288466943-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288470013-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288473033-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288476083-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288479163-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288482163-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288485163-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288494813-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288497922-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288500932-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288503972-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288506992-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288510022-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288513042-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288516112-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288519092-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288522152-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288525202-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288528242-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288531242-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288534202-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288537212-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288540242-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288543332-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288546362-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288549402-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288552482-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288560362-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288563552-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288567582-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288570832-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288573862-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288576912-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288579842-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288582912-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288585842-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288588872-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288591902-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288595112-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288598232-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288601292-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288604362-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288607412-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288610462-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288613562-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288616622-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288619712-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288622752-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288631342-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288634482-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288637522-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288640582-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288643652-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288646732-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288649792-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288652852-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288656682-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288659842-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288662972-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288665911-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288668971-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288672071-05:00 def weekly_report(): [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288675231-05:00 > return _run("weekly") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288678291-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288681241-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288684251-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288687361-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288690411-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288693421-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288696491-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288699581-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288702631-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288705681-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288708731-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288711731-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288714841-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288717941-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288720851-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288723941-05:00 store_id = 'Fastime' [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288726891-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288729961-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288733061-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288736151-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288739741-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288742811-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288745891-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288748981-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288752101-05:00 """ [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288760291-05:00 base = _require_base() [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288763461-05:00 try: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288766631-05:00 import requests [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288769681-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288772691-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288775721-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288778871-05:00 raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288781891-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288784901-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288787941-05:00 if r.status_code == 404: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288790971-05:00 return None [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288794111-05:00 if r.status_code != 200: [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288797121-05:00 > raise ManageApiError( [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288800161-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288803301-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288806221-05:00 [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288816151-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.288819511-05:00 ----- end live Job logs ----- [pod/analytics-report-live-vdlzp-live-build-pod/step-run-live] 2026-07-17T23:10:50.318331826-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-vdlzp-live-build-pod/prepare] 2026-07-17T23:09:40.697527207-05:00 2026/07/18 04:09:40 Entrypoint initialization [pod/analytics-report-live-vdlzp-live-build-pod/place-scripts] 2026-07-17T23:09:41.375821581-05:00 2026/07/18 04:09:41 Decoded script /tekton/scripts/script-0-pq56n [pod/analytics-report-live-vdlzp-live-build-pod/place-scripts] 2026-07-17T23:09:41.413480650-05:00 2026/07/18 04:09:41 Decoded script /tekton/scripts/script-2-86p5k [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191395519-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191449499-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191456019-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191461259-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191465719-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191470249-05:00 COPY . /prsrc [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191474359-05:00 WORKDIR /prsrc [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191478949-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191483198-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191487638-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-vdlzp-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:09:47.191492978-05:00 RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) ===== analytics-report-live-vdlzp-notify-on-failure-pod.log ===== [pod/analytics-report-live-vdlzp-notify-on-failure-pod/prepare] 2026-07-17T23:10:53.047741314-05:00 2026/07/18 04:10:53 Entrypoint initialization [pod/analytics-report-live-vdlzp-notify-on-failure-pod/place-scripts] 2026-07-17T23:10:53.966632588-05:00 2026/07/18 04:10:53 Decoded script /tekton/scripts/script-0-6n9zg ===== analytics-report-live-vdlzp-post-check-live-pod.log ===== [pod/analytics-report-live-vdlzp-post-check-live-pod/prepare] 2026-07-17T23:10:54.851567263-05:00 2026/07/18 04:10:54 Entrypoint initialization [pod/analytics-report-live-vdlzp-post-check-live-pod/place-scripts] 2026-07-17T23:10:55.229945769-05:00 2026/07/18 04:10:55 Decoded script /tekton/scripts/script-0-6cvjh ===== analytics-report-live-vdlzp-post-status-live-pod.log ===== [pod/analytics-report-live-vdlzp-post-status-live-pod/prepare] 2026-07-17T23:10:53.977237166-05:00 2026/07/18 04:10:53 Entrypoint initialization [pod/analytics-report-live-vdlzp-post-status-live-pod/place-scripts] 2026-07-17T23:10:55.228928195-05:00 2026/07/18 04:10:55 Decoded script /tekton/scripts/script-0-vn4dx [pod/analytics-report-live-vdlzp-post-status-live-pod/step-post-status] 2026-07-17T23:10:59.415780965-05:00 Posting commit status to GitHub [pod/analytics-report-live-vdlzp-post-status-live-pod/step-post-status] 2026-07-17T23:10:59.415819405-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-vdlzp-post-status-live-pod/step-post-status] 2026-07-17T23:10:59.415824265-05:00 SHA: 02bc3da8befbf6835dca0348d6adcab3fbbf47ca [pod/analytics-report-live-vdlzp-post-status-live-pod/step-post-status] 2026-07-17T23:10:59.415827605-05:00 State: failure (Failed) [pod/analytics-report-live-vdlzp-post-status-live-pod/step-post-status] 2026-07-17T23:10:59.415831085-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-02bc3da8befbf6835dca0348d6adcab3fbbf47ca/analytics-report-live-vdlzp/logs.txt ===== analytics-report-live-vdlzp-reclaim-workspace-pod.log ===== [pod/analytics-report-live-vdlzp-reclaim-workspace-pod/prepare] 2026-07-17T23:10:56.028496053-05:00 2026/07/18 04:10:56 Entrypoint initialization [pod/analytics-report-live-vdlzp-reclaim-workspace-pod/place-scripts] 2026-07-17T23:10:56.375264815-05:00 2026/07/18 04:10:56 Decoded script /tekton/scripts/script-0-dzcxz