===== analytics-report-live-lcbbz-archive-logs-pod.log ===== [pod/analytics-report-live-lcbbz-archive-logs-pod/step-collect-logs] 2026-07-15T14:01:57.498500815-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-lcbbz [pod/analytics-report-live-lcbbz-archive-logs-pod/prepare] 2026-07-15T14:01:51.305683001-05:00 2026/07/15 19:01:51 Entrypoint initialization [pod/analytics-report-live-lcbbz-archive-logs-pod/place-scripts] 2026-07-15T14:01:52.872635206-05:00 2026/07/15 19:01:52 Decoded script /tekton/scripts/script-0-5bp6d [pod/analytics-report-live-lcbbz-archive-logs-pod/place-scripts] 2026-07-15T14:01:52.892199504-05:00 2026/07/15 19:01:52 Decoded script /tekton/scripts/script-1-m5pjv ===== analytics-report-live-lcbbz-clone-pod.log ===== [pod/analytics-report-live-lcbbz-clone-pod/prepare] 2026-07-15T14:00:05.339276915-05:00 2026/07/15 19:00:05 Entrypoint initialization [pod/analytics-report-live-lcbbz-clone-pod/place-scripts] 2026-07-15T14:00:06.399103782-05:00 2026/07/15 19:00:06 Decoded script /tekton/scripts/script-0-2hqh7 [pod/analytics-report-live-lcbbz-clone-pod/step-clone] 2026-07-15T14:00:15.907429749-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-lcbbz-clone-pod/step-clone] 2026-07-15T14:00:15.907469849-05:00 * branch 89dfd0db7b0174e1a3fb32efb21626d1250395f9 -> FETCH_HEAD [pod/analytics-report-live-lcbbz-clone-pod/step-clone] 2026-07-15T14:00:15.957722234-05:00 Cloned 89dfd0db7b0174e1a3fb32efb21626d1250395f9 ===== analytics-report-live-lcbbz-live-build-pod.log ===== [pod/analytics-report-live-lcbbz-live-build-pod/prepare] 2026-07-15T14:00:26.707459766-05:00 2026/07/15 19:00:26 Entrypoint initialization [pod/analytics-report-live-lcbbz-live-build-pod/place-scripts] 2026-07-15T14:00:28.699269897-05:00 2026/07/15 19:00:28 Decoded script /tekton/scripts/script-0-vxbnq [pod/analytics-report-live-lcbbz-live-build-pod/place-scripts] 2026-07-15T14:00:28.724930671-05:00 2026/07/15 19:00:28 Decoded script /tekton/scripts/script-2-jkmlm [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.563937265-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564875110-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564897669-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564902629-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564906859-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564910829-05:00 COPY . /prsrc [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564914389-05:00 WORKDIR /prsrc [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564918119-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564920739-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564923429-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-lcbbz-live-build-pod/step-prepare-dockerfile] 2026-07-15T14:00:36.564928339-05:00 RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.850081806-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.850136326-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.889146234-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.889181883-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.897860394-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.897887634-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.897896384-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.897912074-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.897917644-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.898043403-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.898405581-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.939067139-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:944b48e8ee7af685ac54356b7223d9f633290fccab570f392d4c82c5f5eae581... [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.958608988-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:36.958645618-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:46.535388441-05:00 INFO[0009] COPY . /prsrc [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:46.632308239-05:00 INFO[0009] Taking snapshot of files... [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:46.780884563-05:00 INFO[0010] WORKDIR /prsrc [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:46.780961632-05:00 INFO[0010] Cmd: workdir [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:46.780967552-05:00 INFO[0010] Changed working directory to /prsrc [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:46.781156921-05:00 INFO[0010] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:46.781170831-05:00 INFO[0010] RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:46.781175211-05:00 INFO[0010] Initializing snapshotter ... [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:46.781179921-05:00 INFO[0010] Taking snapshot of full filesystem... [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:55.038228328-05:00 INFO[0018] Cmd: /bin/sh [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:55.038349217-05:00 INFO[0018] 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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:55.038366017-05:00 INFO[0018] 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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:55.435958809-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:55.438312866-05:00 Installing build dependencies: started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:57.902552869-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:57.903528983-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.040738670-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.042022203-05:00 Getting requirements to build editable: started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.265565978-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.266888300-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.439605205-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.500007820-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.501977989-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.688656964-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.689686338-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=ec153ca4375d1c750db1f3d4b29d07dab2bd8857fef738b94e972b69d2de9da0 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.689901967-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-puh5m03f/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.693378667-05:00 Successfully built storeminder [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.693664805-05:00 Installing collected packages: storeminder [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.693846824-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.739637223-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.746906222-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.749200629-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.834604441-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.834854570-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.987902807-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.996546867-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:58.996565057-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:59.678002579-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:00:59.680587744-05:00 Installing build dependencies: started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:01.745786159-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:01.746849833-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:01.885791310-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:01.887091893-05:00 Getting requirements to build editable: started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.063838084-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.065073287-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.235418465-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.309316143-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.310698035-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.312070297-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.313117981-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.314272765-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.316267953-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.318347711-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (1.43.48) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.319411285-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.504364850-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.567185201-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.579834069-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.581048572-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.581949887-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.582952671-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.583953785-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.586370292-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.586993588-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.587797094-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.591976090-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.48 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.43.48) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.592948454-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.593676490-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.596574383-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.648807525-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.695431819-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.696641842-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.738112076-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.757418695-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.760757866-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.823930656-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.843945011-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.847378292-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.856660989-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.858271690-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.859721461-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.861001764-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.921435859-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.931569801-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.959057684-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.960155948-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.961723719-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:02.974182798-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.037181589-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.195290256-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 2.5 MB/s eta 0:00:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.221974354-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.240369239-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.247154600-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.364942308-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.365526194-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.366796507-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.557976266-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.558710802-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=a7f95b7db0313ad0dc4bd74055341bc7886ead0eee6dbfc5f066d59095897d0c [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.558849161-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-ca2w6722/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:03.560936489-05:00 Successfully built storeminder [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:04.374026597-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:04.605242048-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:04.646654571-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:04.648362912-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:04.822995065-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:04.998623012-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:04.998869371-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-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:05.142672460-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:05.142705819-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:05.142712359-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:05.290535395-05:00 INFO[0028] Taking snapshot of full filesystem... [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:10.236304503-05:00 INFO[0033] Pushing layer registry.storeminder.ai/images/cache:944b48e8ee7af685ac54356b7223d9f633290fccab570f392d4c82c5f5eae581 to cache now [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:10.236711130-05:00 INFO[0033] Pushing image to registry.storeminder.ai/images/cache:944b48e8ee7af685ac54356b7223d9f633290fccab570f392d4c82c5f5eae581 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:10.395222925-05:00 INFO[0033] Pushed registry.storeminder.ai/images/cache@sha256:1c28a34095dbb5dc8d9e951ade9fa46e09850911ca941c0cf066f9d230cfc008 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:10.396159630-05:00 INFO[0033] Pushing image to registry.storeminder.ai/images/storeminder-report-live:89dfd0db7b0174e1a3fb32efb21626d1250395f9 [pod/analytics-report-live-lcbbz-live-build-pod/step-build-pr-image] 2026-07-15T14:01:10.598697933-05:00 INFO[0033] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:0667a8e86ded18877391de2db5a6191fd714c7a7e114d9947ea625aa2b7cbe63 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:11.139708303-05:00 /tekton/scripts/script-2-jkmlm: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:11.275370557-05:00 job.batch/report-live-89dfd0d created [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.576361345-05:00 ----- live Job logs (report-live-89dfd0d) ----- [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829741585-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829783725-05:00 ============================= test session starts ============================== [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829791395-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829798335-05:00 cachedir: .pytest_cache [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829805255-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829811845-05:00 configfile: pyproject.toml [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829817495-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829824415-05:00 collecting ... collected 10 items [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829830045-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829835975-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829841885-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829847694-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829853954-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829859904-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829865634-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829871374-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829877234-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829882834-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829888594-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829894284-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829900314-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829906314-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829913214-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829919144-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829925274-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829931494-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829937074-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829942474-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829948374-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829954364-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829960904-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829966844-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829972754-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829978834-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829984814-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829990764-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.829997124-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830020883-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830025143-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830029363-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830033533-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830037813-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830041773-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830045823-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830050013-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830053853-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830057813-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830061893-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830065793-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830069943-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830074183-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830080413-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830084573-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830088523-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830092673-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830096823-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830100723-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830104683-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830108923-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830112723-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830116783-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830120893-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830125173-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830128833-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830132763-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830137203-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830141103-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830148153-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830152473-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830156303-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830160173-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830164113-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830168133-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830172083-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830175523-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830179353-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830183843-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830187743-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.830191913-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832593689-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832609859-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832615659-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832629919-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832634888-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832639128-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832646878-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832651368-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832655458-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832660218-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832663928-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832668048-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832673658-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832677578-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832689748-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832694088-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832698108-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832702878-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832706768-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832711618-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832716478-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832720668-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832725028-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832729188-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832733158-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832741198-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832745558-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832749688-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832753718-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832757988-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832762298-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832766788-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832771178-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832776308-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832780148-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832784308-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832788578-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832792608-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832796768-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832800868-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832804998-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832809197-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832813077-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832817197-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832821997-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832826157-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832830427-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832834547-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832846417-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832850517-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832854707-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832858817-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832863297-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832867517-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832871657-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832875517-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832879887-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832884007-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832888227-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832892857-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832897067-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832901377-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832905487-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832910457-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832914327-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832918347-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832922247-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832926207-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832930357-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832934687-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832938857-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832943137-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832947407-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832951537-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832955727-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832959767-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832963987-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832968137-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832972177-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832976487-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832980657-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832984686-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832988766-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832993496-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.832997436-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833001586-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833008866-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833015976-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833020326-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833024226-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833028206-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833032436-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833036626-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833047356-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833051606-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833055756-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833059796-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833063886-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833067866-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833072016-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833076136-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833080306-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833084236-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833088536-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833092416-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833096406-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833100636-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833104826-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833108976-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833113316-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833117496-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833121606-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833125576-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833129576-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833133716-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833137926-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833142146-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833146426-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833150546-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833154546-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833158775-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833162925-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833166905-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833171175-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833175345-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833179445-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833183575-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833188035-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833192165-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833196135-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833200165-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833204085-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833208095-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833212195-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833216235-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833220415-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833224265-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833238585-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833242785-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833246725-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833251045-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833255225-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833259215-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833263695-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833267565-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833272185-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833276175-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833280385-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833284545-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833288845-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833292985-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833296895-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833300925-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833305145-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833309425-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833313895-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833318075-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833322095-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833326395-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833330815-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833334914-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833339164-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833344074-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833348314-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833353524-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833357484-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833361324-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833365234-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833369024-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833372814-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833377614-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833381864-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833386064-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833392374-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833396814-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833400724-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833405404-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833409824-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833413784-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833417924-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833422394-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833433234-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833437614-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833441644-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833445734-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833450904-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833455254-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833459454-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833463874-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833468064-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833472564-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833476694-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833480724-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833485004-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833497564-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833504534-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833508833-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833513303-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833517203-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833521273-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833525783-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833529783-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833534373-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833538853-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833543383-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833547733-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833552053-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833556303-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833560563-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833564633-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833568853-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833572943-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833577183-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833581293-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833585633-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833589843-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833594053-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833598133-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833602433-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833606673-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833610973-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833615913-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833619763-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833623633-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833627803-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833639403-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833643683-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833647773-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833651873-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833655943-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833659813-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833663883-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833667903-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833671963-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833678363-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833682562-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833686642-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833690832-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833694882-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833699282-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833703352-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833707462-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833712052-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833716022-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833719932-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833723872-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833727962-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833732322-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833736562-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833740662-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833745182-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833749442-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833753742-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833757922-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833762102-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833766532-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833770592-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833775292-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833779572-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833786092-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833790272-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833794512-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833798922-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833803242-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833807462-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833811842-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833816502-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833820952-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833825242-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833835772-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833842122-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833846382-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833850242-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833854462-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833858591-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833862961-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833867021-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833870921-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833875061-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833879461-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833883641-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833888121-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833892351-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833896371-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833900561-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833904611-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833908771-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833914381-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833918611-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833922901-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833927041-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833931321-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833935201-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833939361-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833943491-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833947881-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833952131-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833956461-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833960811-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833965231-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833969481-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833973921-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833978281-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833982451-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833986651-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833991101-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833995251-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.833999891-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834004151-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834008581-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834012971-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834017051-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834021081-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834026461-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834037590-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834041940-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834046020-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834051900-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834056170-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834059990-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834064160-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834068350-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834072390-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834076350-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834080150-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834084260-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834088280-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834092750-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834097160-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834101500-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834107280-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834113620-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834117980-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834123690-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834128050-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834132280-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834136660-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834140660-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834145260-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834149070-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834153210-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834157810-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834162240-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834166700-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834171160-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834177840-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834182480-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834187100-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834191180-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834195250-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834199590-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834203979-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834208369-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834212559-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834216529-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834221199-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834225829-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834229999-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834234299-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834245119-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834249389-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834253809-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834258429-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834262339-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834266609-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834270919-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834275119-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834279359-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834283709-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834287809-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834291809-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834295829-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834299939-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834304249-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834308499-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834312579-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834317099-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834322539-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834326719-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834330899-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834335189-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834339319-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834343589-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834347619-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834351799-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834355779-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834359439-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834363569-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834367639-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834371779-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834376259-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834380448-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834384878-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834389208-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834393368-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834397828-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834402408-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834406228-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834410078-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834414668-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834418988-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834422988-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834427168-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834439538-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834443788-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834447888-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834451998-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834456358-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834463248-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834467768-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834471638-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834475888-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834480278-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.834484498-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.838806913-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.838818063-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.838823043-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.838827383-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.838831653-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.838835653-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.838839823-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.838843953-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.839977366-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.839988896-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.839993346-05:00 ============================== 10 errors in 0.85s ============================== [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.839997916-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840003156-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840009576-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840015016-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840040206-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840044326-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840049666-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840054136-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840059186-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840063566-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840067776-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840073376-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840086626-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840136405-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840142475-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840147125-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840151665-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840155985-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840159955-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840164285-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840168335-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840172635-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840177025-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840181265-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840185835-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840190155-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840194225-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840198625-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840214885-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840219345-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840223535-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840227525-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840231675-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840235745-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840239825-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840243865-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840248385-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840252545-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840256795-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840261735-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840266095-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840270455-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840274615-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.840279075-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842519692-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842530982-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842536672-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842540962-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842545162-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842548962-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842553212-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842557442-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842561512-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842565732-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842599201-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842603721-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842607891-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842611931-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842617651-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842621871-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842625871-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842630181-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842634251-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842638281-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842642051-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842646051-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842655381-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842659601-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842673901-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842678391-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842683451-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842687611-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842691721-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842696431-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842700551-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842704581-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842708941-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842713021-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842717071-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842721151-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842725211-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842729441-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842733451-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842737661-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842751300-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842755650-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842759670-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842763840-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842767710-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842771910-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842776000-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842780160-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842784280-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842788270-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842792330-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842796470-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842808540-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842812870-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842827470-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842831730-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842835840-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842839890-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842844030-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842848080-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842852990-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842857060-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842860980-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842864970-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842868890-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842873860-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842878100-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842882240-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842886440-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842890510-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842904140-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842908480-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842912610-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842918390-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842922550-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842926629-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842930649-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842934789-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842938759-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842942969-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842947109-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842951269-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842955359-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842959469-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842963569-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842967579-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842981179-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842985519-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842989409-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842994039-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.842998149-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843002209-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843012969-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843016919-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843020939-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843028119-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843032449-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843036629-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843041069-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843045309-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843450926-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843457076-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843461306-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843465416-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843469616-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843473906-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843477726-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843481746-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.843485626-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844520480-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844525720-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844530150-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844534620-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844539000-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844543280-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844548240-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844552640-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844556970-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844561260-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844565540-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844569880-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844586350-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844591150-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844595470-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844600010-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844604570-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844608800-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844613340-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844618390-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844622720-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844627050-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844632170-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844636390-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.844641030-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845514745-05:00 def daily_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845524875-05:00 > return _run("daily") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845529365-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845533665-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845538995-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845543614-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845548114-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845552574-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845557114-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845562084-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845566704-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845571184-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845586974-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845591314-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845595744-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845600904-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845605144-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845609584-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845613814-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845618394-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845622894-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845627144-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845632094-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845636464-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845640964-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845645364-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845649784-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845664714-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845669134-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845673404-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845677794-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845682384-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845688124-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845692704-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845697124-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845701634-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845705934-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845710344-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845714573-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845820143-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845837083-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845842883-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.845847363-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848566467-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848579467-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848584277-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848588467-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848592357-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848596737-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848600977-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848616917-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848621447-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848626347-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848630667-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848637177-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848641807-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848646057-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848650247-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848654607-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848659667-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848664147-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848668927-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848673387-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848677907-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848693596-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848698236-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848702696-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848707136-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848711486-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848715776-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848720216-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848724596-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848729186-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848733406-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848737766-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848742106-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848746226-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848750426-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848755316-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848793366-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848800766-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848805556-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848810036-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848814676-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848820186-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848835296-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848839876-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848855606-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848860576-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848865346-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848869935-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848874195-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848878845-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848883625-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848887895-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848892705-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848896975-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848901245-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848905485-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848909595-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848913925-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848918055-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848933255-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848938185-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848942275-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848946455-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848950315-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848954435-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848958735-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848962895-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848967195-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848971445-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848976055-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848980665-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848985595-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.848990275-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849015855-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849021105-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849026025-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849030615-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849034735-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849039785-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849043985-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849048404-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849052714-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849065854-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849070694-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849075094-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849264113-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849271923-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849275993-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849280373-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849284723-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849289083-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849293323-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849297163-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849301303-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849305773-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849310143-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849315043-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849319883-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849324443-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849845040-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849858070-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849863010-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849867680-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849871940-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849876300-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849880530-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849885470-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849889690-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.849894180-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852533185-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852542685-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852547315-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852551694-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852555904-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852560344-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852564824-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852569154-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852573684-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852577914-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852582434-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852587424-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852602874-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852607524-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852621944-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852626684-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852631684-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852636494-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852641304-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852645914-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852650414-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852655434-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852659624-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852664274-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852668554-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852694694-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852699224-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852703334-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852707534-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852712064-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852716784-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852721134-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852725593-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852730073-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852734303-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852738783-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852743393-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852774583-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852779803-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852787183-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852791653-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852796103-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852800233-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852804853-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852809283-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852813643-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852817873-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852822173-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852826893-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852831133-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852847033-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852851403-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852855693-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852860163-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852864623-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852877163-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852881433-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852886083-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852890813-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852895323-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852899932-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852904752-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852909122-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852925472-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852929672-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852934402-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852938882-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852943592-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852948142-05:00 def weekly_report(): [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852952482-05:00 > return _run("weekly") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852957002-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852961122-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852965382-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852969662-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852974162-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852978422-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852982752-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.852987022-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853001882-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853006172-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853010692-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853015102-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853019232-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853023502-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853027552-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853032302-05:00 store_id = 'Fastime' [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853036582-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853041302-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853046102-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853050562-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853055312-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853059662-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853063962-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853517939-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853522459-05:00 """ [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853535929-05:00 base = _require_base() [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853540599-05:00 try: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853545039-05:00 import requests [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853549509-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853554139-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853558629-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853563239-05:00 raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853568009-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.853572789-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.856522432-05:00 if r.status_code == 404: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.856528422-05:00 return None [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.856533052-05:00 if r.status_code != 200: [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.856537482-05:00 > raise ManageApiError( [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.856542232-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.856547462-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.856552372-05:00 [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.856558232-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.856562721-05:00 ----- end live Job logs ----- [pod/analytics-report-live-lcbbz-live-build-pod/step-run-live] 2026-07-15T14:01:32.969756154-05:00 ==> live build: status=Failed conclusion=failure ===== analytics-report-live-lcbbz-notify-on-failure-pod.log ===== [pod/analytics-report-live-lcbbz-notify-on-failure-pod/prepare] 2026-07-15T14:01:46.993291621-05:00 2026/07/15 19:01:46 Entrypoint initialization [pod/analytics-report-live-lcbbz-notify-on-failure-pod/place-scripts] 2026-07-15T14:01:49.116864739-05:00 2026/07/15 19:01:49 Decoded script /tekton/scripts/script-0-2htg7 [pod/analytics-report-live-lcbbz-notify-on-failure-pod/step-slack-alert] 2026-07-15T14:01:57.519243956-05:00 slack-preview-token absent — skipping Slack alert (see the storeminder/slack Vault grant) ===== analytics-report-live-lcbbz-post-check-live-pod.log ===== [pod/analytics-report-live-lcbbz-post-check-live-pod/prepare] 2026-07-15T14:01:53.581579441-05:00 2026/07/15 19:01:53 Entrypoint initialization [pod/analytics-report-live-lcbbz-post-check-live-pod/place-scripts] 2026-07-15T14:01:54.054943756-05:00 2026/07/15 19:01:54 Decoded script /tekton/scripts/script-0-zml7f ===== analytics-report-live-lcbbz-post-status-live-pod.log ===== [pod/analytics-report-live-lcbbz-post-status-live-pod/prepare] 2026-07-15T14:01:53.230381535-05:00 2026/07/15 19:01:53 Entrypoint initialization [pod/analytics-report-live-lcbbz-post-status-live-pod/place-scripts] 2026-07-15T14:01:54.216072542-05:00 2026/07/15 19:01:54 Decoded script /tekton/scripts/script-0-nf5ns ===== analytics-report-live-lcbbz-reclaim-workspace-pod.log ===== Error from server (BadRequest): container "prepare" in pod "analytics-report-live-lcbbz-reclaim-workspace-pod" is waiting to start: PodInitializing