===== analytics-report-live-b5sh6-archive-logs-pod.log ===== [pod/analytics-report-live-b5sh6-archive-logs-pod/prepare] 2026-07-17T23:03:29.339036195-05:00 2026/07/18 04:03:29 Entrypoint initialization [pod/analytics-report-live-b5sh6-archive-logs-pod/place-scripts] 2026-07-17T23:03:30.392673960-05:00 2026/07/18 04:03:30 Decoded script /tekton/scripts/script-0-r8jxm [pod/analytics-report-live-b5sh6-archive-logs-pod/place-scripts] 2026-07-17T23:03:30.414575629-05:00 2026/07/18 04:03:30 Decoded script /tekton/scripts/script-1-klsw7 [pod/analytics-report-live-b5sh6-archive-logs-pod/step-collect-logs] 2026-07-17T23:03:34.801123836-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-b5sh6 ===== analytics-report-live-b5sh6-clone-pod.log ===== [pod/analytics-report-live-b5sh6-clone-pod/prepare] 2026-07-17T23:02:18.268595479-05:00 2026/07/18 04:02:18 Entrypoint initialization [pod/analytics-report-live-b5sh6-clone-pod/place-scripts] 2026-07-17T23:02:18.677860281-05:00 2026/07/18 04:02:18 Decoded script /tekton/scripts/script-0-z76c2 [pod/analytics-report-live-b5sh6-clone-pod/step-clone] 2026-07-17T23:02:24.579964557-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-b5sh6-clone-pod/step-clone] 2026-07-17T23:02:24.580002767-05:00 * branch 37008db108114591aaf90b3b221f2a9b0563f1cb -> FETCH_HEAD [pod/analytics-report-live-b5sh6-clone-pod/step-clone] 2026-07-17T23:02:24.640954576-05:00 Cloned 37008db108114591aaf90b3b221f2a9b0563f1cb ===== analytics-report-live-b5sh6-live-build-pod.log ===== [pod/analytics-report-live-b5sh6-live-build-pod/prepare] 2026-07-17T23:02:31.800280414-05:00 2026/07/18 04:02:31 Entrypoint initialization [pod/analytics-report-live-b5sh6-live-build-pod/place-scripts] 2026-07-17T23:02:32.198543098-05:00 2026/07/18 04:02:32 Decoded script /tekton/scripts/script-0-8mwht [pod/analytics-report-live-b5sh6-live-build-pod/place-scripts] 2026-07-17T23:02:32.220295719-05:00 2026/07/18 04:02:32 Decoded script /tekton/scripts/script-2-j7dlw [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.739397405-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740209331-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740224621-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740228701-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740231921-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740234971-05:00 COPY . /prsrc [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740238251-05:00 WORKDIR /prsrc [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740241311-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740244321-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740247781-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-b5sh6-live-build-pod/step-prepare-dockerfile] 2026-07-17T23:02:37.740252081-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.922818726-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.922850156-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.962042213-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.962065393-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.968268909-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.968287089-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.968291799-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.968305309-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.968308999-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.968462318-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:37.968788306-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:38.020425085-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:134f9606450bb8e89459d80829c496a862015404902f6e9a98a8ea081da72c65... [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:38.127962789-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:38.127987579-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:47.852997888-05:00 INFO[0009] COPY . /prsrc [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:47.991141623-05:00 INFO[0010] Taking snapshot of files... [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:48.174009824-05:00 INFO[0010] WORKDIR /prsrc [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:48.174032204-05:00 INFO[0010] Cmd: workdir [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:48.174036694-05:00 INFO[0010] Changed working directory to /prsrc [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:48.174402902-05:00 INFO[0010] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:48.174417482-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:48.174424002-05:00 INFO[0010] Initializing snapshotter ... [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:48.174432282-05:00 INFO[0010] Taking snapshot of full filesystem... [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:54.331297154-05:00 INFO[0016] Cmd: /bin/sh [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:54.331321884-05:00 INFO[0016] 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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:54.331336824-05:00 INFO[0016] 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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:54.733059796-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:54.735485183-05:00 Installing build dependencies: started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.019022995-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.020112699-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.199261628-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.200693310-05:00 Getting requirements to build editable: started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.387896935-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.389127148-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.612808653-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.661182038-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.662261672-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.949161912-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.950058417-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1979 sha256=630cb56d9ba15f937486ac101ac5ba01812d4551da24c6e2e08af33fc067884a [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.950275336-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-jc52pfro/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.953695817-05:00 Successfully built storeminder [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.953962405-05:00 Installing collected packages: storeminder [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.954184354-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:57.996070125-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:58.002438640-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:58.004423389-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:58.070569047-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:58.070786915-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:58.226552692-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:58.226586862-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:58.226595102-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:58.802900526-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:02:58.805540781-05:00 Installing build dependencies: started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.201187558-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.202082583-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.333972080-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.335216583-05:00 Getting requirements to build editable: started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.529818817-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.530950520-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.719182319-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.797297811-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.798424454-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.799366009-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.800201055-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.801130380-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (0.117.0) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.802491032-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.804170453-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.805038888-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:01.966434964-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.025704999-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.040962365-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.041916930-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.042938834-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.043975498-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.044839784-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.047355990-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.048004196-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.048856392-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.053153938-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.51 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.054254952-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.055275347-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.058490089-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.124074319-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.169882998-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.170978182-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.208095459-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.222146142-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.225640333-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.270244758-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.291760060-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.295639719-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.310143609-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.311911020-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.313527211-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.314910873-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.379270760-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.388655139-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.425878135-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.427457326-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.429638614-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.446475482-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.523502340-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.575741143-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 7.9 MB/s eta 0:00:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.597210355-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.618632088-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.624936143-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.791827519-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.792469385-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:02.793719638-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:03.039149253-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:03.040232237-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1979 sha256=c3ffa8c6ef844f8ececd461865c82482a725fba5b1c63fb6fff87e927e70f26f [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:03.040510335-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-b3syh89b/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:03.043462459-05:00 Successfully built storeminder [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:04.305274099-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:04.598803789-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:04.663180886-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:04.665828612-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:04.916709735-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:05.173883985-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:05.174106833-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-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:05.375814117-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:05.375839647-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:05.375846227-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:05.498162956-05:00 INFO[0027] Taking snapshot of full filesystem... [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:07.882043973-05:00 INFO[0029] Pushing layer registry.storeminder.ai/images/cache:134f9606450bb8e89459d80829c496a862015404902f6e9a98a8ea081da72c65 to cache now [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:07.882250462-05:00 INFO[0029] Pushing image to registry.storeminder.ai/images/cache:134f9606450bb8e89459d80829c496a862015404902f6e9a98a8ea081da72c65 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:07.995720209-05:00 INFO[0030] Pushed registry.storeminder.ai/images/cache@sha256:e27815b71b3b77e2a245f27a0c74363983bed559926e87c5f2b780b6136bf298 [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:07.996597844-05:00 INFO[0030] Pushing image to registry.storeminder.ai/images/storeminder-report-live:37008db108114591aaf90b3b221f2a9b0563f1cb [pod/analytics-report-live-b5sh6-live-build-pod/step-build-pr-image] 2026-07-17T23:03:08.164469662-05:00 INFO[0030] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:642255dba23522e98a04bbd10f2dfdcf332d1239cabde2d99e31d470d53ac326 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:09.118173416-05:00 /tekton/scripts/script-2-j7dlw: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:09.239419100-05:00 job.batch/report-live-37008db created [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:24.820089117-05:00 ----- live Job logs (report-live-37008db) ----- [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120329323-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120433142-05:00 ============================= test session starts ============================== [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120439732-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120443692-05:00 cachedir: .pytest_cache [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120447822-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120450902-05:00 configfile: pyproject.toml [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120453982-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120457412-05:00 collecting ... collected 10 items [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120460412-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120463582-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120468122-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120471412-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120474532-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120477622-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120480682-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120484572-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120487682-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120490702-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120493832-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120496822-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120500172-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120503182-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120506142-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120509262-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120512362-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120515372-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120518382-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120521362-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120524402-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120527462-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120531682-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120534711-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120537731-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120540741-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120543841-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120546921-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120549941-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120561551-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120563721-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120565811-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120567851-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120569861-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120571811-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120573921-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120576001-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120579071-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120581401-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120583531-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120585631-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120587681-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120589841-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120591981-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120594051-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120596121-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120598181-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120600231-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120602341-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120604371-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120606421-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120608531-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120610581-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120612631-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120614681-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120616761-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120618791-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120620991-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120622961-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120625101-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120627261-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120629251-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120631291-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120633321-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120635371-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120637431-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120639481-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120641631-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120643771-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120645831-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120648311-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120655491-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120658861-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120661901-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120669721-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120671851-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120673911-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120676011-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120678091-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120680091-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120682121-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120684101-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120686191-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120688281-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120690431-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120692541-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120694701-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120696771-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120698881-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120700951-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120703081-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120705131-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120707211-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120709321-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120711401-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120713511-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120715570-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120717650-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120719760-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120721820-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120723890-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120726010-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120728040-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120730090-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120732240-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120734220-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120736340-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120738410-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120740400-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120742430-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120744470-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120746550-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120750070-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120752090-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120754180-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120756250-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120758340-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120760400-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120762510-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120768240-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120770340-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120772430-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120774520-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120776560-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120778590-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120780620-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120782610-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120784720-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120786710-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120788720-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120790820-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120792900-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120794960-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120797020-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120799190-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120801220-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120803260-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120806370-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120808510-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120810650-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120812720-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120814820-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120816880-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120818930-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120821100-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120823190-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120825320-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120827400-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120829460-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120831500-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120833660-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120835800-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120837770-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120839780-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120841910-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120843880-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120845930-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120851220-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120855400-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120858740-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120860830-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120862940-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120865100-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120867180-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120873220-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120875500-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120877540-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120879610-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120881660-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120883750-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120885860-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120887920-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120890000-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120892110-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120894310-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120896259-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120898299-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120900509-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120902589-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120904779-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120906849-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120908999-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120911119-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120913189-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120915229-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120917349-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120919369-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120921419-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120923539-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120925579-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120927629-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120929689-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120931789-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120933949-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120935979-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120938069-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120940109-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120942149-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120944319-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120946359-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120948389-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120950499-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120952479-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120954659-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120956709-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120958839-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120960889-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120962849-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120964899-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120970709-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120972849-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120974899-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120976939-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120978989-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120981039-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120983129-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120985149-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120987289-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120989329-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120991469-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120993439-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120995439-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120997419-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.120999419-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121001679-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121003819-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121005909-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121008029-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121010119-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121012239-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121014309-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121016349-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121018479-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121020709-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121022789-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121024869-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121026939-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121028989-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121031049-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121033099-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121035139-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121037259-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121039349-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121041379-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121046589-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121049779-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121052669-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121055529-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121057689-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121059679-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121061709-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121063789-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121065989-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121072479-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121074499-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121076619-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121078708-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121080748-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121082788-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121084858-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121086898-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121088958-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121091078-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121093098-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121095188-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121097218-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121099318-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121101268-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121103398-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121105368-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121107368-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121109478-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121111578-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121113748-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121115808-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121117858-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121119908-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121121948-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121123978-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121126008-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121128188-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121130308-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121132358-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121134408-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121136508-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121138548-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121140618-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121143528-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121145628-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121147708-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121149888-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121151918-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121154058-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121156028-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121159068-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121161168-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121163258-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121169088-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121171198-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121173238-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121176578-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121178588-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121180618-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121182708-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121184898-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121186988-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121189028-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121191098-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121193148-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121195158-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121197198-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121199308-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121201418-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121203518-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121205488-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121207518-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121209528-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121211548-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121213578-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121215638-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121217828-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121219908-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121222098-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121224258-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121226318-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121228348-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121230378-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121232418-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121234538-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121236678-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121241648-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121244808-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121247848-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121250458-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121252578-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121254688-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121256788-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121258877-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121260987-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121263037-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121265007-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121271477-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121273637-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121275677-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121277717-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121279867-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121281917-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121284067-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121286027-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121288037-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121290097-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121292207-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121294357-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121296427-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121298467-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121300497-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121302557-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121304647-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121306697-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121308837-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121311097-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121313067-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121315067-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121317027-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121319027-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121321117-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121323187-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121325347-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121327407-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121329477-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121331597-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121333627-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121335677-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121347277-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121352337-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121355217-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121357307-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121359377-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121361447-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121363507-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121365537-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121367597-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121369657-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121371917-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121374077-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121378177-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121384347-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121386437-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121388497-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121390627-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121392607-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121394647-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121396727-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121398767-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121400817-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121402787-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121404797-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121406857-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121408997-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121411097-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121413147-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121416947-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121419037-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121421087-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121423197-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121425237-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121427257-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121429367-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121431327-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121433357-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121435337-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121437337-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121439416-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121441466-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121443666-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121445916-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121451636-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121454686-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121457676-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121460846-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121462916-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121464966-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121467066-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121469146-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121471226-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121473266-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121475306-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121477346-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121479406-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121481456-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121483646-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121490106-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121492436-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121494556-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121496566-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121498646-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121500686-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121502656-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121504786-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121506856-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121508986-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121511036-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121512986-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121514996-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121517106-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121519216-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121521356-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121523476-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121525586-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121527646-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121529666-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121531746-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121533766-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121535796-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121537946-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121539906-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121541936-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121543916-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121545926-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121547986-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121550046-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121552186-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121554746-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121556816-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121558876-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121560936-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121562966-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121565016-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121567146-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121569686-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121571956-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121574136-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121576226-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121578276-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121580346-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121585776-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121587856-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121589946-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121592046-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121594096-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121596226-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121598216-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121600226-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121602266-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121604436-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121606476-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121609326-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121611376-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121613466-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121615566-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121617626-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121619655-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121621695-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121629335-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121632735-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121635665-05:00 ============================== 10 errors in 0.93s ============================== [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121637775-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121640995-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121644495-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121646585-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121648645-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121650685-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121652745-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121654815-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121656925-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121658995-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121661925-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121667355-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121670895-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121680495-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121682695-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121684755-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121687675-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121689735-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121691705-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121693785-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121695765-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121697925-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121700055-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121702145-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121704295-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121706355-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121708435-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121710585-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121712655-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121714765-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121716865-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121718935-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121721015-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121723145-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121725185-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121727225-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121730205-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121732345-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121734855-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121736935-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121739005-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121741025-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121743165-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121745855-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121747825-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121750245-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121752315-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121754365-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121756405-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121758415-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121760525-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121762625-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121764655-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121766755-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121772465-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121774575-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121776655-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121778775-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121780895-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121783065-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121785125-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121787275-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121789295-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121791335-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121793325-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121795505-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121801264-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121803394-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121805594-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121808074-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121810164-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121812224-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121814304-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121816444-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121818554-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121820644-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121822754-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121824854-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121827864-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121829944-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121832154-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121834194-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121836234-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121838294-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121840394-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121842444-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121844494-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121847204-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121849184-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121851344-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121853494-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121855544-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121857674-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121859674-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121861694-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121863814-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121871634-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121873844-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121875904-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121877954-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121880074-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121882104-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121884204-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121886234-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121888334-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121890444-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121892434-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121894434-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121896474-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121898484-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121900574-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121902654-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121904804-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121906874-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121909004-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121911694-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121913834-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121915904-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121917964-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121920094-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121922164-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121924244-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121926424-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121928494-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121930604-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121932644-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121934674-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121936724-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121938764-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121940864-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121942904-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121945054-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121947104-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121949544-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121951614-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121953654-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121959444-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121961484-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121963604-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121980823-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.121997633-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122001263-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122010793-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122013583-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122016973-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122019543-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122022303-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122024863-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122027403-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122030013-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122032513-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122035393-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122037973-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122040543-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122043483-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122046143-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122048773-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122051903-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122054723-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122057343-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122059953-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122063603-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122066203-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122068763-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122071353-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122073963-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122076513-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122079073-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122081633-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122084173-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122086733-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122089283-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122091803-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122094323-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122096863-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122099743-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122102193-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122105373-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122119553-05:00 def daily_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122122253-05:00 > return _run("daily") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122124793-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122127263-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122129773-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122132333-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122134883-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122137423-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122140033-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122142573-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122145123-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122147633-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122150163-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122152873-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122155503-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122158113-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122160633-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122163272-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122165732-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122168252-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122170792-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122173362-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122175962-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122178762-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122181412-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122183962-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122186812-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122189372-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122191992-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122194562-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122197142-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122199682-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122202262-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122204852-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122207412-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122209972-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122212502-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122215052-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122217582-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122220102-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122224092-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122230222-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122238702-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122241862-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122245282-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122247902-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122250512-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122253042-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122255602-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122258202-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122260872-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122263452-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122266072-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122268642-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122271162-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122273782-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122276322-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122278842-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122281392-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122283942-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122286402-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122288922-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122291392-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122293992-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122296602-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122299202-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122301802-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122304442-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122307042-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122309642-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122312252-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122314902-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122317502-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122320072-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122322672-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122325952-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122328612-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122331182-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122333822-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122336502-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122356981-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122359651-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122362231-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122364771-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122372191-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122374831-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122377291-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122379931-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122382561-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122385101-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122387661-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122390121-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122392681-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122395291-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122397891-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122400531-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122403101-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122405631-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122408231-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122410911-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122413541-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122416081-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122418591-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122421221-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122423681-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122426221-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122428691-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122431211-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122433751-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122436291-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122438881-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122441501-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122444141-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122450141-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122452851-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122455421-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122457991-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122460551-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122463151-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122465721-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122468291-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122470911-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122473471-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122475991-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122478531-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122486581-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122489231-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122491801-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122494411-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122497011-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122499481-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122502101-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122504751-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122507331-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122509951-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122512411-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122514931-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122517501-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122520031-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122522651-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122525250-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122527850-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122530460-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122533030-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122535600-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122538170-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122540710-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122543360-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122545820-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122548390-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122550900-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122553600-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122556710-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122559300-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122562120-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122564750-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122567320-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122569900-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122572500-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122575060-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122577640-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122580190-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122582770-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122585300-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122587870-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122590440-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122597490-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122600070-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122602600-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122605150-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122607670-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122610190-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122612750-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122615530-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122618000-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122620660-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122623220-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122625900-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122628450-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122630910-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122633450-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122636080-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122638700-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122641410-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122644390-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122646920-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122652370-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122654980-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122657550-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122660280-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122662800-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122665340-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122667790-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122670320-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122672790-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122675310-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122678570-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122681220-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122683930-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122686550-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122689230-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122691780-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122694470-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122697130-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122699730-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122702330-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122704959-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122707549-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122715969-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122718629-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122721309-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122723889-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122726539-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122729089-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122731619-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122734159-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122736709-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122739409-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122741879-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122744509-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122747089-05:00 def weekly_report(): [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122749649-05:00 > return _run("weekly") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122752229-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122754659-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122757189-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122760019-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122762599-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122765219-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122767759-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122770329-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122772859-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122775379-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122777949-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122780489-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122782989-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122785749-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122788199-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122790749-05:00 store_id = 'Fastime' [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122793179-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122796749-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122799309-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122801899-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122804459-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122807049-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122809589-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122812179-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122814749-05:00 """ [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122817289-05:00 base = _require_base() [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122825039-05:00 try: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122827619-05:00 import requests [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122830189-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122832759-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122835329-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122837919-05:00 raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122840489-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122843069-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122846559-05:00 if r.status_code == 404: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122849159-05:00 return None [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122851719-05:00 if r.status_code != 200: [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122854239-05:00 > raise ManageApiError( [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122856869-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122859749-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122862199-05:00 [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122872849-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.122875619-05:00 ----- end live Job logs ----- [pod/analytics-report-live-b5sh6-live-build-pod/step-run-live] 2026-07-17T23:03:25.157886525-05:00 ==> live build: status=Failed conclusion=failure ===== analytics-report-live-b5sh6-notify-on-failure-pod.log ===== [pod/analytics-report-live-b5sh6-notify-on-failure-pod/prepare] 2026-07-17T23:03:30.739796264-05:00 2026/07/18 04:03:30 Entrypoint initialization [pod/analytics-report-live-b5sh6-notify-on-failure-pod/place-scripts] 2026-07-17T23:03:31.653056183-05:00 2026/07/18 04:03:31 Decoded script /tekton/scripts/script-0-z25dh ===== analytics-report-live-b5sh6-post-check-live-pod.log ===== [pod/analytics-report-live-b5sh6-post-check-live-pod/place-scripts] 2026-07-17T23:03:31.609603173-05:00 2026/07/18 04:03:31 Decoded script /tekton/scripts/script-0-lt4mc [pod/analytics-report-live-b5sh6-post-check-live-pod/prepare] 2026-07-17T23:03:31.067108958-05:00 2026/07/18 04:03:31 Entrypoint initialization ===== analytics-report-live-b5sh6-post-status-live-pod.log ===== [pod/analytics-report-live-b5sh6-post-status-live-pod/prepare] 2026-07-17T23:03:29.395670063-05:00 2026/07/18 04:03:29 Entrypoint initialization [pod/analytics-report-live-b5sh6-post-status-live-pod/place-scripts] 2026-07-17T23:03:30.389782826-05:00 2026/07/18 04:03:30 Decoded script /tekton/scripts/script-0-75x8t [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:34.669798881-05:00 Posting commit status to GitHub [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:34.669835391-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:34.669838861-05:00 SHA: 37008db108114591aaf90b3b221f2a9b0563f1cb [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:34.669841341-05:00 State: failure (Failed) [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:34.669844601-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-37008db108114591aaf90b3b221f2a9b0563f1cb/analytics-report-live-b5sh6/logs.txt [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.280984894-05:00 { [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281009304-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/37008db108114591aaf90b3b221f2a9b0563f1cb", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281016774-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281022614-05:00 "id": 50685497895, [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281028554-05:00 "node_id": "SC_kwDOS9o4_c8AAAALzRdSJw", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281033944-05:00 "state": "failure", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281039834-05:00 "description": "Checks failed", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281045904-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-37008db108114591aaf90b3b221f2a9b0563f1cb/analytics-report-live-b5sh6/logs.txt", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281051074-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281056194-05:00 "created_at": "2026-07-18T04:03:34Z", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281063784-05:00 "updated_at": "2026-07-18T04:03:34Z", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281069044-05:00 "creator": { [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281074464-05:00 "login": "steveblackmon", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281079584-05:00 "id": 702924, [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281085204-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281090634-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281096114-05:00 "gravatar_id": "", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281101534-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281106534-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281111494-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281116734-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281121694-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281126404-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281131334-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281136574-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281142544-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281147843-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281152773-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281157963-05:00 "type": "User", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281163143-05:00 "user_view_type": "public", [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281168263-05:00 "site_admin": false [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281173633-05:00 } [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.281178623-05:00 } [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.284689394-05:00 [pod/analytics-report-live-b5sh6-post-status-live-pod/step-post-status] 2026-07-17T23:03:35.284708714-05:00 Status posted successfully ===== analytics-report-live-b5sh6-reclaim-workspace-pod.log ===== [pod/analytics-report-live-b5sh6-reclaim-workspace-pod/prepare] 2026-07-17T23:03:30.913880273-05:00 2026/07/18 04:03:30 Entrypoint initialization [pod/analytics-report-live-b5sh6-reclaim-workspace-pod/place-scripts] 2026-07-17T23:03:31.634486805-05:00 2026/07/18 04:03:31 Decoded script /tekton/scripts/script-0-xjhd7