===== analytics-report-live-5ghz9-archive-logs-pod.log ===== [pod/analytics-report-live-5ghz9-archive-logs-pod/place-scripts] 2026-07-19T22:58:20.271863798-05:00 2026/07/20 03:58:20 Decoded script /tekton/scripts/script-0-gg52p [pod/analytics-report-live-5ghz9-archive-logs-pod/place-scripts] 2026-07-19T22:58:20.297635263-05:00 2026/07/20 03:58:20 Decoded script /tekton/scripts/script-1-vs4fv [pod/analytics-report-live-5ghz9-archive-logs-pod/step-collect-logs] 2026-07-19T22:58:24.665740410-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-5ghz9 [pod/analytics-report-live-5ghz9-archive-logs-pod/prepare] 2026-07-19T22:58:19.586066220-05:00 2026/07/20 03:58:19 Entrypoint initialization ===== analytics-report-live-5ghz9-clone-pod.log ===== [pod/analytics-report-live-5ghz9-clone-pod/prepare] 2026-07-19T22:56:39.476531956-05:00 2026/07/20 03:56:39 Entrypoint initialization [pod/analytics-report-live-5ghz9-clone-pod/place-scripts] 2026-07-19T22:56:39.913976749-05:00 2026/07/20 03:56:39 Decoded script /tekton/scripts/script-0-tw6xw [pod/analytics-report-live-5ghz9-clone-pod/step-clone] 2026-07-19T22:56:46.683347378-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-5ghz9-clone-pod/step-clone] 2026-07-19T22:56:46.683378228-05:00 * branch 5b0d5ee77f2a9f317f57db8ae05fde2fa995b289 -> FETCH_HEAD [pod/analytics-report-live-5ghz9-clone-pod/step-clone] 2026-07-19T22:56:46.757240231-05:00 Cloned 5b0d5ee77f2a9f317f57db8ae05fde2fa995b289 ===== analytics-report-live-5ghz9-live-build-pod.log ===== [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.235006815-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.235035535-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.255619207-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.255641787-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.262336255-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.262386905-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.262405655-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.262414105-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.262417845-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.262532395-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.262822363-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.319029747-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:0ec29721eb19af432160c6b6cecff59857dbd6ac55c3a178701600bd87a9fc70... [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.340068377-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:11.340087927-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:22.962694673-05:00 INFO[0011] COPY . /prsrc [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:23.169630799-05:00 INFO[0012] Taking snapshot of files... [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:23.422210578-05:00 INFO[0012] WORKDIR /prsrc [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:23.422245978-05:00 INFO[0012] Cmd: workdir [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:23.422275818-05:00 INFO[0012] Changed working directory to /prsrc [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:23.422674886-05:00 INFO[0012] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:23.422707706-05:00 INFO[0012] RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:23.422729566-05:00 INFO[0012] Initializing snapshotter ... [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:23.422739346-05:00 INFO[0012] Taking snapshot of full filesystem... [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:31.026789151-05:00 INFO[0019] Cmd: /bin/sh [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:31.026903480-05:00 INFO[0019] 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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:31.026924850-05:00 INFO[0019] 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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:31.389216843-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:31.391041654-05:00 Installing build dependencies: started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:33.523939230-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:33.524653187-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:33.655195864-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:33.656091490-05:00 Getting requirements to build editable: started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:33.819156482-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:33.820357646-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:33.973741764-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.027162189-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.027929456-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.265528821-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.266231138-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=23680c9ad538577a12bcf4e4db4df895b9f0c350916841774e2c17354cb5c241 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.266415827-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-ord37716/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.268930595-05:00 Successfully built storeminder [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.269116994-05:00 Installing collected packages: storeminder [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.269249744-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.307356782-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.312458747-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.314001460-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.380257514-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.380427223-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.522119797-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.522150797-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:34.522156447-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:35.008574615-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:35.011325372-05:00 Installing build dependencies: started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:37.494188213-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:37.495084339-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:37.637172740-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:37.637195830-05:00 Getting requirements to build editable: started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:37.841076436-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:37.842463709-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.035419267-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.137307790-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.138620594-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.139624449-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.140496455-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.141631490-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.142857594-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.144394366-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.145204853-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.342382420-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.405062100-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.419699441-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.420188258-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.421454072-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.422366798-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.423254644-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.425859041-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.426499508-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.427391914-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.431739073-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.432564769-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.433382835-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.436187562-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.486029853-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.535266908-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.536241983-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.571859303-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.589702818-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.592018377-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.624192043-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.641893878-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.644894544-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.654959646-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.656115700-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.657253235-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.658111871-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.741431823-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.750105191-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.783201333-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.784162569-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.785621662-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.799455335-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:38.913232072-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.140729084-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 1.8 MB/s eta 0:00:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.164061552-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.183082781-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.194295668-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.371489231-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.372431036-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.374008529-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.595505030-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.596315206-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=6cff016ce5dad5e8e2f8e27f07480d171d1d53e35a760d61008d91d3eb4fc81e [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.596517005-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-h85z85cc/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:39.598908913-05:00 Successfully built storeminder [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:40.668710477-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:40.964488783-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:41.021270291-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:41.023490100-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:41.313859481-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:41.604978468-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:41.605270297-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-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:41.745286757-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:41.745315517-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:41.745322167-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:41.890773311-05:00 INFO[0030] Taking snapshot of full filesystem... [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:44.586954694-05:00 INFO[0033] Pushing layer registry.storeminder.ai/images/cache:0ec29721eb19af432160c6b6cecff59857dbd6ac55c3a178701600bd87a9fc70 to cache now [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:44.587176443-05:00 INFO[0033] Pushing image to registry.storeminder.ai/images/cache:0ec29721eb19af432160c6b6cecff59857dbd6ac55c3a178701600bd87a9fc70 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:44.711688086-05:00 INFO[0033] Pushed registry.storeminder.ai/images/cache@sha256:f42cf53fac8d3d42d80aa3668880097dfb29c4881d86b713454c65c6d947420d [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:44.712713671-05:00 INFO[0033] Pushing image to registry.storeminder.ai/images/storeminder-report-live:5b0d5ee77f2a9f317f57db8ae05fde2fa995b289 [pod/analytics-report-live-5ghz9-live-build-pod/step-build-pr-image] 2026-07-19T22:57:44.893496066-05:00 INFO[0033] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:332af1760d100013b5a4bd25ee5912c68ab84da6413eced4f827e96671b71f99 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:57:45.486770684-05:00 /tekton/scripts/script-2-zgfkp: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:57:45.737123204-05:00 job.batch/report-live-5b0d5ee created [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:11.907619013-05:00 ----- live Job logs (report-live-5b0d5ee) ----- [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124854954-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124884164-05:00 ============================= test session starts ============================== [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124890754-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124896004-05:00 cachedir: .pytest_cache [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124901604-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124906773-05:00 configfile: pyproject.toml [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124912223-05:00 plugins: anyio-4.14.2, langsmith-0.10.6 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124917253-05:00 collecting ... collected 10 items [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124921923-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124926813-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124932893-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124937833-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124942893-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124948083-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124953023-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124958143-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124964083-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124969053-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124974333-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124979603-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124984583-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124989563-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124994383-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.124999443-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125004303-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125009403-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125014403-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125019093-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125024183-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125028793-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125034283-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125039303-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125044533-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125049653-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125054553-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125059783-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125064743-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125085763-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125089583-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125093153-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125096513-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125100133-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125103353-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125106603-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125110073-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125114633-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125118542-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125122172-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125125992-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125129932-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125133792-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125137742-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125141302-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125144952-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125148812-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125152392-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125156262-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125159832-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125163632-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125167282-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125171592-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125175142-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125178532-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125181972-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125185542-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125190242-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125193542-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125196892-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125200252-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125203402-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125206862-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125210532-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125213952-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125217482-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125220782-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125224202-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125227422-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125231002-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125234602-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125244592-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125248682-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125252112-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125262502-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125265852-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125269962-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125273802-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125278112-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125281512-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125284942-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125288192-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125291492-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125295342-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125298802-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125302182-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125306072-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125309692-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125313572-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125317342-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125321182-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125324802-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125328632-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125332701-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125336411-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125351561-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125355751-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125359281-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125362491-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125364851-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125367381-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125369821-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125372251-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125374701-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125378331-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125380651-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125383091-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125385561-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125387851-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125390411-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125392781-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125395141-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125397501-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125399831-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125402271-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125404741-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125407121-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125409571-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125412261-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125420981-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125423371-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125425781-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125428131-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125430531-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125432881-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125435331-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125437631-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125440031-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125442321-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125444801-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125447251-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125449621-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125452141-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125454651-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125457391-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125459841-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125463121-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125465631-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125468011-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125470361-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125472831-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125475221-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125477591-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125480081-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125482521-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125484951-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125487331-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125490361-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125492701-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125495041-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125498041-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125500511-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125502801-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125505151-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125507671-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125509951-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125512311-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125518881-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125521401-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125523791-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125526101-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125528531-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125531031-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125537920-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125540430-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125542930-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125545310-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125547660-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125550010-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125552420-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125554800-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125557150-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125560390-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125562680-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125565030-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125567300-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125569620-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125572090-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125574580-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125577030-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125579890-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125582350-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125584790-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125587230-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125589590-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125591950-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125594300-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125597430-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125599820-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125602220-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125604630-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125607260-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125609710-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125612130-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125614510-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125616950-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125619310-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125621750-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125624190-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125626470-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125628870-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125631290-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125633570-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125635890-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125638280-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125640770-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125643130-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125645410-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125647780-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125654510-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125656930-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125659300-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125661780-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125664220-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125666610-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125668940-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125671560-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125673910-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125676250-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125678670-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125680940-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125683360-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125685630-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125687940-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125690380-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125692740-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125695170-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125697600-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125699960-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125702300-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125705240-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125707720-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125710090-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125712490-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125714850-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125717270-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125719660-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125722040-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125724430-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125726780-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125729110-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125731470-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125733810-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125736150-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125741579-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125744089-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125746409-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125748789-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125751169-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125753409-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125755759-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125758119-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125760449-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125769949-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125772259-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125774709-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125777079-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125779439-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125781839-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125784199-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125786579-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125788919-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125791269-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125793599-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125795929-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125798249-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125802349-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125805729-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125809299-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125812609-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125815939-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125819669-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125823139-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125826439-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125829759-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125833189-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125836279-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125838659-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125841099-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125843519-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125845849-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125849719-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125852109-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125854569-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125856999-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125859399-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125861779-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125864129-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125866469-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125868899-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125871249-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125873619-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125876029-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125878289-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125880609-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125882969-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125890139-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125892539-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125894899-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125897259-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125899659-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125901959-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125904359-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125906729-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125909069-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125911399-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125913729-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125916059-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125918419-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125920729-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125923159-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125925469-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125927829-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125930229-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125932479-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125934779-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125937069-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125939369-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125941678-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125944028-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125946458-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125949128-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125951528-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125953858-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125956238-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125958588-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125960938-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125963268-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125965658-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125968018-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125973488-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125975958-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125978308-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125980768-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125983128-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125985478-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125989138-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125992608-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125996218-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.125999898-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126004428-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126014748-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126017398-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126019668-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126021998-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126024438-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126026888-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126029258-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126031538-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126033868-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126036298-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126038638-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126041058-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126043428-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126045778-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126048238-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126050638-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126052998-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126055358-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126057688-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126060018-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126062248-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126064558-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126066838-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126069118-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126071528-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126073888-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126076308-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126078668-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126081008-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126083328-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126085698-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126088048-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126090398-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126092738-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126095078-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126097408-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126099778-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126102128-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126104498-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126106838-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126109188-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126111518-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126113848-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126116168-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126118518-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126124978-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126127338-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126129648-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126131998-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126134248-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126136538-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126138918-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126141308-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126143737-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126146007-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126148337-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126150727-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126153137-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126155497-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126157837-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126160237-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126162557-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126165017-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126167327-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126169637-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126172047-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126174427-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126176647-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126178977-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126181227-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126183637-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126185987-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126188327-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126190757-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126193207-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126198977-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126201437-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126203857-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126206257-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126208627-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126211047-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126213457-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126215787-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126218247-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126220597-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126223107-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126225567-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126228767-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126231147-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126237777-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126240157-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126242647-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126245057-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126247317-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126249617-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126252817-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126255067-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126257407-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126259847-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126262187-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126264627-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126266887-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126269217-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126272007-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126274457-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126276857-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126279207-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126281547-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126283857-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126286207-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126288527-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126290867-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126293167-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126295477-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126297717-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126300077-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126302337-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126304647-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126307057-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126309387-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126311717-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126314057-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126316377-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126318677-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126321027-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126323407-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126325757-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126328167-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126330527-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126332867-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126335207-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126343917-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126350366-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126359006-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126361506-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126363946-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126366296-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126368646-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126371076-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126373656-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126375926-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126378296-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126380696-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126383106-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126385546-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126389626-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126392076-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126394486-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126396916-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126399366-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126401726-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126404096-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126409296-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126411786-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126414216-05:00 ============================== 10 errors in 0.91s ============================== [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126416566-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126419386-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126422526-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126425066-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126427896-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126430136-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126432516-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126434896-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126437246-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126440066-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126442476-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126444816-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126447176-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126453486-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126455846-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126458186-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126460496-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126463126-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126465396-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126467716-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126470016-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126472336-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126474726-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126477096-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126479566-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126482596-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126484956-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126487416-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126489806-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126492176-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126494536-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126496916-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126499396-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126501766-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126504116-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126506506-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126508826-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126511176-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126513576-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126515926-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126518256-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126520606-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126522976-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126525886-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126528176-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126531246-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126533606-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126535956-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126538276-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126540556-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126542916-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126545276-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126547616-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126549946-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126556486-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126558865-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126561215-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126563565-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126565905-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126568205-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126570515-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126572835-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126575095-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126577425-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126579705-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126582025-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126586585-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126589015-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126591395-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126593755-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126596185-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126598625-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126601085-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126603845-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126606295-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126608655-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126610985-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126613375-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126615725-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126618145-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126620625-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126622995-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126625445-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126627805-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126630145-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126632545-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126634945-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126637375-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126639655-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126642135-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126644535-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126646885-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126649245-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126651505-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126653815-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126656315-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126664045-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126667275-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126669785-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126672195-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126674525-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126676925-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126679285-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126681595-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126683985-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126686395-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126688655-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126690945-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126693185-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126695485-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126697915-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126700275-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126702725-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126705205-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126707625-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126710035-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126712605-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126714935-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126717275-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126719595-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126722005-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126724345-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126726675-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126728985-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126731445-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126733775-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126736095-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126738525-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126741655-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126744035-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126746445-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126749565-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126751805-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126754635-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126756995-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126759335-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126765885-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126768335-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126770784-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126789774-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126805184-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126810334-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126821724-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126826604-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126831264-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126835234-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126839464-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126844184-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126848274-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126852934-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126857164-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126861744-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126865744-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126869784-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126874784-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126878964-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126883114-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126887404-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126891594-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126895814-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126899964-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126904614-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126908574-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126912664-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126917214-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126922734-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126927044-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126931304-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126935584-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126939634-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126945264-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126949864-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126954474-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126959004-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126963694-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126968054-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126971294-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126975224-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126989873-05:00 def daily_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126993693-05:00 > return _run("daily") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.126997223-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127000573-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127004033-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127007553-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127010843-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127014363-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127017653-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127020993-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127024493-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127028793-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127032383-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127036023-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127039593-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127042983-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127046493-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127050113-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127053413-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127056653-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127060073-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127063383-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127066723-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127071103-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127074303-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127078023-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127081703-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127085123-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127088373-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127091583-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127095083-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127098643-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127102783-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127106313-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127109963-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127113593-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127117033-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127120413-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127124263-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127127753-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127131103-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127139433-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127157283-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127161393-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127164883-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127168583-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127171973-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127175193-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127178993-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127182763-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127186733-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127190463-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127194002-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127197462-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127200942-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127204292-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127207522-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127210992-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127214382-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127217832-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127220832-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127224152-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127227302-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127230662-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127234182-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127237472-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127241292-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127244792-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127248472-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127252162-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127255562-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127258922-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127262272-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127265522-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127269062-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127272642-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127276432-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127279732-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127283052-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127286412-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127289842-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127293002-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127296442-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127299792-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127310452-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127314522-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127317792-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127323532-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127327222-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127330922-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127334472-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127345382-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127354532-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127358302-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127361562-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127365052-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127368562-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127371932-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127375442-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127379322-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127382902-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127386912-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127390362-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127394082-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127397232-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127400662-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127403881-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127407281-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127410641-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127414161-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127417651-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127421401-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127424991-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127434151-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127437801-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127441461-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127444841-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127448381-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127452101-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127455691-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127459011-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127462751-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127467031-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127470381-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127481191-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127484741-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127488501-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127492231-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127495641-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127499061-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127502281-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127505781-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127509261-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127512701-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127516081-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127519291-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127522811-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127526401-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127530001-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127533671-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127537301-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127540501-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127543811-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127547681-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127551021-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127554541-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127557961-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127561471-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127564711-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127568271-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127571481-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127574821-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127578451-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127581861-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127585521-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127589801-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127593481-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127596981-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127600161-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127603761-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127607210-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127610870-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127614600-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127618040-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127621340-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127631600-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127635250-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127638810-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127642230-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127645690-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127649200-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127652800-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127656150-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127659800-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127663100-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127666430-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127669800-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127673270-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127676970-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127680290-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127683830-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127687110-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127690370-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127693830-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127697220-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127700540-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127708490-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127712070-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127716550-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127720040-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127723600-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127727150-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127730310-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127733520-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127736500-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127739790-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127743410-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127746900-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127750510-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127754010-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127757520-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127761200-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127764540-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127767840-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127771210-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127774640-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127779140-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127790810-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127794540-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127797990-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127801540-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127805130-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127808760-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127812279-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127815799-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127819219-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127822579-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127826199-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127829449-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127832869-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127836179-05:00 def weekly_report(): [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127839689-05:00 > return _run("weekly") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127843209-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127846669-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127850109-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127853709-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127857319-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127860799-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127864419-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127867739-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127871239-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127874739-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127878639-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127882539-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127885949-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127889379-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127892639-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127896089-05:00 store_id = 'Fastime' [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127899299-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127902769-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127906459-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127909949-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127913659-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127917319-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127920909-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127924319-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127927759-05:00 """ [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127931089-05:00 base = _require_base() [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127940979-05:00 try: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127944529-05:00 import requests [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127947939-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127951359-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127954779-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127958229-05:00 raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127962119-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127965869-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127969359-05:00 if r.status_code == 404: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127972829-05:00 return None [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127976569-05:00 if r.status_code != 200: [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127980089-05:00 > raise ManageApiError( [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127983349-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127986659-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.127989739-05:00 [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.128000809-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.128004539-05:00 ----- end live Job logs ----- [pod/analytics-report-live-5ghz9-live-build-pod/step-run-live] 2026-07-19T22:58:12.162496672-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-5ghz9-live-build-pod/prepare] 2026-07-19T22:56:59.522291833-05:00 2026/07/20 03:56:59 Entrypoint initialization [pod/analytics-report-live-5ghz9-live-build-pod/place-scripts] 2026-07-19T22:57:01.071793526-05:00 2026/07/20 03:57:01 Decoded script /tekton/scripts/script-0-jn2ch [pod/analytics-report-live-5ghz9-live-build-pod/place-scripts] 2026-07-19T22:57:01.101671445-05:00 2026/07/20 03:57:01 Decoded script /tekton/scripts/script-2-zgfkp [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.995835947-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996567364-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996573954-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996577374-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996579814-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996582614-05:00 COPY . /prsrc [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996585114-05:00 WORKDIR /prsrc [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996587934-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996590554-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996593024-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-5ghz9-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:57:10.996595954-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-5ghz9-notify-on-failure-pod.log ===== [pod/analytics-report-live-5ghz9-notify-on-failure-pod/prepare] 2026-07-19T22:58:20.512211814-05:00 2026/07/20 03:58:20 Entrypoint initialization [pod/analytics-report-live-5ghz9-notify-on-failure-pod/place-scripts] 2026-07-19T22:58:21.466367661-05:00 2026/07/20 03:58:21 Decoded script /tekton/scripts/script-0-wv4hq Error from server (BadRequest): container "step-slack-alert" in pod "analytics-report-live-5ghz9-notify-on-failure-pod" is waiting to start: PodInitializing ===== analytics-report-live-5ghz9-post-check-live-pod.log ===== [pod/analytics-report-live-5ghz9-post-check-live-pod/place-scripts] 2026-07-19T22:58:21.635251682-05:00 2026/07/20 03:58:21 Decoded script /tekton/scripts/script-0-wxgmk [pod/analytics-report-live-5ghz9-post-check-live-pod/prepare] 2026-07-19T22:58:21.202866588-05:00 2026/07/20 03:58:21 Entrypoint initialization ===== analytics-report-live-5ghz9-post-status-live-pod.log ===== [pod/analytics-report-live-5ghz9-post-status-live-pod/prepare] 2026-07-19T22:58:22.668036787-05:00 2026/07/20 03:58:22 Entrypoint initialization [pod/analytics-report-live-5ghz9-post-status-live-pod/place-scripts] 2026-07-19T22:58:22.952566577-05:00 2026/07/20 03:58:22 Decoded script /tekton/scripts/script-0-7wdgx Error from server (BadRequest): container "step-post-status" in pod "analytics-report-live-5ghz9-post-status-live-pod" is waiting to start: PodInitializing ===== analytics-report-live-5ghz9-reclaim-workspace-pod.log ===== [pod/analytics-report-live-5ghz9-reclaim-workspace-pod/prepare] 2026-07-19T22:58:22.934874233-05:00 2026/07/20 03:58:22 Entrypoint initialization [pod/analytics-report-live-5ghz9-reclaim-workspace-pod/place-scripts] 2026-07-19T22:58:24.448417304-05:00 2026/07/20 03:58:24 Decoded script /tekton/scripts/script-0-zn6g8 Error from server (BadRequest): container "step-delete-run-pvcs" in pod "analytics-report-live-5ghz9-reclaim-workspace-pod" is waiting to start: PodInitializing