[pod/analytics-report-live-sz7wc-live-build-pod/prepare] 2026-07-15T12:57:14.549380266-05:00 2026/07/15 17:57:14 Entrypoint initialization [pod/analytics-report-live-sz7wc-live-build-pod/place-scripts] 2026-07-15T12:57:14.788479775-05:00 2026/07/15 17:57:14 Decoded script /tekton/scripts/script-0-qzmzz [pod/analytics-report-live-sz7wc-live-build-pod/place-scripts] 2026-07-15T12:57:14.808849958-05:00 2026/07/15 17:57:14 Decoded script /tekton/scripts/script-2-mzv7x [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419147262-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419832118-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419839828-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419842988-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419845948-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419848578-05:00 COPY . /prsrc [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419850998-05:00 WORKDIR /prsrc [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419853428-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419855798-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419858167-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-sz7wc-live-build-pod/step-prepare-dockerfile] 2026-07-15T12:57:20.419860957-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) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.678741173-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.678775492-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.696734220-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.696755720-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.704882600-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.704898979-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.704903489-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.704920679-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.704928099-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.705010299-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.705224097-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.733807829-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:6c5d034e44b072c6bb0485653cfe5c2842fdb62ecb72246ff75135f6ac63e213... [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.751965026-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:20.752023495-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:29.528300161-05:00 INFO[0008] COPY . /prsrc [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:29.633200437-05:00 INFO[0009] Taking snapshot of files... [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:29.802587360-05:00 INFO[0009] WORKDIR /prsrc [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:29.802611370-05:00 INFO[0009] Cmd: workdir [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:29.802616780-05:00 INFO[0009] Changed working directory to /prsrc [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:29.802826939-05:00 INFO[0009] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:29.802851139-05:00 INFO[0009] 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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:29.802856119-05:00 INFO[0009] Initializing snapshotter ... [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:29.802872559-05:00 INFO[0009] Taking snapshot of full filesystem... [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:35.938273318-05:00 INFO[0015] Cmd: /bin/sh [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:35.938300148-05:00 INFO[0015] 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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:35.938313668-05:00 INFO[0015] 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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:36.304580243-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:36.306849309-05:00 Installing build dependencies: started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:38.406882009-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:38.407761604-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:38.524072088-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:38.525034422-05:00 Getting requirements to build editable: started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:38.676360249-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:38.677605761-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:38.872591395-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:38.912670604-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:38.913412830-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.107061782-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.107671978-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=761fb2762f052878ab4bf72a8cca487590c96970c11a462c598595e772ac5518 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.107789637-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-b1hxci7o/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.109909134-05:00 Successfully built storeminder [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.110071963-05:00 Installing collected packages: storeminder [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.110195442-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.143319266-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.148990380-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.151185917-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.211207942-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.211421141-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.343460537-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.343591527-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.343602666-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.831075356-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:39.833220242-05:00 Installing build dependencies: started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:41.910068788-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:41.910880843-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.053869791-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.054886704-05:00 Getting requirements to build editable: started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.219128260-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.220322463-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.380550933-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.446336703-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.447213627-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.448119172-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.448827797-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.449628102-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (0.116.0) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.450944064-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.452377235-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (1.43.48) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.453138160-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.622517974-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.683357534-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.698031673-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.699183526-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.700158599-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.701019104-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.702003038-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.704431813-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.705688125-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.706499970-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.710612624-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.48 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.43.48) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.711477549-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.712129485-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.714912728-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.767443680-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.800718822-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.801567347-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.836083042-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.854864095-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.857259670-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.888639144-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.905815607-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.908168892-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.916205682-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.917161376-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.918014171-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.918720366-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.977142272-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:42.984278307-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.008794214-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.009805728-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.010997551-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.022062482-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.080991584-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.170696664-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 4.4 MB/s eta 0:00:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.188769932-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.204484704-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.209734451-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.358700692-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.359354518-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.360409451-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.555468434-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.556234240-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=94719d88694819bbd54cf7c680051f7a32cb7bf40f5b0539222d7ce592025073 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.556360799-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-se_x5_4a/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:43.558014659-05:00 Successfully built storeminder [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:44.369906484-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:44.610049236-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:44.650182296-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:44.652454332-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:44.854676180-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:45.013334191-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:45.013506850-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-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:45.138751038-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:45.138774458-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:45.138780138-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:45.261358284-05:00 INFO[0024] Taking snapshot of full filesystem... [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:47.314086939-05:00 INFO[0026] Pushing layer registry.storeminder.ai/images/cache:6c5d034e44b072c6bb0485653cfe5c2842fdb62ecb72246ff75135f6ac63e213 to cache now [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:47.314376708-05:00 INFO[0026] Pushing image to registry.storeminder.ai/images/cache:6c5d034e44b072c6bb0485653cfe5c2842fdb62ecb72246ff75135f6ac63e213 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:47.449444035-05:00 INFO[0026] Pushed registry.storeminder.ai/images/cache@sha256:ce5658a6752ce98c0b08717d31faffeaac3e5ff2aa357f6569135597c0a57752 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:47.450508079-05:00 INFO[0026] Pushing image to registry.storeminder.ai/images/storeminder-report-live:fdb65d882dab716915295ffd3da8174be702ce09 [pod/analytics-report-live-sz7wc-live-build-pod/step-build-pr-image] 2026-07-15T12:57:47.612515418-05:00 INFO[0027] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:80953ce9d957b3f1e2ff3b1ea33711c8b5b041ace8ea184fc728ba48b0178c17 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:47.798797876-05:00 /tekton/scripts/script-2-mzv7x: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:47.954239097-05:00 job.batch/report-live-fdb65d8 created [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:58.362289625-05:00 ----- live Job logs (report-live-fdb65d8) ----- [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234094498-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234121097-05:00 ============================= test session starts ============================== [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234126547-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234131567-05:00 cachedir: .pytest_cache [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234135687-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234139297-05:00 configfile: pyproject.toml [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234143087-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234147217-05:00 collecting ... collected 10 items [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234150717-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234154367-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234161487-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234165457-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234169497-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234173167-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234176877-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234181177-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234186947-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234192697-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234198597-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234204047-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234210137-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234216257-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234221757-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234227897-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234233687-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234239217-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234245017-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234249887-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234255287-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234260326-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234266006-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234270946-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234276156-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234281176-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234286386-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234291376-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234296476-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234312076-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234315466-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234318766-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234321706-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234324696-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234327906-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234330576-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234332606-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234334716-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234336696-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234338676-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234340706-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234342686-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234344696-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234346676-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234348656-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234350706-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234352726-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234354706-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234356666-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234358626-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234360746-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234363076-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234365736-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234368856-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234392366-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234395466-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234398366-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234401376-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234404266-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234409836-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234417345-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234420265-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234423205-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234426115-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234429065-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234431975-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234434835-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234437845-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234440745-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234443735-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234446685-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234459465-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234462545-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234465495-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234473395-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234475605-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234477565-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234479565-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234481585-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234483475-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234485445-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234497915-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234501385-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234504855-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234506885-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234508975-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234510995-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234513315-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234515315-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234517365-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234519395-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234521375-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234523325-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234525345-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234527305-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234529245-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234531185-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234533205-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234535155-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234537085-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234539085-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234541025-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234542975-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234544945-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234547175-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234549085-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234551075-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234553065-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234554955-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234556905-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234558855-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234560815-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234562785-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234564705-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234566645-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234568615-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234570615-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234572655-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234574735-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234580724-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234584984-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234587034-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234588994-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234590934-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234592934-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234594904-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234596844-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234598804-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234600684-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234602674-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234604644-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234606624-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234608594-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234610804-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234612834-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234614844-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234616824-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234618834-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234620804-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234622794-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234624774-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234626734-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234628704-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234630684-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234632694-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234634734-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234636754-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234638704-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234640634-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234642574-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234644524-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234646584-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234648514-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234650574-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234652694-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234654654-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234656674-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234661674-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234663794-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234665724-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234667694-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234669664-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234671664-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234673634-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234679684-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234681754-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234683714-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234685744-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234687794-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234689814-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234691764-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234693714-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234695674-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234697584-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234699554-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234701454-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234703444-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234705404-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234707524-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234709514-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234711494-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234713544-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234715614-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234717574-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234719604-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234721584-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234723554-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234725794-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234727754-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234729694-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234731654-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234733624-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234735634-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234737584-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234739563-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234741493-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234743443-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234745413-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234747403-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234749283-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234751233-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234753203-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234755093-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234757033-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234759103-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234761083-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234763123-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234765063-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234770643-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234772683-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234774743-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234776713-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234778753-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234780703-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234782643-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234784563-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234786553-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234788603-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234790533-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234792483-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234794373-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234796403-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234798283-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234800223-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234802273-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234804263-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234806273-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234808353-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234810373-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234812373-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234814403-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234816363-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234818353-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234821243-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234823293-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234825273-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234827303-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234830703-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234832773-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234834773-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234837143-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234839153-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234841103-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234843083-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234847803-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234849883-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234851773-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234853753-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234855833-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234857713-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234859703-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234861653-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234866973-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234868963-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234870833-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234872873-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234874903-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234876853-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234878883-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234881693-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234883633-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234885633-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234888103-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234890193-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234892153-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234894083-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234896103-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234897983-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234899913-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234901782-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234903682-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234905782-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234907742-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234909762-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234911782-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234913792-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234915782-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234917722-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234919682-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234921662-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234923602-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234925602-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234927552-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234929482-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234931422-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234934632-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234936622-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234938682-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234940632-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234942592-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234944592-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234946602-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234948632-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234950502-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234952432-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234954492-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234959912-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234961882-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234963882-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234965812-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234967762-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234969612-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234971532-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234973632-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234975562-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234977612-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234980292-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234982312-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234984982-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234986922-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234988862-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234990872-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234992812-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234994912-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234996802-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.234998722-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235000602-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235002672-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235004852-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235006872-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235008922-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235010922-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235012892-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235014882-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235016832-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235018782-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235020712-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235022732-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235024692-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235026652-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235030962-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235032982-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235034992-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235037082-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235039122-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235041072-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235043012-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235044942-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235046892-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235048902-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235054032-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235056082-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235058102-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235060002-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235061922-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235063862-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235066871-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235068881-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235070761-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235072681-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235074641-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235076591-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235078621-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235080581-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235082571-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235084581-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235086511-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235088441-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235090441-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235092381-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235094331-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235096191-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235098191-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235100091-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235102001-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235103961-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235105961-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235109841-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235111901-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235113881-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235115881-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235117851-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235119801-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235121741-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235123761-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235125781-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235127881-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235129851-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235131801-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235133761-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235136351-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235138361-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235140491-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235142451-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235144411-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235150151-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235152271-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235154131-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235156061-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235158021-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235159971-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235161881-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235163821-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235165791-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235167741-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235169601-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235171581-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235173541-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235175641-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235177981-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235179941-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235181981-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235183921-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235185931-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235187861-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235189811-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235191781-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235193781-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235195661-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235197601-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235199491-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235201421-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235203421-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235205381-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235207421-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235209401-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235213891-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235215991-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235217921-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235219891-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235221841-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235223841-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235225891-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235227840-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235229830-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235231840-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235233800-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235235740-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235237670-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235243360-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235245330-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235247260-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235249340-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235252780-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235254700-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235256640-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235258610-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235260550-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235262480-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235264510-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235266480-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235268430-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235270290-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235272320-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235274280-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235276320-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235278340-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235280360-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235282300-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235284240-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235286190-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235288120-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235290050-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235292050-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235294070-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235295940-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235297870-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235299750-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235301670-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235303670-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235305630-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235307610-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235309690-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235311660-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235313620-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235316330-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235318360-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235320360-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235322300-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235324310-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235326280-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235328250-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235330240-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235332210-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235337440-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235339420-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235341360-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235343340-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235345360-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235347580-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235349640-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235351500-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235353420-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235355360-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235357390-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235359450-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235361470-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235363480-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235365480-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235367410-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235369340-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235371260-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235373200-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235377510-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235379510-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235381470-05:00 ============================== 10 errors in 0.89s ============================== [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235383430-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235386580-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235389909-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235392399-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235394389-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235396279-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235398209-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235400179-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235402109-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235404069-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235406099-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235408039-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235410049-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235415859-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235417829-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235419749-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235421729-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235423709-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235425569-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235427589-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235429529-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235431459-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235434259-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235436289-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235438329-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235440299-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235442319-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235444249-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235446289-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235448919-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235450979-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235452969-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235454979-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235456909-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235458849-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235460759-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235462829-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235464769-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235466699-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235468639-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235470559-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235472479-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235474399-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235476419-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235478309-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235481419-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235483419-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235485369-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235493069-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235497929-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235499909-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235501939-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235503959-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235505919-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235511469-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235513449-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235515419-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235517439-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235519379-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235521309-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235523339-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235525369-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235527279-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235529199-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235531079-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235533009-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235537569-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235539709-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235542479-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235544449-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235546459-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235548509-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235550489-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235552498-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235554488-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235556518-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235558518-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235560458-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235562408-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235564388-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235566388-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235568378-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235570378-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235572368-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235574318-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235576248-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235578208-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235580188-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235582058-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235584038-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235586018-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235588058-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235590038-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235591948-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235593868-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235595898-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235601628-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235603648-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235605658-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235607618-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235609568-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235611628-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235613558-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235615608-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235617548-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235619548-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235621408-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235623378-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235625258-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235627178-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235629178-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235631128-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235633088-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235635038-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235637038-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235639048-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235641048-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235643838-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235645798-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235647728-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235649658-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235651608-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235653558-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235655608-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235657558-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235659508-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235661448-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235663388-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235665358-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235667298-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235669238-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235671348-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235673238-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235675578-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235677538-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235679488-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235687428-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235689318-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235691228-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235705738-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235716957-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235720377-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235728117-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235730797-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235733627-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235736237-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235738677-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235741367-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235743837-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235746337-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235748727-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235751567-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235753957-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235756447-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235759157-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235761627-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235764187-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235766817-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235769287-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235771687-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235774187-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235777147-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235779567-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235781967-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235784477-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235786927-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235789347-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235791757-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235794437-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235796967-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235799397-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235801837-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235804277-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235806697-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235809137-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235811857-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235814197-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235817127-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235828427-05:00 def daily_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235830937-05:00 > return _run("daily") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235833327-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235835647-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235838057-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235840517-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235842957-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235845477-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235847887-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235850437-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235852907-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235855327-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235857737-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235860147-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235862547-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235865027-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235867356-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235869816-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235872186-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235874606-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235877036-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235879506-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235882006-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235884536-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235887056-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235889486-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235891926-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235894356-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235896856-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235899266-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235901706-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235904196-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235906626-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235909056-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235911546-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235913956-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235916356-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235918776-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235921176-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235923636-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235926066-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235932356-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235939616-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235942516-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235945046-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235947506-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235952046-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235954496-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235956976-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235959466-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235961916-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235964396-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235966866-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235969316-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235971816-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235974306-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235976716-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235979106-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235981506-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235983946-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235986306-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235988766-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235991136-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235993566-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235995996-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.235998486-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236000956-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236003376-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236005866-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236008276-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236010836-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236013276-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236015736-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236018176-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236020606-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236023036-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236025795-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236028235-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236030785-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236033255-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236035655-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236038085-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236040495-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236042905-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236049605-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236052185-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236054555-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236057035-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236059545-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236061975-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236064395-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236066765-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236069155-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236071635-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236074115-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236076535-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236079095-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236081515-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236083945-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236086345-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236088745-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236091215-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236093685-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236096165-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236098505-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236100915-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236103255-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236105675-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236108115-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236110535-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236113845-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236116395-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236118855-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236123955-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236126475-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236128915-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236131375-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236133885-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236136315-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236138765-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236141225-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236143645-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236147685-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236150225-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236152645-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236159805-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236162325-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236164765-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236167235-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236169705-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236172065-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236174655-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236177165-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236179685-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236182264-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236184624-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236187024-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236189464-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236191874-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236194344-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236196764-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236199244-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236201694-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236204134-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236206604-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236209024-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236211444-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236213934-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236216284-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236218794-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236221164-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236223594-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236226074-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236228574-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236231114-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236233644-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236236124-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236238694-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236241224-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236243734-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236246174-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236248684-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236251174-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236253624-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236256094-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236258574-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236265314-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236267774-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236270214-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236272644-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236275044-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236277454-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236279894-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236283254-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236285594-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236288114-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236290634-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236293084-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236295614-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236297954-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236300364-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236302864-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236305344-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236307754-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236311104-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236313624-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236318624-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236321134-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236323694-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236326194-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236328594-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236330994-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236333284-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236335924-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236338204-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236340543-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236343073-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236345483-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236347873-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236350323-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236352783-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236355153-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236357563-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236359943-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236362393-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236364773-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236367163-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236374003-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236376433-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236378813-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236381183-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236383583-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236386063-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236388463-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236390863-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236393323-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236395683-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236398073-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236400383-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236402823-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236405303-05:00 def weekly_report(): [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236407703-05:00 > return _run("weekly") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236410083-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236412373-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236414773-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236417163-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236419533-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236422003-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236424473-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236426883-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236429293-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236431723-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236434103-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236436553-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236438913-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236441293-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236443633-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236445983-05:00 store_id = 'Fastime' [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236448263-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236450643-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236453053-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236455453-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236457903-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236460303-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236462793-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236465263-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236467633-05:00 """ [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236474153-05:00 base = _require_base() [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236476603-05:00 try: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236479003-05:00 import requests [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236481373-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236483793-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236492983-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236499302-05:00 raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236501722-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236504132-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236506512-05:00 if r.status_code == 404: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236508962-05:00 return None [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236511332-05:00 if r.status_code != 200: [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236513702-05:00 > raise ManageApiError( [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236516142-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236518592-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236520892-05:00 [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236532182-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.236534862-05:00 ----- end live Job logs ----- [pod/analytics-report-live-sz7wc-live-build-pod/step-run-live] 2026-07-15T12:57:59.276318994-05:00 ==> live build: status=Failed conclusion=failure