===== analytics-report-live-brr5h-archive-logs-pod.log ===== [pod/analytics-report-live-brr5h-archive-logs-pod/prepare] 2026-07-18T09:05:18.678939538-05:00 2026/07/18 14:05:18 Entrypoint initialization [pod/analytics-report-live-brr5h-archive-logs-pod/place-scripts] 2026-07-18T09:05:19.695896435-05:00 2026/07/18 14:05:19 Decoded script /tekton/scripts/script-0-dtfbj [pod/analytics-report-live-brr5h-archive-logs-pod/place-scripts] 2026-07-18T09:05:19.713725441-05:00 2026/07/18 14:05:19 Decoded script /tekton/scripts/script-1-vpzdn [pod/analytics-report-live-brr5h-archive-logs-pod/step-collect-logs] 2026-07-18T09:05:22.931714823-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-brr5h ===== analytics-report-live-brr5h-clone-pod.log ===== [pod/analytics-report-live-brr5h-clone-pod/prepare] 2026-07-18T09:04:11.944583212-05:00 2026/07/18 14:04:11 Entrypoint initialization [pod/analytics-report-live-brr5h-clone-pod/place-scripts] 2026-07-18T09:04:13.079698902-05:00 2026/07/18 14:04:13 Decoded script /tekton/scripts/script-0-tpn75 [pod/analytics-report-live-brr5h-clone-pod/step-clone] 2026-07-18T09:04:18.993131031-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-brr5h-clone-pod/step-clone] 2026-07-18T09:04:18.993157271-05:00 * branch 355ccd41bd64396f79b6bc3a75edba1390b22d82 -> FETCH_HEAD [pod/analytics-report-live-brr5h-clone-pod/step-clone] 2026-07-18T09:04:19.050276074-05:00 Cloned 355ccd41bd64396f79b6bc3a75edba1390b22d82 ===== analytics-report-live-brr5h-live-build-pod.log ===== [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.887417565-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.887447815-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.912579773-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.912601193-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.924143454-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.924172434-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.924189054-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.924195794-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.924198184-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.924269815-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.924519695-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:30.962525197-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:ea981226fbc644c2046cf10d29bff23ef775d5008d539c860754579a83abca38... [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:31.000685670-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:31.000770740-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:40.557060009-05:00 INFO[0009] COPY . /prsrc [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:40.694774689-05:00 INFO[0009] Taking snapshot of files... [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:40.897660695-05:00 INFO[0010] WORKDIR /prsrc [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:40.897677645-05:00 INFO[0010] Cmd: workdir [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:40.897682825-05:00 INFO[0010] Changed working directory to /prsrc [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:40.897950266-05:00 INFO[0010] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:40.897969546-05:00 INFO[0010] 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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:40.897979436-05:00 INFO[0010] Initializing snapshotter ... [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:40.897984066-05:00 INFO[0010] Taking snapshot of full filesystem... [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:48.084351177-05:00 INFO[0017] Cmd: /bin/sh [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:48.084387607-05:00 INFO[0017] 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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:48.084403917-05:00 INFO[0017] 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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:48.414534429-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:48.416593644-05:00 Installing build dependencies: started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:50.688237535-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:50.689505978-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:50.828943123-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:50.829913015-05:00 Getting requirements to build editable: started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.009868567-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.011063280-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.200794322-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.244727787-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.245701299-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.444872284-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.445509346-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2001 sha256=7f4d82158ad915fe11b80f7eb448fb563fd241be5c216d42ffba081621ea0cb4 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.445632546-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-vg5asi35/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.447829451-05:00 Successfully built storeminder [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.448011242-05:00 Installing collected packages: storeminder [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.448136102-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.490598543-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.496772678-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.498678463-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.576638369-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.576869099-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.720838633-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.720937973-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:51.720944023-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:52.183763314-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:52.185789619-05:00 Installing build dependencies: started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.424598831-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.425348762-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.533395096-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.534613978-05:00 Getting requirements to build editable: started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.686249944-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.687359946-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.836571486-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.924014331-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.924859573-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.925624944-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.926373216-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.927077908-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.928137040-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.929356963-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:54.930107015-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.088371064-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.156468563-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.174648165-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.175517207-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.176413409-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.177364142-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.178217994-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.180930500-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.181554961-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.182326453-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.186213422-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.187023794-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.188100907-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.190988593-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.234091124-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.273147185-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.274108547-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.311058823-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.326574859-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.329009385-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.396461062-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.413872102-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.417165500-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.426020841-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.427142893-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.428070655-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.429024658-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.456456921-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.462165185-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.483225214-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.483975586-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.485029428-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.494504500-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.551200982-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.666702701-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 3.5 MB/s eta 0:00:00 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.683214469-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.700157659-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.707032885-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.840215245-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.840816696-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:55.841932189-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:56.070708481-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:56.071538423-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2001 sha256=f66b53c920553719c80e82d3b14609e400c58995f4498ccb3aaa05b88e24df58 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:56.071715013-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-bg1bpxjc/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:56.074267409-05:00 Successfully built storeminder [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.004247081-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.262854026-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.319954578-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.322280123-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.549653346-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.788061785-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.788388415-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-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.947269671-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.947403731-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:57.947413511-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:04:58.089921898-05:00 INFO[0027] Taking snapshot of full filesystem... [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:05:00.092980141-05:00 INFO[0029] Pushing layer registry.storeminder.ai/images/cache:ea981226fbc644c2046cf10d29bff23ef775d5008d539c860754579a83abca38 to cache now [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:05:00.093143171-05:00 INFO[0029] Pushing image to registry.storeminder.ai/images/cache:ea981226fbc644c2046cf10d29bff23ef775d5008d539c860754579a83abca38 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:05:00.202357308-05:00 INFO[0029] Pushed registry.storeminder.ai/images/cache@sha256:ac68538a592f49daf8f6c6b329fb9d169dedef213c91ba54eb18a53a1fa4bbaa [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:05:00.202996559-05:00 INFO[0029] Pushing image to registry.storeminder.ai/images/storeminder-report-live:355ccd41bd64396f79b6bc3a75edba1390b22d82 [pod/analytics-report-live-brr5h-live-build-pod/step-build-pr-image] 2026-07-18T09:05:00.405984048-05:00 INFO[0029] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:0e956dedd4de391ed23bda2d146978ee5aeb33d404f5c4a22f9bf5cb6b2c6afa [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:01.087803246-05:00 /tekton/scripts/script-2-rz2gx: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:01.290194911-05:00 job.batch/report-live-355ccd4 created [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:11.706657440-05:00 ----- live Job logs (report-live-355ccd4) ----- [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067232159-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067255769-05:00 ============================= test session starts ============================== [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067263559-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067271409-05:00 cachedir: .pytest_cache [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067280099-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067287919-05:00 configfile: pyproject.toml [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067295249-05:00 plugins: anyio-4.14.2, langsmith-0.10.6 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067315569-05:00 collecting ... collected 10 items [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067323039-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067330219-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067350159-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067360379-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067367549-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067374639-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067381929-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067389249-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067396339-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067403689-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067410459-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067417249-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067424119-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067431369-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067437870-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067445190-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067451830-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067458690-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067465620-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067472480-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067479390-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067486410-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067493910-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067500850-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067507850-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067514760-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067525050-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067532060-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067538850-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067562290-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067567580-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067572990-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067577860-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067582770-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067587860-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067593370-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067598640-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067603950-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067609390-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067614630-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067619790-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067624930-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067629460-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067634350-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067639230-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067643970-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067648950-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067653900-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067658970-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067663780-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067668610-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067673550-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067678380-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067682880-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067687640-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067692570-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067697510-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067702330-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067706750-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067711660-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067716750-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067721530-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067726510-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067731490-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067736450-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067741650-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067746200-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067751170-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067756340-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067761650-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067766630-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067781470-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067786910-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067792390-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067806840-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067812170-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067817450-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067822640-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067828290-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067833220-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067838510-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067843150-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067847490-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067850910-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067854280-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067857730-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067861160-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067864510-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067867830-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067871170-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067874520-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067877870-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067881170-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067884550-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067888000-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067891390-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067894870-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067898300-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067901891-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067905221-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067908541-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067911811-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067915201-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067918541-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067921931-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067925121-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067928431-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067931811-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067935011-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067938291-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067941651-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067944971-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067948241-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067951441-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067954711-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067958041-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067961341-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067964651-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067967991-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067977391-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067980741-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067984071-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067987341-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067990641-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067994061-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.067997361-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068000641-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068003881-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068007061-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068010301-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068013681-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068016981-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068020371-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068023751-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068027151-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068030471-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068033791-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068037091-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068040471-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068044881-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068048271-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068051661-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068055021-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068058351-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068061691-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068065021-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068068431-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068071841-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068075231-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068078541-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068081921-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068085261-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068088441-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068091761-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068095131-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068098321-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068101611-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068109841-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068113411-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068116721-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068119951-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068123281-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068126621-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068130061-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068138831-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068142461-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068145781-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068149501-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068152771-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068158391-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068161751-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068165151-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068168531-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068171771-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068175081-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068178291-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068181531-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068184831-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068188551-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068191901-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068195261-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068198761-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068202121-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068205511-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068208851-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068212221-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068215511-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068218901-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068222191-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068225591-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068228941-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068232241-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068235561-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068238881-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068242161-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068245471-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068248761-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068252101-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068255471-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068258671-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068261931-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068265271-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068268491-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068271741-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068275041-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068278411-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068281831-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068285021-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068288281-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068297111-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068300481-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068303821-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068307111-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068310531-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068313861-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068318681-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068322071-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068325401-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068328651-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068332031-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068335211-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068346151-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068352551-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068355811-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068359151-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068362492-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068367392-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068370822-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068374192-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068377602-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068380952-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068384302-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068387692-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068390972-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068394282-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068397582-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068400892-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068404242-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068407572-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068410882-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068414222-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068417532-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068420822-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068424132-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068431872-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068436212-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068439502-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068442792-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068446102-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068449282-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068452532-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068455822-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068459222-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068468702-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068471962-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068475212-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068478562-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068481902-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068485202-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068488482-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068491812-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068495122-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068498482-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068501752-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068505092-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068508352-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068511692-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068514832-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068518202-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068521412-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068524612-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068527922-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068531252-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068534662-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068538012-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068541322-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068544692-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068548022-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068552322-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068557212-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068562362-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068567512-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068572942-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068578252-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068582372-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068585682-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068589092-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068592432-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068595742-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068599012-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068603012-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068606452-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068609862-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068613122-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068616362-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068619672-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068628882-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068632232-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068635582-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068638902-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068642242-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068645452-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068648702-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068652032-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068655342-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068659352-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068662702-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068666002-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068669392-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068672742-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068676092-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068679382-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068682652-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068685942-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068689112-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068692362-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068695562-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068698802-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068702132-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068705462-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068708772-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068712142-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068715442-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068718762-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068722112-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068725422-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068728752-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068732132-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068735482-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068738842-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068746322-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068749832-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068753162-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068756462-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068759722-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068762992-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068766292-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068769572-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068772862-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068776212-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068779382-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068787892-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068791312-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068794522-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068797772-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068801092-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068804402-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068807732-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068811012-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068814262-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068817562-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068820862-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068824162-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068827502-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068830782-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068834142-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068837472-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068840772-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068844052-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068847362-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068850672-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068853852-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068857092-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068860292-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068863512-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068866822-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068870123-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068873453-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068877053-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068880483-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068883813-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068887153-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068890553-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068893883-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068897173-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068900443-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068903743-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068907063-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068910363-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068915693-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068919013-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068922353-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068925643-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068928913-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068932193-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068935553-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068944073-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068947363-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068950783-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068954213-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068957423-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068960743-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068964103-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068967443-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068970723-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068973983-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068977263-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068980623-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068983913-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068987713-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068991013-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068994353-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.068997703-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069001023-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069004363-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069007613-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069010873-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069014163-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069017333-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069020623-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069023833-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069027103-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069030433-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069033723-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069037063-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069040603-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069047183-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069050693-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069054093-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069057443-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069060763-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069064083-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069067403-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069070743-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069074053-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069077343-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069080753-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069084053-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069087353-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069090663-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069099513-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069102853-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069106173-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069109573-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069112813-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069116193-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069120253-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069123433-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069126673-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069130133-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069133453-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069136733-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069140013-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069143293-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069146663-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069149973-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069153513-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069156923-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069160213-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069163493-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069166803-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069170053-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069173303-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069176563-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069179893-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069183073-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069186343-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069189553-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069192913-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069196263-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069199573-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069202903-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069206283-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069209563-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069212843-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069216193-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069219593-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069222953-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069226293-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069229623-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069233303-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069236593-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069239893-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069243203-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069252243-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069255623-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069258933-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069262203-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069265543-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069268913-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069272273-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069275473-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069278823-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069282183-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069285513-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069288793-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069292133-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069295423-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069298743-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069302063-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069305463-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069308783-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069312033-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069318523-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069322013-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069325973-05:00 ============================== 10 errors in 0.82s ============================== [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069329423-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069333313-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069345713-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069351903-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069355203-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069358373-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069361683-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069365033-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069368303-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069371783-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069375144-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069378434-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069381814-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069390974-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069394374-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069397694-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069400954-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069404314-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069407564-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069410824-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069414074-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069417384-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069422864-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069426494-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069429934-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069433404-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069436784-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069440124-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069443474-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069446764-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069450074-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069453354-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069456714-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069461484-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069464834-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069468134-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069471514-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069474834-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069478124-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069481434-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069484754-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069488134-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069491514-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069494934-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069498114-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069502594-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069506514-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069509894-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069513384-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069516714-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069519984-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069523314-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069527784-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069532564-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069544714-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069549874-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069554864-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069559984-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069565364-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069570264-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069575674-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069580694-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069585654-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069590674-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069595444-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069600474-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069612904-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069617984-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069624014-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069629484-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069634914-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069640144-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069645224-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069650264-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069655324-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069660334-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069665494-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069670374-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069675244-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069680044-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069685414-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069690194-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069695604-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069700654-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069705364-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069710234-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069715174-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069720204-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069724984-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069730524-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069735434-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069740844-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069745544-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069750404-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069755574-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069760334-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069774164-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069778744-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069783294-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069787794-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069793044-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069798144-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069803214-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069808314-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069813554-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069818264-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069822874-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069827944-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069832634-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069837645-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069842645-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069847865-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069853085-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069858305-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069863365-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069868785-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069873935-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069879035-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069883815-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069891435-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069897045-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069902285-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069907605-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069912895-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069918365-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069923585-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069928675-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069933835-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069938945-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069944615-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069950695-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069955885-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069960715-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069966225-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069971295-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069976285-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069993535-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.069998325-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070003425-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070026895-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070037445-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070041285-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070050955-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070053915-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070056925-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070060215-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070062895-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070065645-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070068275-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070070935-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070073665-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070077405-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070080235-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070082975-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070086055-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070088785-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070091595-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070094245-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070096945-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070099595-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070102275-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070105335-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070108035-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070110675-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070113365-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070116075-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070118785-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070121435-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070124105-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070126765-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070129395-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070132085-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070134765-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070137425-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070140105-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070143275-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070145825-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070151475-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070162875-05:00 def daily_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070165645-05:00 > return _run("daily") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070168315-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070170835-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070173495-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070176215-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070178865-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070181605-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070184295-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070187045-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070189725-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070192535-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070195275-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070197885-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070200495-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070203145-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070205695-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070208505-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070211065-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070213755-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070216425-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070219105-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070221795-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070224455-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070227115-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070229745-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070232445-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070235135-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070237815-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070240465-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070243155-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070245795-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070248425-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070251055-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070253685-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070257365-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070260145-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070262815-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070265465-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070268385-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070271115-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070280035-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070288045-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070291975-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070294805-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070297456-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070300096-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070302656-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070305436-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070308176-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070310946-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070313626-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070316286-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070318956-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070321576-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070324196-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070327656-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070330366-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070332996-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070335616-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070344106-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070350826-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070353516-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070356156-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070358866-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070361576-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070364366-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070367106-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070370556-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070373956-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070376666-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070379366-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070382126-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070384756-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070387546-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070390276-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070392936-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070395576-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070400826-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070403536-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070406166-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070408906-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070411546-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070414236-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070422026-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070424826-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070427386-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070430176-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070432996-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070435696-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070438346-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070441006-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070443666-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070446336-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070449006-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070451646-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070454276-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070456916-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070459526-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070462176-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070464796-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070467406-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070470026-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070472746-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070475326-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070477976-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070480546-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070483226-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070485986-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070488676-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070491416-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070494076-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070496726-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070502746-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070505616-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070508346-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070511116-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070513916-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070516666-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070519336-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070521996-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070524676-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070527416-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070530056-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070537246-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070539946-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070542576-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070545206-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070547876-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070550666-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070553256-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070556026-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070558756-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070561446-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070564696-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070567266-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070569916-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070572586-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070575246-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070578366-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070581296-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070583926-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070586576-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070589226-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070591826-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070594446-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070597316-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070600826-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070603436-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070606046-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070608566-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070611186-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070613836-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070616526-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070619266-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070622016-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070624736-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070627466-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070630196-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070632826-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070635466-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070638096-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070640766-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070643426-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070646106-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070653966-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070656876-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070659526-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070662166-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070664796-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070667536-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070670236-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070672936-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070675716-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070678276-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070680986-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070683626-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070686246-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070688926-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070691456-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070694096-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070696776-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070699406-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070702036-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070704716-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070707346-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070714626-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070717346-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070719976-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070722606-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070725286-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070727956-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070730566-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070733246-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070735796-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070738406-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070741066-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070743716-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070746406-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070749036-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070751666-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070754356-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070756986-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070759587-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070762217-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070764837-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070767537-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070774707-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070777367-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070779997-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070782607-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070785297-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070787927-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070790607-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070793207-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070795837-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070798457-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070801217-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070803727-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070806507-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070809147-05:00 def weekly_report(): [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070811777-05:00 > return _run("weekly") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070814407-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070816927-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070819517-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070822287-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070824907-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070827527-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070830177-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070832767-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070835457-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070838067-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070840677-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070843327-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070845957-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070848587-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070851127-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070853737-05:00 store_id = 'Fastime' [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070856277-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070858967-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070861587-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070864267-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070866907-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070869547-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070872167-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070874837-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070877457-05:00 """ [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070884547-05:00 base = _require_base() [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070887217-05:00 try: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070889937-05:00 import requests [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070892577-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070895197-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070897827-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070900427-05:00 raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070903107-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070905717-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070908307-05:00 if r.status_code == 404: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070910937-05:00 return None [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070913507-05:00 if r.status_code != 200: [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070916087-05:00 > raise ManageApiError( [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070918787-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070921497-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070924027-05:00 [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070932357-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.070935187-05:00 ----- end live Job logs ----- [pod/analytics-report-live-brr5h-live-build-pod/step-run-live] 2026-07-18T09:05:12.099170716-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-brr5h-live-build-pod/prepare] 2026-07-18T09:04:24.155777083-05:00 2026/07/18 14:04:24 Entrypoint initialization [pod/analytics-report-live-brr5h-live-build-pod/place-scripts] 2026-07-18T09:04:25.243313471-05:00 2026/07/18 14:04:25 Decoded script /tekton/scripts/script-0-cqf74 [pod/analytics-report-live-brr5h-live-build-pod/place-scripts] 2026-07-18T09:04:25.262873385-05:00 2026/07/18 14:04:25 Decoded script /tekton/scripts/script-2-rz2gx [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.699802521-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700586383-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700599333-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700603153-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700606583-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700609283-05:00 COPY . /prsrc [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700611973-05:00 WORKDIR /prsrc [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700614673-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700617283-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700619973-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-brr5h-live-build-pod/step-prepare-dockerfile] 2026-07-18T09:04:30.700623093-05:00 RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) ===== analytics-report-live-brr5h-notify-on-failure-pod.log ===== [pod/analytics-report-live-brr5h-notify-on-failure-pod/prepare] 2026-07-18T09:05:15.313373610-05:00 2026/07/18 14:05:15 Entrypoint initialization [pod/analytics-report-live-brr5h-notify-on-failure-pod/place-scripts] 2026-07-18T09:05:16.483934965-05:00 2026/07/18 14:05:16 Decoded script /tekton/scripts/script-0-pg6vv [pod/analytics-report-live-brr5h-notify-on-failure-pod/step-slack-alert] 2026-07-18T09:05:21.731282639-05:00 slack-preview-token absent — skipping Slack alert (see the storeminder/slack Vault grant) ===== analytics-report-live-brr5h-post-check-live-pod.log ===== [pod/analytics-report-live-brr5h-post-check-live-pod/prepare] 2026-07-18T09:05:17.068967087-05:00 2026/07/18 14:05:17 Entrypoint initialization [pod/analytics-report-live-brr5h-post-check-live-pod/place-scripts] 2026-07-18T09:05:17.458603156-05:00 2026/07/18 14:05:17 Decoded script /tekton/scripts/script-0-n5zrb [pod/analytics-report-live-brr5h-post-check-live-pod/step-post-check] 2026-07-18T09:05:21.506313355-05:00 Installing PyJWT + cryptography + requests… ===== analytics-report-live-brr5h-post-status-live-pod.log ===== [pod/analytics-report-live-brr5h-post-status-live-pod/prepare] 2026-07-18T09:05:18.758099258-05:00 2026/07/18 14:05:18 Entrypoint initialization [pod/analytics-report-live-brr5h-post-status-live-pod/place-scripts] 2026-07-18T09:05:19.767528118-05:00 2026/07/18 14:05:19 Decoded script /tekton/scripts/script-0-p8v6t [pod/analytics-report-live-brr5h-post-status-live-pod/step-post-status] 2026-07-18T09:05:23.744235784-05:00 Posting commit status to GitHub [pod/analytics-report-live-brr5h-post-status-live-pod/step-post-status] 2026-07-18T09:05:23.744271064-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-brr5h-post-status-live-pod/step-post-status] 2026-07-18T09:05:23.744275474-05:00 SHA: 355ccd41bd64396f79b6bc3a75edba1390b22d82 [pod/analytics-report-live-brr5h-post-status-live-pod/step-post-status] 2026-07-18T09:05:23.744278404-05:00 State: failure (Failed) [pod/analytics-report-live-brr5h-post-status-live-pod/step-post-status] 2026-07-18T09:05:23.744281604-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-355ccd41bd64396f79b6bc3a75edba1390b22d82/analytics-report-live-brr5h/logs.txt ===== analytics-report-live-brr5h-reclaim-workspace-pod.log ===== [pod/analytics-report-live-brr5h-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-18T09:05:22.938263246-05:00 ==> reclaiming workspace PVC(s) owned by PipelineRun=analytics-report-live-brr5h in ns=tekton-pipelines [pod/analytics-report-live-brr5h-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-18T09:05:23.087584547-05:00 ==> deleting PVC pvc-130303cbc2 (5Gi) [pod/analytics-report-live-brr5h-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-18T09:05:23.155876880-05:00 persistentvolumeclaim "pvc-130303cbc2" deleted [pod/analytics-report-live-brr5h-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-18T09:05:23.159765617-05:00 ==> requested deletion of 1 run-owned PVC(s) [pod/analytics-report-live-brr5h-reclaim-workspace-pod/prepare] 2026-07-18T09:05:19.430438694-05:00 2026/07/18 14:05:19 Entrypoint initialization [pod/analytics-report-live-brr5h-reclaim-workspace-pod/place-scripts] 2026-07-18T09:05:19.730732004-05:00 2026/07/18 14:05:19 Decoded script /tekton/scripts/script-0-psphh