[pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.493453248-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494403133-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494415663-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494420323-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494424793-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494428313-05:00 COPY . /prsrc [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494431843-05:00 WORKDIR /prsrc [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494435403-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494438953-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494442393-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-zhsqv-live-build-pod/step-prepare-dockerfile] 2026-07-17T20:49:30.494446273-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.679348542-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.679387671-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.702424015-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.702444335-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.709923348-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.709943307-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.709948667-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.709971877-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.709993737-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.710242016-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.710335545-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.750251154-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:648fc2c1461c9d055afbca857649026464e0ed4a88c7efff27cb657bd8ea9d85... [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.777041969-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:30.777062679-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:39.652480540-05:00 INFO[0009] COPY . /prsrc [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:39.802668701-05:00 INFO[0009] Taking snapshot of files... [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:40.001383056-05:00 INFO[0009] WORKDIR /prsrc [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:40.001559665-05:00 INFO[0009] Cmd: workdir [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:40.001570485-05:00 INFO[0009] Changed working directory to /prsrc [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:40.004619820-05:00 INFO[0009] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:40.004658679-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:40.004666249-05:00 INFO[0009] Initializing snapshotter ... [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:40.004671759-05:00 INFO[0009] Taking snapshot of full filesystem... [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:46.778726384-05:00 INFO[0016] Cmd: /bin/sh [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:46.778846954-05:00 INFO[0016] 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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:46.778856694-05:00 INFO[0016] 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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:47.155465763-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:47.157640242-05:00 Installing build dependencies: started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:49.359084357-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:49.359873423-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:49.501782782-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:49.502713668-05:00 Getting requirements to build editable: started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:49.683791458-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:49.684809153-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:49.835934685-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:49.879967792-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:49.880825887-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.067080031-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.067813037-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=79833740d545820b099d4ae9d0e7a5f0db957694d8a6b826c27428295d4395e2 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.067971047-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-hez17mh5/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.070592313-05:00 Successfully built storeminder [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.070837212-05:00 Installing collected packages: storeminder [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.070981181-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.108482931-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.113122037-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.114643259-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.208245774-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.208652362-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.339036859-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.339067699-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.339074169-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.758557638-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:50.760561668-05:00 Installing build dependencies: started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:52.888149331-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:52.889010847-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.014156600-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.015125685-05:00 Getting requirements to build editable: started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.229176437-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.230694399-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.416877851-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.491668011-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.492677646-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.493660871-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.494434507-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.495266283-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (0.117.0) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.496675036-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.498172058-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.498940824-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.683163707-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.752778083-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.766910521-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.767850936-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.768752351-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.769649237-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.770498393-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.772958040-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.773527237-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.774268583-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.778615741-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.51 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.779539146-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.780309183-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.783077499-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.831225774-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.884777631-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.885726956-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.922712688-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.937213294-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.940278389-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.972637464-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.995126840-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:53.999145239-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.013301767-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.015416166-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.017506206-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.018856789-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.132862409-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.144222231-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.193587450-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.194642684-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.196512125-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.218502643-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.286210908-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.365328696-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 5.2 MB/s eta 0:00:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.380350589-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.396775355-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.400565186-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.533873118-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.534375885-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.535259471-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.732977794-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.733724361-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=31776b4149ca8b8b62213b9f8740f5219746d47d0f76182ef20702c6623bd89e [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.733873320-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-fu_twfv8/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:54.735896690-05:00 Successfully built storeminder [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:55.652373944-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:55.887911424-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:55.930516337-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:55.932026020-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:56.121898853-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:56.314805330-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:56.315119438-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-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:56.535887624-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:56.536012863-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:56.536023023-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:56.710449255-05:00 INFO[0026] Taking snapshot of full filesystem... [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:58.911178768-05:00 INFO[0028] Pushing layer registry.storeminder.ai/images/cache:648fc2c1461c9d055afbca857649026464e0ed4a88c7efff27cb657bd8ea9d85 to cache now [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:58.911471707-05:00 INFO[0028] Pushing image to registry.storeminder.ai/images/cache:648fc2c1461c9d055afbca857649026464e0ed4a88c7efff27cb657bd8ea9d85 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:59.025865884-05:00 INFO[0028] Pushed registry.storeminder.ai/images/cache@sha256:2cc02e62942e2cf710f3d3461826ba48a05ef3a21a63e9f14052db88d1f13fb1 [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:59.026636290-05:00 INFO[0028] Pushing image to registry.storeminder.ai/images/storeminder-report-live:95447ca89a4746ebc79c0ba74ef578aaca3f7efe [pod/analytics-report-live-zhsqv-live-build-pod/step-build-pr-image] 2026-07-17T20:49:59.185533849-05:00 INFO[0028] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:60071cf8a28f405b383891c4faa7b921ebbcc414cc0457656fde3b79b8c0424b [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:49:59.960989405-05:00 /tekton/scripts/script-2-ff4tg: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:00.082057582-05:00 job.batch/report-live-95447ca created [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.634437257-05:00 ----- live Job logs (report-live-95447ca) ----- [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778185994-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778214504-05:00 ============================= test session starts ============================== [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778219774-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778224094-05:00 cachedir: .pytest_cache [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778228104-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778231744-05:00 configfile: pyproject.toml [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778235794-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778240674-05:00 collecting ... collected 10 items [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778246124-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778251824-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778257644-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778263133-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778266843-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778271593-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778277103-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778282563-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778286353-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778290073-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778293743-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778297323-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778301093-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778304813-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778308363-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778312073-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778315783-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778319433-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778323173-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778326703-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778330343-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778334053-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778345193-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778352203-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778357083-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778361803-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778365483-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778369163-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778372823-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778389213-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778391873-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778394753-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778397153-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778399613-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778402013-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778404463-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778407013-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778409553-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778412163-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778414673-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778417183-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778419713-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778422223-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778424723-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778427183-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778429633-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778432163-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778434673-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778437153-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778439653-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778442203-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778444673-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778447113-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778449563-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778451993-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778454433-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778456882-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778459562-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778461982-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778464462-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778466952-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778469322-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778471772-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778474242-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778476692-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778479182-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778481652-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778484092-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778486552-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778489012-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778491442-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778499742-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778502422-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778504972-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778513702-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778516222-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778518672-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778521102-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778523562-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778525962-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778528462-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778530832-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778533292-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778535852-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778538352-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778540952-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778543502-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778546102-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778548612-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778551102-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778553562-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778556052-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778558532-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778561072-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778563582-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778566032-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778568582-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778571132-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778573652-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778576102-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778578562-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778581032-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778584072-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778588572-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778591922-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778594422-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778597052-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778599732-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778602142-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778604582-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778607122-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778609612-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778612092-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778614492-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778616972-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778619532-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778622042-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778624512-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778627002-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778635312-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778637892-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778640362-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778642822-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778645372-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778647802-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778650272-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778652601-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778655051-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778657451-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778659901-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778662421-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778665001-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778667471-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778670031-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778672571-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778675021-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778677541-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778680011-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778682471-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778684911-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778687371-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778689841-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778692291-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778694731-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778697221-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778699681-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778702141-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778704651-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778707121-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778709581-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778712031-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778714581-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778716981-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778719471-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778722111-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778724491-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778726961-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778734861-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778770291-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778774261-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778777831-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778781561-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778785311-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778788951-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778798001-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778800681-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778803181-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778805881-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778808361-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778811271-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778813801-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778816601-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778819201-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778821921-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778824341-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778826751-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778829191-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778831661-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778834251-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778836781-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778839241-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778841761-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778844241-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778846760-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778849240-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778851780-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778854250-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778856830-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778859320-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778861870-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778864340-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778866970-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778869420-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778871880-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778874400-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778876840-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778879300-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778882210-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778884780-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778887210-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778889710-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778892310-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778894700-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778897170-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778899670-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778902150-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778904640-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778907030-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778909510-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778916900-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778919790-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778922280-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778924830-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778927310-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778929880-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778932400-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778934880-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778937340-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778940110-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778942580-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778944950-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778947380-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778949770-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778952220-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778954730-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778957250-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778959890-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778962450-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778964940-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778967410-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778969880-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778972390-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778974880-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778977340-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778979830-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778982330-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778984920-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778987440-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778989940-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778992500-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778994990-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778997490-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.778999940-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779002400-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779008060-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779010800-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779013300-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779015830-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779018310-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779020690-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779023120-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779025580-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779028020-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779035010-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779037430-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779039870-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779042359-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779044829-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779047319-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779049919-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779052379-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779054819-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779057299-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779059729-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779062149-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779064569-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779067029-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779069379-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779071819-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779074169-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779076679-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779079169-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779081639-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779084119-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779086639-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779089199-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779091669-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779094129-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779096619-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779099109-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779101559-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779104079-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779106609-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779109689-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779112339-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779114879-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779117369-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779119819-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779122279-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779124729-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779127239-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779129729-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779132259-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779134649-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779137429-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779139959-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779146489-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779148949-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779151409-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779153939-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779156439-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779158809-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779161289-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779163839-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779166309-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779168759-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779171309-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779173769-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779176229-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779178679-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779181179-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779183669-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779186109-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779188619-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779190979-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779194429-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779196839-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779199369-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779201889-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779204339-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779206869-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779209429-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779211979-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779214469-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779216949-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779219429-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779221949-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779224409-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779226879-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779229459-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779234559-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779237138-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779239668-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779242248-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779244728-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779247218-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779249698-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779252368-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779254908-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779258208-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779260588-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779267248-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779269908-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779272288-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779274728-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779277178-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779279628-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779282098-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779284478-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779287008-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779289538-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779292028-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779294558-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779297648-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779300628-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779303168-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779305648-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779308218-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779310688-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779313128-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779315648-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779318008-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779320438-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779322818-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779325288-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779327808-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779330278-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779332858-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779336178-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779369138-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779373878-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779376378-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779378928-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779381458-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779383908-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779386848-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779389408-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779392818-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779395358-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779397878-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779400368-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779402848-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779405378-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779407858-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779410338-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779414268-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779421548-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779423998-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779426518-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779429098-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779431488-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779433937-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779436507-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779439007-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779441477-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779443837-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779446267-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779449257-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779451757-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779454247-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779456707-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779459277-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779461777-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779464297-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779466797-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779469317-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779471767-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779474297-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779476667-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779479087-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779481457-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779483877-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779486337-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779488847-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779491467-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779494037-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779499527-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779502217-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779504737-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779507187-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779509757-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779512237-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779514717-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779517167-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779519647-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779522097-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779524557-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779526997-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779529517-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779532017-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779538927-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779541447-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779543907-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779546707-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779549097-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779551527-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779554017-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779556407-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779558857-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779561327-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779563807-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779566327-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779568707-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779571147-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779573987-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779576467-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779578947-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779581797-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779584257-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779586757-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779589217-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779591697-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779594187-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779596657-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779599117-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779601507-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779603927-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779606287-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779608707-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779611247-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779613747-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779616297-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779618777-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779621247-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779623717-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779626187-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779628606-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779631046-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779633696-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779636146-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779638606-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779641056-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779643506-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779646046-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779648506-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779654746-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779657316-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779659756-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779662236-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779664716-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779667266-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779669646-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779672046-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779674516-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779678686-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779681196-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779683656-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779686166-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779688656-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779691156-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779693616-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779696046-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779698586-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779703516-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779706036-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779708566-05:00 ============================== 10 errors in 0.88s ============================== [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779711086-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779714516-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779717746-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779720266-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779722726-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779725066-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779727566-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779730046-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779732576-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779735096-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779737516-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779740006-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779742496-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779749046-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779751576-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779754026-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779756466-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779758986-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779761386-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779763846-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779766256-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779768706-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779771226-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779773706-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779776196-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779778746-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779781216-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779783706-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779786176-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779788626-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779791096-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779793506-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779795956-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779798996-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779801496-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779804006-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779806446-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779808896-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779811356-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779813796-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779816216-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779818646-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779821086-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779823685-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779826055-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779828905-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779831415-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779833915-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779836385-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779838735-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779841155-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779843635-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779846085-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779848545-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779855695-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779858245-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779860735-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779863185-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779865635-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779868115-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779870545-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779873045-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779875435-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779877875-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779880235-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779882715-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779887735-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779890305-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779892905-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779895615-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779898085-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779900575-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779903425-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779905925-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779908415-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779910865-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779913525-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779915975-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779918415-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779920865-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779923325-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779925815-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779928345-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779930785-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779933275-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779936965-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779939485-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779942425-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779944865-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779947345-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779949865-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779952425-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779955205-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779957585-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779960005-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779962545-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779971705-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779974215-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779976815-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779979295-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779981745-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779984275-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779986725-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779989175-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779991625-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779994095-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779996505-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.779998955-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780001385-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780003835-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780006295-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780008765-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780011245-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780013825-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780016405-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780018964-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780021434-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780023894-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780026344-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780028794-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780031264-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780033744-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780036234-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780038714-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780041184-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780043634-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780046104-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780048574-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780051044-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780053484-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780055974-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780058524-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780060914-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780063654-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780066144-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780068644-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780075404-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780077814-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780080274-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780097004-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780108854-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780112994-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780123274-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780126764-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780130704-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780133794-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780137424-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780140524-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780143604-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780146804-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780149804-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780153554-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780156604-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780159684-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780163154-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780166344-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780169514-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780172664-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780175764-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780179004-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780182204-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780186114-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780189254-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780192324-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780195424-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780198554-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780201674-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780204694-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780207844-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780211274-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780214363-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780217453-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780220523-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780223553-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780226633-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780231653-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780234713-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780239003-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780251113-05:00 def daily_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780254353-05:00 > return _run("daily") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780257483-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780260433-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780263553-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780266733-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780269853-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780272903-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780276003-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780279083-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780282143-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780285203-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780288243-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780291273-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780294333-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780297513-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780300473-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780303523-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780306493-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780309543-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780312583-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780316963-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780320223-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780323413-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780326593-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780329633-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780332743-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780335823-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780346523-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780354503-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780357743-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780360863-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780363963-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780367173-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780370343-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780373433-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780376493-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780379573-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780382943-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780386013-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780389103-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780398033-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780407512-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780411182-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780414352-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780417572-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780420752-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780423742-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780426802-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780430012-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780433082-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780436252-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780439422-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780442642-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780445922-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780449062-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780452122-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780455182-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780458252-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780461422-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780464382-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780467492-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780470462-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780473512-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780476622-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780479782-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780482932-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780486322-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780489512-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780492692-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780495842-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780499012-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780502112-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780505242-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780508332-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780511452-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780514552-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780517712-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780520792-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780523872-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780526962-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780530082-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780533122-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780536202-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780545072-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780548252-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780551222-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780554412-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780557542-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780560642-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780563782-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780566752-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780569792-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780572992-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780576142-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780579232-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780582452-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780585532-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780588662-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780591732-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780594761-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780597991-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780601021-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780604111-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780607101-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780610211-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780613161-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780616241-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780619291-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780622431-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780626461-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780629681-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780632801-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780640011-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780643221-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780646751-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780650041-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780653101-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780656271-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780659401-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780662591-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780665661-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780669491-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780672641-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780675771-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780691371-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780694521-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780697621-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780700741-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780704631-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780707591-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780710761-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780713991-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780717171-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780720311-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780723411-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780726441-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780730001-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780733071-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780736181-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780739691-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780742751-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780745841-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780748871-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780751901-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780754981-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780758171-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780761331-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780764341-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780767411-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780771051-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780774191-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780777301-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780780430-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780783580-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780786790-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780790360-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780793480-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780796550-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780799610-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780802710-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780805750-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780808880-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780811940-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780815860-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780818970-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780827510-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780830640-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780833950-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780837110-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780840220-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780843330-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780846490-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780849780-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780852790-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780856660-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780859800-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780863650-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780866860-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780869840-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780872980-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780876100-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780879170-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780882310-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780885500-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780888590-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780895610-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780899230-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780902500-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780905700-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780908770-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780911850-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780914830-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780917920-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780920860-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780923920-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780927050-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780930120-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780933260-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780936430-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780939480-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780942510-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780945580-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780948750-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780951920-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780955090-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780958220-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780967190-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780970419-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780973519-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780976629-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780979759-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780982829-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780985919-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780989029-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780992069-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780995129-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.780998929-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781001879-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781005139-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781008239-05:00 def weekly_report(): [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781011349-05:00 > return _run("weekly") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781014949-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781017969-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781021029-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781024779-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781027939-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781031149-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781034229-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781037279-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781040349-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781043389-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781046419-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781049469-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781052499-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781055749-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781058709-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781061779-05:00 store_id = 'Fastime' [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781064779-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781067809-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781070889-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781073999-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781077149-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781080299-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781083489-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781086609-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781089749-05:00 """ [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781093389-05:00 base = _require_base() [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781101929-05:00 try: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781105219-05:00 import requests [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781108369-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781111529-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781114659-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781117799-05:00 raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781120939-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781124039-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781127139-05:00 if r.status_code == 404: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781130239-05:00 return None [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781133299-05:00 if r.status_code != 200: [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781136419-05:00 > raise ManageApiError( [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781139599-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781142749-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781145739-05:00 [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781155968-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.781159448-05:00 ----- end live Job logs ----- [pod/analytics-report-live-zhsqv-live-build-pod/step-run-live] 2026-07-17T20:50:10.809483382-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-zhsqv-live-build-pod/prepare] 2026-07-17T20:49:24.052132707-05:00 2026/07/18 01:49:24 Entrypoint initialization [pod/analytics-report-live-zhsqv-live-build-pod/place-scripts] 2026-07-17T20:49:24.986590692-05:00 2026/07/18 01:49:24 Decoded script /tekton/scripts/script-0-xz2gt [pod/analytics-report-live-zhsqv-live-build-pod/place-scripts] 2026-07-17T20:49:25.006235174-05:00 2026/07/18 01:49:25 Decoded script /tekton/scripts/script-2-ff4tg