===== analytics-report-live-fp725-archive-logs-pod.log ===== [pod/analytics-report-live-fp725-archive-logs-pod/prepare] 2026-07-19T07:18:13.819130283-05:00 2026/07/19 12:18:13 Entrypoint initialization [pod/analytics-report-live-fp725-archive-logs-pod/place-scripts] 2026-07-19T07:18:14.383480764-05:00 2026/07/19 12:18:14 Decoded script /tekton/scripts/script-0-qrmb6 [pod/analytics-report-live-fp725-archive-logs-pod/place-scripts] 2026-07-19T07:18:14.404244098-05:00 2026/07/19 12:18:14 Decoded script /tekton/scripts/script-1-4b9ts [pod/analytics-report-live-fp725-archive-logs-pod/step-collect-logs] 2026-07-19T07:18:18.621836033-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-fp725 ===== analytics-report-live-fp725-clone-pod.log ===== [pod/analytics-report-live-fp725-clone-pod/prepare] 2026-07-19T07:17:06.961676161-05:00 2026/07/19 12:17:06 Entrypoint initialization [pod/analytics-report-live-fp725-clone-pod/place-scripts] 2026-07-19T07:17:07.760120445-05:00 2026/07/19 12:17:07 Decoded script /tekton/scripts/script-0-hwcsg [pod/analytics-report-live-fp725-clone-pod/step-clone] 2026-07-19T07:17:16.058372560-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-fp725-clone-pod/step-clone] 2026-07-19T07:17:16.058406640-05:00 * branch a151b15e8511a3a2100e64db878dc108f5ccb54b -> FETCH_HEAD [pod/analytics-report-live-fp725-clone-pod/step-clone] 2026-07-19T07:17:16.128114369-05:00 Cloned a151b15e8511a3a2100e64db878dc108f5ccb54b ===== analytics-report-live-fp725-live-build-pod.log ===== [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.886001780-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.886037940-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.907065272-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.907084532-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.915724865-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.915737525-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.915742785-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.915755455-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.915760355-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.915873255-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.916115475-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.965557685-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:9def12aa1759c28470b6d5b82d7dfa1c31e5241ddec4e4a972f4172621fa27d7... [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.991846913-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:26.991906223-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:36.644494495-05:00 INFO[0009] COPY . /prsrc [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:36.794576169-05:00 INFO[0009] Taking snapshot of files... [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:37.040922585-05:00 INFO[0010] WORKDIR /prsrc [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:37.041016185-05:00 INFO[0010] Cmd: workdir [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:37.041029335-05:00 INFO[0010] Changed working directory to /prsrc [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:37.041297365-05:00 INFO[0010] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:37.041315585-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:37.041319485-05:00 INFO[0010] Initializing snapshotter ... [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:37.041323545-05:00 INFO[0010] Taking snapshot of full filesystem... [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:44.173087711-05:00 INFO[0017] Cmd: /bin/sh [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:44.173198221-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:44.173219251-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:44.560632882-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:44.563084630-05:00 Installing build dependencies: started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:46.806893519-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:46.807657168-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:46.954315102-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:46.955529271-05:00 Getting requirements to build editable: started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.137876128-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.139195676-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.344795509-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.396438278-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.397286767-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.604425538-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.605107838-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=9bfdf0a335f8c16211cf36d5744a449b0bd0e1ede2ff41061649553c05b2e26e [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.605254367-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-2dgsfs2s/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.607312215-05:00 Successfully built storeminder [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.607587655-05:00 Installing collected packages: storeminder [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.607672425-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.645699397-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.650803422-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.652531000-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.714131098-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.714308648-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.837667524-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.837888453-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:47.837895463-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:48.316141030-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:48.318736417-05:00 Installing build dependencies: started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:50.519508225-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:50.520263964-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:50.673411626-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:50.674523475-05:00 Getting requirements to build editable: started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:50.912719279-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:50.913986897-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.130148683-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.198121542-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.199089251-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.199856260-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.200541980-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.201398709-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.202593358-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.204010526-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.204730205-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.354942859-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.469728119-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.485810523-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.486795622-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.487883150-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.488987749-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.489902058-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.492711525-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.493414245-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.494336754-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.498543659-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.499371738-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.500185898-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.503777034-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.569302536-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.607365616-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.608177575-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.670845850-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.688040962-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.691121489-05:00 Requirement already satisfied: packaging>=22 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder==0.1.0) (25.0) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.729589569-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.744594993-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.749128978-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.756696050-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.757567949-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.758378019-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.759050718-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.811620373-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.819040786-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.847603666-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.849035404-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.850803562-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.866060096-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:51.941890578-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.261749642-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 1.2 MB/s eta 0:00:00 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.286471756-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.305685816-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.320010621-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.462854371-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.463491500-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.464652279-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.695732566-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.696618355-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=3bec2a8d89af012e64e45a5f32770886c6d7a9a425f4cfacb3c35334ec69a3cc [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.696970215-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-dzv26n09/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:52.699510732-05:00 Successfully built storeminder [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:53.625083314-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:53.890955262-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:53.935286135-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:53.936888464-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:54.138911009-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:54.347898115-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:54.348154155-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-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:54.499479803-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:54.499606183-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:54.499614403-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:54.698907820-05:00 INFO[0027] Taking snapshot of full filesystem... [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:56.949996030-05:00 INFO[0030] Pushing layer registry.storeminder.ai/images/cache:9def12aa1759c28470b6d5b82d7dfa1c31e5241ddec4e4a972f4172621fa27d7 to cache now [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:56.950192510-05:00 INFO[0030] Pushing image to registry.storeminder.ai/images/cache:9def12aa1759c28470b6d5b82d7dfa1c31e5241ddec4e4a972f4172621fa27d7 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:57.097333739-05:00 INFO[0030] Pushed registry.storeminder.ai/images/cache@sha256:5598e14c3589499d6462b1541086160e3c0a37852096813cb85035d603e87b41 [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:57.098040739-05:00 INFO[0030] Pushing image to registry.storeminder.ai/images/storeminder-report-live:a151b15e8511a3a2100e64db878dc108f5ccb54b [pod/analytics-report-live-fp725-live-build-pod/step-build-pr-image] 2026-07-19T07:17:57.317937358-05:00 INFO[0030] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:f9b3f478c7e18f2fccfc309741571db8a1f3d800f847815a95d236c136b03e21 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:17:58.173824299-05:00 /tekton/scripts/script-2-gbp2q: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:17:58.323062385-05:00 job.batch/report-live-a151b15 created [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:08.676215603-05:00 ----- live Job logs (report-live-a151b15) ----- [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297863751-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297884241-05:00 ============================= test session starts ============================== [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297888451-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297892341-05:00 cachedir: .pytest_cache [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297895571-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297900551-05:00 configfile: pyproject.toml [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297904071-05:00 plugins: anyio-4.14.2, langsmith-0.10.6 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297907161-05:00 collecting ... collected 10 items [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297910141-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297913581-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297917301-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297920851-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297923951-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297927021-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297930031-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297933111-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297936211-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297939271-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297942251-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297945191-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297948201-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297951271-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297954201-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297957221-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297960291-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297963341-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297966341-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297969311-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297972381-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297975551-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297979421-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297982471-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297985441-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297988430-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297991440-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297994910-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.297997920-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298014020-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298016160-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298018410-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298020380-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298022430-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298024400-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298026530-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298028680-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298030760-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298032840-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298036280-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298038510-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298040570-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298042660-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298044800-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298046830-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298048840-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298051670-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298053830-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298055920-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298058030-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298060060-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298062160-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298064200-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298066240-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298068290-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298070310-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298072390-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298074640-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298076590-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298078680-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298080740-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298082730-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298084750-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298086780-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298088830-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298090860-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298092800-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298094960-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298097010-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298099190-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298101270-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298107170-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298109300-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298111340-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298117440-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298119550-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298121540-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298123520-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298125560-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298127520-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298129570-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298131530-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298133670-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298135780-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298137850-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298140020-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298142060-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298144100-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298146160-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298148200-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298150320-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298152380-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298154420-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298156470-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298158550-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298160590-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298162620-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298164720-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298166810-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298168870-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298170910-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298172940-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298174950-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298176990-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298179120-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298181080-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298183130-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298185240-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298187220-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298189240-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298191320-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298193360-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298195440-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298197410-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298200620-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298202790-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298204870-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298206910-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298208930-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298215270-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298217310-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298219470-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298221580-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298223610-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298225630-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298227650-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298229600-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298231660-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298233630-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298235650-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298237840-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298239890-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298241960-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298244010-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298246070-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298248100-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298250190-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298252250-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298254370-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298256420-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298258540-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298260580-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298262740-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298264910-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298266970-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298269770-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298271890-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298274000-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298276020-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298278050-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298280080-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298282180-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298284150-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298286160-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298288320-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298290300-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298292360-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298296810-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298298980-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298301030-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298303000-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298305090-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298309130-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298311170-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298345720-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298357230-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298359350-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298361390-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298363430-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298365540-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298367570-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298369720-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298371940-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298373890-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298375900-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298377850-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298379860-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298382020-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298384060-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298386170-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298388330-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298390700-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298392800-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298394850-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298396890-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298398960-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298400960-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298403100-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298405180-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298407220-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298409580-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298412900-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298416220-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298419170-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298421940-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298424780-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298427750-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298430750-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298435460-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298437510-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298439510-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298441650-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298443610-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298445650-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298447700-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298449740-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298451780-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298453730-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298455800-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298457890-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298463830-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298466030-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298468130-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298470150-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298472270-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298474280-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298476290-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298478380-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298480380-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298482470-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298484430-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298486440-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298488400-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298490470-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298492630-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298494720-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298496850-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298499780-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298502060-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298504170-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298506210-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298508270-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298510300-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298512480-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298514570-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298516640-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298518670-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298521220-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298523340-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298525370-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298527390-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298529690-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298531730-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298535330-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298540580-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298542780-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298544740-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298546820-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298548970-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298550960-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298553040-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298555100-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298557200-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298559250-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298561230-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298567160-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298569260-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298571280-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298573860-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298575960-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298577970-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298580490-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298582550-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298584580-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298586660-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298588670-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298590760-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298592700-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298594710-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298596680-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298598680-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298600710-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298602820-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298604890-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298607010-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298609070-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298611090-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298613130-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298615150-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298617250-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298619360-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298621510-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298623550-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298625580-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298627600-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298629680-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298631700-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298633720-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298635760-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298637770-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298639770-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298641900-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298644010-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298645950-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298647970-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298650020-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298652020-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298654030-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298656180-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298658230-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298663040-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298665010-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298667000-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298669060-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298671110-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298673180-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298675220-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298677260-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298679270-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298681310-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298683330-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298685330-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298687410-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298689430-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298691370-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298693410-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298695360-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298697340-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298699370-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298701390-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298703560-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298705680-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298707800-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298709850-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298711890-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298713950-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298716690-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298718740-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298720840-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298722900-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298727380-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298729490-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298731540-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298733630-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298735660-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298737710-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298739730-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298741740-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298743790-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298745900-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298747860-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298749890-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298751930-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298753980-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298759760-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298761820-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298763850-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298765870-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298767820-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298769810-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298771829-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298773869-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298776579-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298778669-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298780689-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298782729-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298784889-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298786889-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298788979-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298791049-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298793129-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298795099-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298797099-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298799049-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298801079-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298803219-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298805259-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298807439-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298809569-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298811629-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298813729-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298815769-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298817789-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298819819-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298821829-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298823879-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298827369-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298829469-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298831519-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298833559-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298835589-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298837629-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298839659-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298841739-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298843769-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298845809-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298848699-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298850659-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298852679-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298861389-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298863409-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298865429-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298867459-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298869469-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298871499-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298873429-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298875449-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298878049-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298880119-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298882179-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298884219-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298886309-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298888319-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298890329-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298892349-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298894459-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298896459-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298898509-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298900469-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298902469-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298904419-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298906389-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298908419-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298910449-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298913659-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298915869-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298920189-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298922319-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298924409-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298926479-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298928559-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298930749-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298932849-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298934909-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298936959-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298939059-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298941129-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298943229-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298945259-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298947309-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298949419-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298951429-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298953509-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298959409-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298961419-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298963429-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298965529-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298967499-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298969539-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298971579-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298973619-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298975649-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298977579-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298979599-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298981699-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298983729-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298985889-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298987919-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298989959-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298991959-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298993969-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298995969-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.298997959-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299001119-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299003219-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299005189-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299007179-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299009129-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299011129-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299013209-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299015249-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299017369-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299019539-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299021689-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299023799-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299025839-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299027859-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299029889-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299031899-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299033999-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299036049-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299038089-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299040139-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299042299-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299044349-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299046399-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299048449-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299050499-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299055819-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299057939-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299059989-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299061939-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299063939-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299066049-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299068169-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299070269-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299072969-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299075069-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299077179-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299079269-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299081339-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299083349-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299085359-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299089669-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299091759-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299093869-05:00 ============================== 10 errors in 0.73s ============================== [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299095939-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299099129-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299102959-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299105029-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299107069-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299109099-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299111199-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299113319-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299115379-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299117739-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299119899-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299121949-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299123979-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299126029-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299128179-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299130209-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299136299-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299138429-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299140389-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299142429-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299144399-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299146479-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299148519-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299150599-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299152759-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299154879-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299156979-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299159059-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299161129-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299163269-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299165339-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299167379-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299169419-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299171519-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299173559-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299175599-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299177699-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299179799-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299181859-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299183899-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299186009-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299188029-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299190129-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299192319-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299194279-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299196679-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299198759-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299200819-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299202849-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299204799-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299206859-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299208919-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299210929-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299213039-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299215069-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299217069-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299219069-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299224529-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299226589-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299228609-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299230619-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299232719-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299234709-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299236699-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299238659-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299240649-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299244769-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299246889-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299249039-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299251209-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299253259-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299255299-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299257339-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299259449-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299261479-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299263499-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299265669-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299268339-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299270429-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299272449-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299274559-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299276659-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299278689-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299280719-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299282779-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299285619-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299287669-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299289809-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299291769-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299293949-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299296029-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299298089-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299300209-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299302179-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299304219-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299306339-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299308379-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299310489-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299317019-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299319109-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299321199-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299323229-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299325249-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299327269-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299329289-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299331349-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299333319-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299335419-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299345699-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299349429-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299351479-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299353519-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299355709-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299357769-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299359819-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299361909-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299364049-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299366109-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299368189-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299370229-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299372299-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299374329-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299376389-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299378419-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299380589-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299382619-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299384669-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299386729-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299388769-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299390789-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299392839-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299394969-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299397009-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299399469-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299401539-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299403589-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299405619-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299407579-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299409579-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299424849-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299441929-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299445739-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299454219-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299457119-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299460799-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299463659-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299466369-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299469059-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299471579-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299474129-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299476669-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299479579-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299482049-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299484659-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299488089-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299490669-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299493279-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299495859-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299498409-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299500979-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299503569-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299506399-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299508969-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299511499-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299514069-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299516659-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299519279-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299521779-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299524329-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299526839-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299529429-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299531959-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299534469-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299536979-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299539509-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299542409-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299544849-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299547759-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299550409-05:00 def daily_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299552959-05:00 > return _run("daily") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299560619-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299563149-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299565799-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299568379-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299570959-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299573509-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299576149-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299578679-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299581229-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299583739-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299586229-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299588729-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299591209-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299593789-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299596259-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299598768-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299601208-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299603698-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299606218-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299608778-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299611418-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299613928-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299616588-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299619128-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299621808-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299624388-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299626998-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299629548-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299632328-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299634918-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299637488-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299639988-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299642508-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299646078-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299648708-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299651248-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299653808-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299656318-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299658948-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299665398-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299667968-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299670818-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299678638-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299681238-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299683788-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299686258-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299688758-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299691338-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299693938-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299696478-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299699068-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299701598-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299704108-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299706808-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299709368-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299711958-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299714468-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299716978-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299719418-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299721948-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299724438-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299727058-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299729838-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299732398-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299735038-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299737658-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299740208-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299742998-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299745728-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299748358-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299751008-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299753688-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299756318-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299759028-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299761568-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299764198-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299766748-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299769358-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299771938-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299774478-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299777028-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299779548-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299782088-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299784708-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299791828-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299794458-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299797058-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299799638-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299802178-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299804648-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299807158-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299809698-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299812228-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299814828-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299817408-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299819918-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299822448-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299824968-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299827468-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299829958-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299832518-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299835208-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299837658-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299840178-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299842638-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299845158-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299847728-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299850278-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299852878-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299855488-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299858138-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299866158-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299870108-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299873998-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299877708-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299881648-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299884998-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299887578-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299890138-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299892688-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299895288-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299897818-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299900418-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299903538-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299906118-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299908678-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299916938-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299920498-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299923008-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299925698-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299928308-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299930848-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299933448-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299935878-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299938438-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299941058-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299943628-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299946218-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299948758-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299951288-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299953918-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299956648-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299959218-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299961798-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299965368-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299968028-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299970498-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299973178-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299975678-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299978188-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299980788-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299983848-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299986568-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299989128-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299991738-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299994258-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299996838-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.299999448-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300002068-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300004628-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300007188-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300009738-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300012258-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300014778-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300017418-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300019958-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300026798-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300029438-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300032008-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300034538-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300037088-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300039708-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300042188-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300044818-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300047428-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300050718-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300053358-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300055838-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300058338-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300060878-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300063448-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300066078-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300068588-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300071118-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300077468-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300081448-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300085188-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300088788-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300091378-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300094478-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300096948-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300099488-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300101938-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300104568-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300107118-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300109678-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300112398-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300115018-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300117568-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300120198-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300122728-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300125328-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300127878-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300130488-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300133048-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300135628-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300138168-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300145578-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300148248-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300150808-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300153388-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300155988-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300158548-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300161048-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300163578-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300166248-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300168728-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300171338-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300173908-05:00 def weekly_report(): [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300176478-05:00 > return _run("weekly") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300179138-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300181598-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300184098-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300186708-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300189228-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300191818-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300194408-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300196978-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300199518-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300202038-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300204628-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300207128-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300209618-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300212158-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300214618-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300217178-05:00 store_id = 'Fastime' [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300219628-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300222148-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300224728-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300227308-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300229928-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300232558-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300235118-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300237718-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300240268-05:00 """ [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300243478-05:00 base = _require_base() [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300246088-05:00 try: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300248608-05:00 import requests [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300251218-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300257918-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300260518-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300263088-05:00 raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300265638-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300268178-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300270708-05:00 if r.status_code == 404: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300273258-05:00 return None [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300275808-05:00 if r.status_code != 200: [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300278318-05:00 > raise ManageApiError( [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300280848-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300283508-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300285978-05:00 [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300295658-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.300299558-05:00 ----- end live Job logs ----- [pod/analytics-report-live-fp725-live-build-pod/step-run-live] 2026-07-19T07:18:09.335705735-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-fp725-live-build-pod/prepare] 2026-07-19T07:17:21.620589328-05:00 2026/07/19 12:17:21 Entrypoint initialization [pod/analytics-report-live-fp725-live-build-pod/place-scripts] 2026-07-19T07:17:22.258852395-05:00 2026/07/19 12:17:22 Decoded script /tekton/scripts/script-0-h8scz [pod/analytics-report-live-fp725-live-build-pod/place-scripts] 2026-07-19T07:17:22.280025789-05:00 2026/07/19 12:17:22 Decoded script /tekton/scripts/script-2-gbp2q [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.697919003-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698659852-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698670612-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698674482-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698677922-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698681482-05:00 COPY . /prsrc [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698684752-05:00 WORKDIR /prsrc [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698688782-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698691942-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698695052-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-fp725-live-build-pod/step-prepare-dockerfile] 2026-07-19T07:17:26.698698852-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-fp725-notify-on-failure-pod.log ===== [pod/analytics-report-live-fp725-notify-on-failure-pod/place-scripts] 2026-07-19T07:18:14.377352522-05:00 2026/07/19 12:18:14 Decoded script /tekton/scripts/script-0-6r75k [pod/analytics-report-live-fp725-notify-on-failure-pod/prepare] 2026-07-19T07:18:13.462447563-05:00 2026/07/19 12:18:13 Entrypoint initialization ===== analytics-report-live-fp725-post-check-live-pod.log ===== [pod/analytics-report-live-fp725-post-check-live-pod/step-post-check] 2026-07-19T07:18:16.363990092-05:00 Installing PyJWT + cryptography + requests… [pod/analytics-report-live-fp725-post-check-live-pod/prepare] 2026-07-19T07:18:11.548644155-05:00 2026/07/19 12:18:11 Entrypoint initialization [pod/analytics-report-live-fp725-post-check-live-pod/place-scripts] 2026-07-19T07:18:12.154451788-05:00 2026/07/19 12:18:12 Decoded script /tekton/scripts/script-0-dp4xf ===== analytics-report-live-fp725-post-status-live-pod.log ===== [pod/analytics-report-live-fp725-post-status-live-pod/place-scripts] 2026-07-19T07:18:13.324708972-05:00 2026/07/19 12:18:13 Decoded script /tekton/scripts/script-0-j74hv [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:17.455965784-05:00 Posting commit status to GitHub [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:17.456005634-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:17.456011784-05:00 SHA: a151b15e8511a3a2100e64db878dc108f5ccb54b [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:17.456016934-05:00 State: failure (Failed) [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:17.456022394-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-a151b15e8511a3a2100e64db878dc108f5ccb54b/analytics-report-live-fp725/logs.txt [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.055835754-05:00 { [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056492883-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/a151b15e8511a3a2100e64db878dc108f5ccb54b", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056505063-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056511693-05:00 "id": 50714988092, [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056517903-05:00 "node_id": "SC_kwDOS9o4_c8AAAALztlOPA", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056523993-05:00 "state": "failure", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056529453-05:00 "description": "Checks failed", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056535793-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-a151b15e8511a3a2100e64db878dc108f5ccb54b/analytics-report-live-fp725/logs.txt", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056541333-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056546683-05:00 "created_at": "2026-07-19T12:18:17Z", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056552173-05:00 "updated_at": "2026-07-19T12:18:17Z", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056557723-05:00 "creator": { [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056563523-05:00 "login": "steveblackmon", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056569273-05:00 "id": 702924, [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056574793-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056580163-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056586393-05:00 "gravatar_id": "", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056592413-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056598393-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056603863-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056610153-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056615513-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056631213-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056637343-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056642883-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056649013-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056654603-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056660273-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056665803-05:00 "type": "User", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056671513-05:00 "user_view_type": "public", [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056676743-05:00 "site_admin": false [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056682093-05:00 } [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.056687263-05:00 } [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.059926439-05:00 [pod/analytics-report-live-fp725-post-status-live-pod/step-post-status] 2026-07-19T07:18:18.059997029-05:00 Status posted successfully [pod/analytics-report-live-fp725-post-status-live-pod/prepare] 2026-07-19T07:18:12.553707269-05:00 2026/07/19 12:18:12 Entrypoint initialization ===== analytics-report-live-fp725-reclaim-workspace-pod.log ===== [pod/analytics-report-live-fp725-reclaim-workspace-pod/prepare] 2026-07-19T07:18:15.614796961-05:00 2026/07/19 12:18:15 Entrypoint initialization [pod/analytics-report-live-fp725-reclaim-workspace-pod/place-scripts] 2026-07-19T07:18:16.604558209-05:00 2026/07/19 12:18:16 Decoded script /tekton/scripts/script-0-w665k