===== analytics-report-live-2j7fk-archive-logs-pod.log ===== [pod/analytics-report-live-2j7fk-archive-logs-pod/prepare] 2026-07-14T20:48:06.126984992-05:00 2026/07/15 01:48:06 Entrypoint initialization [pod/analytics-report-live-2j7fk-archive-logs-pod/place-scripts] 2026-07-14T20:48:07.244302159-05:00 2026/07/15 01:48:07 Decoded script /tekton/scripts/script-0-mbc5m [pod/analytics-report-live-2j7fk-archive-logs-pod/place-scripts] 2026-07-14T20:48:07.270701153-05:00 2026/07/15 01:48:07 Decoded script /tekton/scripts/script-1-6xkgv [pod/analytics-report-live-2j7fk-archive-logs-pod/step-collect-logs] 2026-07-14T20:48:10.381761686-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-2j7fk ===== analytics-report-live-2j7fk-clone-pod.log ===== [pod/analytics-report-live-2j7fk-clone-pod/prepare] 2026-07-14T20:47:13.165617138-05:00 2026/07/15 01:47:13 Entrypoint initialization [pod/analytics-report-live-2j7fk-clone-pod/place-scripts] 2026-07-14T20:47:13.421836265-05:00 2026/07/15 01:47:13 Decoded script /tekton/scripts/script-0-wmmsl [pod/analytics-report-live-2j7fk-clone-pod/step-clone] 2026-07-14T20:47:17.723282293-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-2j7fk-clone-pod/step-clone] 2026-07-14T20:47:17.723312942-05:00 * branch d10594fa135c7c38af4b725429728856fcc385d9 -> FETCH_HEAD [pod/analytics-report-live-2j7fk-clone-pod/step-clone] 2026-07-14T20:47:17.770296563-05:00 Cloned d10594fa135c7c38af4b725429728856fcc385d9 ===== analytics-report-live-2j7fk-live-build-pod.log ===== [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.626683616-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.626717276-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.706044958-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.706060548-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.714508021-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.714524981-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.714531061-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.714547881-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.714553341-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.714660221-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.714905509-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.740939335-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:031b50716c01e24f3265674edf52736082c515c2929e9ae8eaa05343169eb30c... [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.758500239-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:27.758510328-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:35.991177818-05:00 INFO[0008] COPY . /prsrc [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:36.081830196-05:00 INFO[0008] Taking snapshot of files... [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:36.202122411-05:00 INFO[0008] WORKDIR /prsrc [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:36.202145941-05:00 INFO[0008] Cmd: workdir [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:36.202149821-05:00 INFO[0008] Changed working directory to /prsrc [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:36.202394070-05:00 INFO[0008] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:36.202414760-05:00 INFO[0008] 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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:36.202420500-05:00 INFO[0008] Initializing snapshotter ... [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:36.202424510-05:00 INFO[0008] Taking snapshot of full filesystem... [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:41.759854602-05:00 INFO[0014] Cmd: /bin/sh [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:41.762665896-05:00 INFO[0014] 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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:41.762683196-05:00 INFO[0014] 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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:42.094809369-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:42.096886718-05:00 Installing build dependencies: started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:43.768992049-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:43.769761345-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:43.909817870-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:43.910905464-05:00 Getting requirements to build editable: started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.068407562-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.069479317-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.203240307-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.238603991-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.239383467-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.419287161-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.419899738-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=c003e05a1ab3bd892d6cad4cd90c123acca126cc840e14e6e860504e412d03b8 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.420037187-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-8j2o4ah0/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.422435884-05:00 Successfully built storeminder [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.422733302-05:00 Installing collected packages: storeminder [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.422879072-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.457224552-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.462212094-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.463829435-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.526017161-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.526206670-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.648500884-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.648604313-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:44.648610463-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:45.090678697-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:45.092615127-05:00 Installing build dependencies: started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.073806615-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.074685530-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.210024011-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.211229075-05:00 Getting requirements to build editable: started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.401357083-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.402764725-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.607949060-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.672942220-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.673914465-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.674908769-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.675656755-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.676451611-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (0.116.0) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.677832143-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.679298545-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (1.43.47) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.680060841-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.833715320-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.904515139-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.917147649-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.918186813-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.919056708-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.920052463-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.921067827-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.923441594-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.924069050-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.924904886-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.928239087-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.47 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.43.47) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.929067263-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.929691209-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.932071276-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:47.971238739-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.004351396-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.005264901-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.040869004-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.066355643-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.068433472-05:00 Requirement already satisfied: packaging>=22 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder==0.1.0) (26.2) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.098117547-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.118077317-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.120637153-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.129477504-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.130818256-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.131742621-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.132398488-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.182739439-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.188320828-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.209570721-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.210423736-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.211594429-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.221636924-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.289448849-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.468659007-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 2.3 MB/s eta 0:00:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.487951750-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.510292236-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.520773938-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.632701499-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.633207006-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.634063201-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.827375972-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.828054328-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=42dec27e43b4ce23557539a3f423cfb3726b0d0a4b8aec549ba50597c8bca24b [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.828221507-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-tvjwo652/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:48.829969107-05:00 Successfully built storeminder [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:49.701019327-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:49.958877240-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:50.003123305-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:50.005151144-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:50.187512534-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:50.377131605-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:50.377466693-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-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:50.509327093-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:50.509353313-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:50.509358743-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:50.713271104-05:00 INFO[0023] Taking snapshot of full filesystem... [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:52.490792445-05:00 INFO[0024] Pushing layer registry.storeminder.ai/images/cache:031b50716c01e24f3265674edf52736082c515c2929e9ae8eaa05343169eb30c to cache now [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:52.490983554-05:00 INFO[0024] Pushing image to registry.storeminder.ai/images/cache:031b50716c01e24f3265674edf52736082c515c2929e9ae8eaa05343169eb30c [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:52.603908179-05:00 INFO[0025] Pushed registry.storeminder.ai/images/cache@sha256:5f31adf7988d7b09316e3af7827883b5a356c6a1aa9ec7019c96789f41f1e0e2 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:52.604632335-05:00 INFO[0025] Pushing image to registry.storeminder.ai/images/storeminder-report-live:d10594fa135c7c38af4b725429728856fcc385d9 [pod/analytics-report-live-2j7fk-live-build-pod/step-build-pr-image] 2026-07-14T20:47:52.772132717-05:00 INFO[0025] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:d4f698e0373cb77020ae7a713ccbf9cb065b77976e874fb507c8970dc1900cfc [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:47:52.842607997-05:00 /tekton/scripts/script-2-6nfz8: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:47:53.055182240-05:00 job.batch/report-live-d10594f created [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.547995824-05:00 ----- live Job logs (report-live-d10594f) ----- [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768264544-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768345453-05:00 ============================= test session starts ============================== [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768351123-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768354993-05:00 cachedir: .pytest_cache [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768358703-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768362313-05:00 configfile: pyproject.toml [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768365603-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768369283-05:00 collecting ... collected 10 items [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768372453-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768376023-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768379373-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768382653-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768385953-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768389313-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768392593-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768395993-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768399313-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768402543-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768405753-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768408893-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768412223-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768415553-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768418723-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768421943-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768425203-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768428433-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768431763-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768434933-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768438203-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768441573-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768445863-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768449103-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768452333-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768455643-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768458843-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768462123-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768465393-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768479632-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768481962-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768484182-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768493752-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768498902-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768502172-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768504592-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768506972-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768509252-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768511512-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768513712-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768515912-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768518122-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768520412-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768522652-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768524862-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768527112-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768529332-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768531652-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768533882-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768536092-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768538342-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768540912-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768543152-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768545382-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768547562-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768549762-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768552002-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768554312-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768556442-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768558752-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768561022-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768563202-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768565382-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768567632-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768569852-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768572062-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768574192-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768576502-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768578712-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768580912-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768583122-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768593882-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768596382-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768598592-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768605512-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768607752-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768609972-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768612162-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768614402-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768616512-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768618692-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768620842-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768623052-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768625312-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768627582-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768629892-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768632172-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768634432-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768636662-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768638892-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768641152-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768643432-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768645662-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768647962-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768650212-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768652512-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768654732-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768657001-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768659281-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768661481-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768663751-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768665971-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768668221-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768704331-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768707841-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768711011-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768714301-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768717571-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768720761-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768724601-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768727881-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768731161-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768734401-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768741351-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768744761-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768748161-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768751451-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768754761-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768758461-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768766051-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768769181-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768771601-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768773781-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768776051-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768778291-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768780891-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768783011-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768785201-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768787351-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768789601-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768791821-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768794061-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768796411-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768798781-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768801101-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768803391-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768805601-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768807861-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768810151-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768812351-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768814671-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768820371-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768822731-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768825011-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768827681-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768829891-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768832221-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768834441-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768836811-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768839030-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768841390-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768843690-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768845870-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768848070-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768850410-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768852550-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768854820-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768860300-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768862730-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768865050-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768867200-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768869450-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768871740-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768874450-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768880920-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768883220-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768886160-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768888440-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768890820-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768893080-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768895260-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768897840-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768900120-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768902250-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768904480-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768906640-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768909580-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768911860-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768914080-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768916410-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768918730-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768921430-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768923710-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768925920-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768928200-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768930380-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768932560-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768935100-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768937340-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768939540-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768941820-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768944030-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768946230-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768948490-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768950700-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768953070-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768955380-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768957640-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768960660-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768962840-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768965030-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768968050-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768970190-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768972430-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768974690-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768976910-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768979100-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768981230-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768983440-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768989550-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768991790-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768994050-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768996330-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.768998580-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769000780-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769003060-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769005320-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769007580-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769009760-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769012190-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769014320-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769017140-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769019279-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769021459-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769023739-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769026039-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769028339-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769030869-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769033159-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769035439-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769037649-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769039909-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769042109-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769044369-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769046589-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769048819-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769051049-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769053249-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769055439-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769057649-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769059849-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769062039-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769064219-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769066409-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769072199-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769074549-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769076709-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769078929-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769081159-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769083309-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769085559-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769087789-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769090049-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769096439-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769098609-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769100829-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769103039-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769105239-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769107519-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769109739-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769111939-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769114129-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769116349-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769118549-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769120729-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769122919-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769126159-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769128279-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769130429-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769132539-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769134709-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769136939-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769139169-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769141489-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769143819-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769146099-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769148379-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769150589-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769152789-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769154989-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769157179-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769159409-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769161659-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769163889-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769166129-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769168319-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769171019-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769173249-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769175459-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769177829-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769180049-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769182269-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769184579-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769186729-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769188939-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769191189-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769197979-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769200228-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769202478-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769204708-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769206928-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769209068-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769211248-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769213478-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769215658-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769217978-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769220208-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769222528-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769224828-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769227118-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769229308-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769231488-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769233678-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769235898-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769238078-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769240258-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769242398-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769244548-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769246778-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769248988-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769251238-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769253478-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769255788-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769258078-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769260608-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769262798-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769264988-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769267168-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769269368-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769271568-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769276138-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769278408-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769280668-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769282858-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769285048-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769287238-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769289438-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769291628-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769293898-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769296228-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769298358-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769304428-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769306708-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769308818-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769310988-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769313218-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769315428-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769317678-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769319898-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769322078-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769324338-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769326518-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769328758-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769330978-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769333158-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769335338-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769339608-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769341858-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769344148-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769346378-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769348638-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769350818-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769353078-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769355188-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769357378-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769359628-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769361848-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769364198-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769366478-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769368708-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769370918-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769373118-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769375288-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769377468-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769379647-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769381857-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769384067-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769386267-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769388467-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769390657-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769392857-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769395057-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769397247-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769399437-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769401617-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769403837-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769410597-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769412757-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769414907-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769417177-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769419287-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769421447-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769423657-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769425897-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769428097-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769430217-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769432377-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769434617-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769436757-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769439007-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769441257-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769443537-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769445747-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769447907-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769450067-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769452237-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769454397-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769456597-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769458697-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769460897-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769463027-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769465167-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769467447-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769469647-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769471857-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769474927-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769479897-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769482197-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769484467-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769494167-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769498077-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769500337-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769502597-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769506077-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769508397-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769510617-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769512857-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769515147-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769517407-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769519717-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769525857-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769528167-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769530427-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769532627-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769534757-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769537457-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769539767-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769541897-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769544077-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769547177-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769549487-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769551707-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769553817-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769556727-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769559027-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769561246-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769563516-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769565766-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769568746-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769571066-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769573266-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769575496-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769577696-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769580336-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769582576-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769584696-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769586906-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769589076-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769591216-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769593446-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769595676-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769597966-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769600236-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769602516-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769604796-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769607066-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769609296-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769611526-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769613706-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769615916-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769618116-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769621046-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769623306-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769625496-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769631716-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769633946-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769636146-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769638326-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769640496-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769642686-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769644976-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769647116-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769649266-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769651456-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769653666-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769655866-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769658036-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769660266-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769663286-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769665866-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769668076-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769670346-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769672586-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769677296-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769679606-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769681906-05:00 ============================== 10 errors in 0.82s ============================== [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769684156-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769687436-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769691806-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769694036-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769697036-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769699136-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769701346-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769703766-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769705976-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769708196-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769710456-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769712636-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769714826-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769721506-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769723716-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769725936-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769728106-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769730296-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769732436-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769734646-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769736746-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769738916-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769741185-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769743865-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769746295-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769748775-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769751015-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769753215-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769755505-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769757805-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769760025-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769762265-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769764485-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769766695-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769768905-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769771115-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769773345-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769775575-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769777795-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769780035-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769782215-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769784405-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769786605-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769788895-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769791025-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769795205-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769797475-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769799735-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769801955-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769804095-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769806285-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769808575-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769810735-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769812935-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769819165-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769821465-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769823625-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769825915-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769828085-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769830255-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769832415-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769834665-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769836785-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769839045-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769841175-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769843365-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769847725-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769850075-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769853715-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769856005-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769858375-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769860975-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769863275-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769865485-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769867685-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769869945-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769872145-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769874455-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769876695-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769878915-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769881305-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769883535-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769885735-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769887915-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769890095-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769892275-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769894505-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769896835-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769898965-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769901235-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769903505-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769905705-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769907905-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769910005-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769912195-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769914395-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769922294-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769924524-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769926674-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769928854-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769931054-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769933234-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769935464-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769937674-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769939834-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769942094-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769944224-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769946384-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769948504-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769950684-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769952894-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769955104-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769957414-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769959694-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769962034-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769964204-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769966404-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769968614-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769970944-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769973184-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769975454-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769977774-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769979974-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769982254-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769984514-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769987534-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769989844-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769992024-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769994204-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769996394-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.769998644-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770000874-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770003004-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770005634-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770007914-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770010134-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770015814-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770017974-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770020144-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770037324-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770049354-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770053454-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770063784-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770067874-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770072014-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770075554-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770079224-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770082524-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770085764-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770089214-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770092344-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770095904-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770099174-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770102603-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770106783-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770110163-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770113803-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770117233-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770120553-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770123983-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770127383-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770131883-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770135103-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770138413-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770141773-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770145233-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770148343-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770151653-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770154973-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770158013-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770160893-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770163823-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770166873-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770170263-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770173623-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770177073-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770180123-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770184693-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770196913-05:00 def daily_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770200163-05:00 > return _run("daily") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770203453-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770206443-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770209603-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770213023-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770216453-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770219923-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770223363-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770226613-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770229693-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770232893-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770235933-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770239353-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770244903-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770249073-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770253023-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770257203-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770261213-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770265853-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770270213-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770274443-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770278873-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770283322-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770287622-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770291872-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770296092-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770300342-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770304412-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770308582-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770312812-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770317182-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770321182-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770325742-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770330142-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770334162-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770338422-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770342672-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770346622-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770350702-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770358712-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770370372-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770382612-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770387542-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770391782-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770395882-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770399942-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770403662-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770407832-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770412762-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770416882-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770421082-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770425302-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770429722-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770433922-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770438112-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770442252-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770446222-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770450372-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770454472-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770458522-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770462902-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770467001-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770471341-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770475981-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770480221-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770484411-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770496031-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770507031-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770512061-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770516331-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770520701-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770524851-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770530001-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770533981-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770538531-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770542631-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770546881-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770551061-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770555051-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770559371-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770563731-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770567861-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770572031-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770585711-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770589981-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770593671-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770600541-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770604491-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770608361-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770612721-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770616561-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770620631-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770624871-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770630901-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770635481-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770640051-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770644021-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770647960-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770651920-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770655830-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770660170-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770664710-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770669230-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770673020-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770676840-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770680950-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770685120-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770689630-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770693950-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770698130-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770703780-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770708360-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770720880-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770725770-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770730230-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770734780-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770739180-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770743640-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770748040-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770752450-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770756940-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770760030-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770763840-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770766760-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770776080-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770779080-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770781860-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770784730-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770788020-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770790680-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770794530-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770797320-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770800150-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770802970-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770805620-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770808480-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770811460-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770814310-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770817940-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770820760-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770823500-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770827069-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770829819-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770833409-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770836669-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770840759-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770843739-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770846409-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770849729-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770852399-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770855379-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770858619-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770861399-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770864809-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770868489-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770871339-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770874239-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770877149-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770879909-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770882769-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770885509-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770888319-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770891139-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770893999-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770896829-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770905119-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770908179-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770911469-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770914369-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770917409-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770920329-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770923629-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770926639-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770929399-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770932429-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770935389-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770938939-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770941689-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770944329-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770947179-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770950679-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770953519-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770956419-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770959369-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770962129-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770967099-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770969939-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770972719-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770975559-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770978489-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770981299-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770984409-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770987359-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770990019-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770993639-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770996509-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.770999319-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771002769-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771005899-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771009928-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771014338-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771018458-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771022118-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771026188-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771029958-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771033908-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771045158-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771049078-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771052748-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771057778-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771061428-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771065198-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771068888-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771072338-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771076078-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771079708-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771083478-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771086738-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771091018-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771094698-05:00 def weekly_report(): [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771098268-05:00 > return _run("weekly") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771101858-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771105258-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771108638-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771112388-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771116198-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771120568-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771124308-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771129078-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771133068-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771136828-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771140478-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771144108-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771147748-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771151558-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771154778-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771158458-05:00 store_id = 'Fastime' [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771161768-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771165348-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771169238-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771172758-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771176428-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771181608-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771184998-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771189007-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771192567-05:00 """ [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771196067-05:00 base = _require_base() [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771206297-05:00 try: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771210117-05:00 import requests [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771213807-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771217317-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771221517-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771225147-05:00 raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771229087-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771232227-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771235487-05:00 if r.status_code == 404: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771238397-05:00 return None [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771241327-05:00 if r.status_code != 200: [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771244227-05:00 > raise ManageApiError( [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771247107-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771250167-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771252817-05:00 [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771260797-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.771263857-05:00 ----- end live Job logs ----- [pod/analytics-report-live-2j7fk-live-build-pod/step-run-live] 2026-07-14T20:48:03.804078825-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-2j7fk-live-build-pod/prepare] 2026-07-14T20:47:21.398295619-05:00 2026/07/15 01:47:21 Entrypoint initialization [pod/analytics-report-live-2j7fk-live-build-pod/place-scripts] 2026-07-14T20:47:22.167534492-05:00 2026/07/15 01:47:22 Decoded script /tekton/scripts/script-0-j27c9 [pod/analytics-report-live-2j7fk-live-build-pod/place-scripts] 2026-07-14T20:47:22.187239023-05:00 2026/07/15 01:47:22 Decoded script /tekton/scripts/script-2-6nfz8 [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.457870569-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458596285-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458605725-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458611635-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458615295-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458618465-05:00 COPY . /prsrc [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458622305-05:00 WORKDIR /prsrc [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458625425-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458628375-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458631625-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-2j7fk-live-build-pod/step-prepare-dockerfile] 2026-07-14T20:47:27.458635685-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-2j7fk-notify-on-failure-pod.log ===== [pod/analytics-report-live-2j7fk-notify-on-failure-pod/place-scripts] 2026-07-14T20:48:07.242745078-05:00 2026/07/15 01:48:07 Decoded script /tekton/scripts/script-0-msjhh [pod/analytics-report-live-2j7fk-notify-on-failure-pod/prepare] 2026-07-14T20:48:06.471408423-05:00 2026/07/15 01:48:06 Entrypoint initialization ===== analytics-report-live-2j7fk-post-check-live-pod.log ===== [pod/analytics-report-live-2j7fk-post-check-live-pod/place-scripts] 2026-07-14T20:48:07.237112959-05:00 2026/07/15 01:48:07 Decoded script /tekton/scripts/script-0-62z8t [pod/analytics-report-live-2j7fk-post-check-live-pod/prepare] 2026-07-14T20:48:06.769126193-05:00 2026/07/15 01:48:06 Entrypoint initialization ===== analytics-report-live-2j7fk-post-status-live-pod.log ===== [pod/analytics-report-live-2j7fk-post-status-live-pod/prepare] 2026-07-14T20:48:06.160230508-05:00 2026/07/15 01:48:06 Entrypoint initialization [pod/analytics-report-live-2j7fk-post-status-live-pod/place-scripts] 2026-07-14T20:48:07.248002879-05:00 2026/07/15 01:48:07 Decoded script /tekton/scripts/script-0-xcgv2 ===== analytics-report-live-2j7fk-reclaim-workspace-pod.log ===== [pod/analytics-report-live-2j7fk-reclaim-workspace-pod/prepare] 2026-07-14T20:48:07.310215224-05:00 2026/07/15 01:48:07 Entrypoint initialization [pod/analytics-report-live-2j7fk-reclaim-workspace-pod/place-scripts] 2026-07-14T20:48:08.281718229-05:00 2026/07/15 01:48:08 Decoded script /tekton/scripts/script-0-xsdlc