[pod/analytics-report-live-b54fp-live-build-pod/prepare] 2026-07-19T06:50:48.718602012-05:00 2026/07/19 11:50:48 Entrypoint initialization [pod/analytics-report-live-b54fp-live-build-pod/place-scripts] 2026-07-19T06:50:49.238175230-05:00 2026/07/19 11:50:49 Decoded script /tekton/scripts/script-0-f2mf9 [pod/analytics-report-live-b54fp-live-build-pod/place-scripts] 2026-07-19T06:50:49.259708938-05:00 2026/07/19 11:50:49 Decoded script /tekton/scripts/script-2-fnjpt [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.600984834-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601759802-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601774201-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601778491-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601782031-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601785231-05:00 COPY . /prsrc [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601788521-05:00 WORKDIR /prsrc [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601791721-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601795041-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601798201-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-b54fp-live-build-pod/step-prepare-dockerfile] 2026-07-19T06:50:54.601802211-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.801632435-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.801683595-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.843844603-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.843871863-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.853446506-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.853474486-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.853490146-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.853494406-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.853497996-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.853625376-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.853920655-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.897062729-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:86f28fa3421871fdefacd3690914b092b4a4aec4e0f0f2e601270f3a8bdfe881... [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.916261085-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:50:54.916277735-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:05.252729482-05:00 INFO[0010] COPY . /prsrc [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:05.438149144-05:00 INFO[0010] Taking snapshot of files... [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:05.687952447-05:00 INFO[0010] WORKDIR /prsrc [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:05.688055817-05:00 INFO[0010] Cmd: workdir [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:05.688063077-05:00 INFO[0010] Changed working directory to /prsrc [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:05.688353926-05:00 INFO[0010] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:05.688374416-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:05.688380126-05:00 INFO[0010] Initializing snapshotter ... [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:05.688384725-05:00 INFO[0010] Taking snapshot of full filesystem... [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:13.255129805-05:00 INFO[0018] Cmd: /bin/sh [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:13.255240615-05:00 INFO[0018] Args: [-c pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest)] [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:13.255258275-05:00 INFO[0018] Running: [/bin/sh -c pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest)] [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:13.611522336-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:13.613963876-05:00 Installing build dependencies: started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:15.795552762-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:15.796375628-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:15.928987430-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:15.930347745-05:00 Getting requirements to build editable: started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.096092137-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.097605732-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.303035439-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.350345234-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.351099231-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.576671119-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.577382796-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=cb01d2a973ee01ca494d0889b9dceb6b5f395a76073fa525372132db86118709 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.577597245-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-36mwlpve/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.580213535-05:00 Successfully built storeminder [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.580427394-05:00 Installing collected packages: storeminder [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.580530704-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.629180504-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.635652598-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.637579151-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.714002002-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.714393091-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.869562944-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.869589984-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:16.869597304-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:17.440685250-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:17.444810234-05:00 Installing build dependencies: started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:19.711066760-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:19.712321635-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:19.877621027-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:19.879039842-05:00 Getting requirements to build editable: started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.091620588-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.093023263-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.275965465-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.357926164-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.359447058-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.360413974-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.361320010-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.362357916-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.363494532-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.364937106-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.365673683-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.534965279-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.601463829-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.615750372-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.616627119-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.617569645-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.618482102-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.619240399-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.621596220-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.622139778-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.622884834-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.627754275-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.628921311-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.629935457-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.632573277-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.677128882-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.719862864-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.721447488-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.765971053-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.781090684-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.784198742-05:00 Requirement already satisfied: packaging>=22 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder==0.1.0) (25.0) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.832665352-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.848732279-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.852141005-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.863586950-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.864959805-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.866175050-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.867345806-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.961505746-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:20.969024697-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.000321624-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.001362160-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.002782374-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.013928211-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.077590351-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.132599385-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 7.5 MB/s eta 0:00:00 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.151030143-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.171878721-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.177640618-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.306757361-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.307442849-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.308590724-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.510572121-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.511408048-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=677f377cf12ca7ccf3aa3d4f53b708d88b306ae33340ea13af097c032a5b01ed [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.511617597-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-i9ffnu9t/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:21.514494956-05:00 Successfully built storeminder [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:22.448681197-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:22.713269178-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:22.759515636-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:22.761233699-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:22.960801025-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:23.150923608-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:23.151222127-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-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:23.276112466-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:23.276246195-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:23.276255025-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:23.411268474-05:00 INFO[0028] Taking snapshot of full filesystem... [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:25.630455761-05:00 INFO[0030] Pushing layer registry.storeminder.ai/images/cache:86f28fa3421871fdefacd3690914b092b4a4aec4e0f0f2e601270f3a8bdfe881 to cache now [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:25.630685630-05:00 INFO[0030] Pushing image to registry.storeminder.ai/images/cache:86f28fa3421871fdefacd3690914b092b4a4aec4e0f0f2e601270f3a8bdfe881 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:25.775164861-05:00 INFO[0031] Pushed registry.storeminder.ai/images/cache@sha256:5e604e7267e28c0bc17c1339c7fa9b7d2be0752e7401b7bca2682ef96991a413 [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:25.775742379-05:00 INFO[0031] Pushing image to registry.storeminder.ai/images/storeminder-report-live:e3c5d3b35cb67bc2b926f793001f03ff4ab9a65b [pod/analytics-report-live-b54fp-live-build-pod/step-build-pr-image] 2026-07-19T06:51:25.975264423-05:00 INFO[0031] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:58ca5887233f4468c3e295576f47d07a8e5bd03cb653f40e45ac4f6d0a251be5 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:26.137035006-05:00 /tekton/scripts/script-2-fnjpt: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:26.244657621-05:00 job.batch/report-live-e3c5d3b created [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.703031140-05:00 ----- live Job logs (report-live-e3c5d3b) ----- [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843186283-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843314783-05:00 ============================= test session starts ============================== [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843322733-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843329172-05:00 cachedir: .pytest_cache [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843335152-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843346802-05:00 configfile: pyproject.toml [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843354902-05:00 plugins: anyio-4.14.2, langsmith-0.10.6 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843360262-05:00 collecting ... collected 10 items [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843366182-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843371292-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843376582-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843384782-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843390562-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843397042-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843403002-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843408132-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843413782-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843419822-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843424762-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843430212-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843435272-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843441102-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843446522-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843451712-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843457342-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843462772-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843468282-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843473342-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843478912-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843484512-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843490862-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843496082-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843501092-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843506712-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843513392-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843518762-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843524302-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843547472-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843551272-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843555162-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843558812-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843562242-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843566142-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843569742-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843573892-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843577832-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843582462-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843586361-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843591171-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843594561-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843599181-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843603441-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843607071-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843610401-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843614361-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843618191-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843621771-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843625991-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843630131-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843637241-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843640961-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843644971-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843648931-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843653821-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843657641-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843661731-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843665381-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843669121-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843672721-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843676141-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843679951-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843683561-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843687441-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843691181-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843695171-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843698761-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843703011-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843706931-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843710991-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843723131-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843727011-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843730441-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843741631-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843747031-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843751041-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843754821-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843758911-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843762161-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843765991-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843769721-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843773641-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843777961-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843781531-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843785611-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843789301-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843793101-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843796881-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843801141-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843804631-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843808261-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843812941-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843816701-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843820671-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843824181-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843827871-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843831521-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843835531-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843839040-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843843350-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843847050-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843850640-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843854630-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843858440-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843862350-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843865770-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843869690-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843872900-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843876330-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843880150-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843883490-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843888080-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843891100-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843894610-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843898770-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843902350-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843906460-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843909900-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843919990-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843923890-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843927400-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843931490-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843935640-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843939220-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843942820-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843945960-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843950110-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843953360-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843956890-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843960910-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843964550-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843968750-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843973220-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843976920-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843980460-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843984200-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843987890-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843992230-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.843995810-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844000410-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844004100-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844008130-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844011570-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844015050-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844019110-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844022860-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844026830-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844030830-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844034380-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844038800-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844042570-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844045870-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844049830-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844054030-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844057340-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844061280-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844072890-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844076540-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844080380-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844083590-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844088230-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844091950-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844096019-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844106709-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844111089-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844114759-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844118509-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844122699-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844127229-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844130819-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844135029-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844139529-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844142869-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844146769-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844150259-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844154409-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844157759-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844161009-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844165039-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844168689-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844172659-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844176209-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844180519-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844184319-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844187969-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844191469-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844198439-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844201889-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844205959-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844209489-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844212999-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844216869-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844221039-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844224959-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844228439-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844232599-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844236029-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844240399-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844244129-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844247749-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844251149-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844254729-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844258749-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844262349-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844265859-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844269709-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844273079-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844277419-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844287179-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844290939-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844295309-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844299119-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844303039-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844306599-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844310239-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844313869-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844317529-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844321089-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844325079-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844328549-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844332009-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844335579-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844354488-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844361308-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844365528-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844369008-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844373608-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844377288-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844381108-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844384598-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844388588-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844392258-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844395948-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844399438-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844402908-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844407078-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844410578-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844414808-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844418278-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844422078-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844425638-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844429498-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844436598-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844445768-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844449518-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844453508-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844457048-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844461048-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844464378-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844467888-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844471938-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844475378-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844486298-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844490008-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844494138-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844497768-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844502098-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844505638-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844509728-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844513428-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844517278-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844521028-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844525318-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844528808-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844532158-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844536178-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844539408-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844542908-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844546648-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844550008-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844553958-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844558218-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844561798-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844565738-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844569698-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844573598-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844576958-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844580848-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844584348-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844587758-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844591538-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844594918-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844598828-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844602228-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844606048-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844609467-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844613487-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844617037-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844620967-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844624557-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844628827-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844632527-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844636227-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844639857-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844643747-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844653627-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844657017-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844660447-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844666237-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844669857-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844673207-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844677127-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844680827-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844685007-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844688657-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844692717-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844697087-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844700617-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844704107-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844707717-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844711367-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844715107-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844720987-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844724587-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844728337-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844732117-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844735567-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844739967-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844743787-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844747687-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844751867-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844755467-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844759407-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844762827-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844766257-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844770307-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844774257-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844778127-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844781697-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844790537-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844794807-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844798297-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844802537-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844805887-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844809837-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844813367-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844816827-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844821117-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844825127-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844828487-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844839147-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844843207-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844846457-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844849927-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844853977-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844859087-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844862686-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844866506-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844870086-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844873946-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844877526-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844881796-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844885616-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844889606-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844893676-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844897146-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844901086-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844905736-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844909146-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844913516-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844917396-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844920826-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844924496-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844927986-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844931536-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844935196-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844939846-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844943606-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844947266-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844951396-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844955556-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844959466-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844963206-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844967366-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844971706-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844975306-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844978746-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844982826-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844987256-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844991396-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844995336-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.844998996-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845002876-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845006276-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845010386-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845020356-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845023776-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845028306-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845032026-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845035796-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845039176-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845043276-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845047236-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845051296-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845054756-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845058686-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845062216-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845066146-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845070026-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845073766-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845077366-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845081566-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845085236-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845089496-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845093166-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845097036-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845100826-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845104166-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845108466-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845112196-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845115796-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845119665-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845123225-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845127825-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845132135-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845140895-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845145215-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845149665-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845153275-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845157285-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845160885-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845164345-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845168475-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845172255-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845176395-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845179965-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845183355-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845187895-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845191265-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845205685-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845209585-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845213515-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845217935-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845221495-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845225475-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845229125-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845232665-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845236215-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845240065-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845246845-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845251005-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845254575-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845258315-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845262535-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845266045-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845270255-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845274015-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845277955-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845282065-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845286095-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845289705-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845293565-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845297805-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845301565-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845305225-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845308685-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845312695-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845316335-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845320405-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845323935-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845328045-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845331765-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845335715-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845346445-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845353665-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845357255-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845360745-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845364565-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845369025-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845372814-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845376754-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845380714-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845384614-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845395314-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845399114-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845402904-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845406634-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845410484-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845414024-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845418174-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845421764-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845425234-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845428904-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845432734-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845436944-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845440504-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845445234-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845449154-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845453134-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845456934-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845460644-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845465284-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845476364-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845480484-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845484174-05:00 ============================== 10 errors in 0.84s ============================== [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845487844-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845492844-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845498774-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845502594-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845506764-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845510264-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845514094-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845518174-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845522234-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845525934-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845529994-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845536174-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845539964-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845549824-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845553894-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845557664-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845561784-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845565384-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845569214-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845572764-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845576444-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845579984-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845583974-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845587994-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845592214-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845596174-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845599704-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845603554-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845607384-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845610824-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845614444-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845618283-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845621943-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845625833-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845629783-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845633393-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845637303-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845641073-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845645093-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845648663-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845652993-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845656763-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845660043-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845664463-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845667763-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845673743-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845677563-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845681593-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845685123-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845688893-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845692363-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845696633-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845700233-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845704243-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845714353-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845718343-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845722153-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845725943-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845730143-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845733753-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845737733-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845741463-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845744813-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845748703-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845752223-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845756153-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845765003-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845769273-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845773473-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845777033-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845780473-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845784623-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845788403-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845792363-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845796373-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845799923-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845803403-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845807433-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845811263-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845815473-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845819533-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845823663-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845827373-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845831373-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845835073-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845840623-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845844143-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845848183-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845851653-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845856473-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845860632-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845864202-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845867612-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845870672-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845874152-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845878572-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845889752-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845893952-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845897582-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845900942-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845905192-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845908772-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845913102-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845917072-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845920722-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845924692-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845928372-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845931872-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845935462-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845938702-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845942612-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845946822-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845951762-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845955182-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845958672-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845962862-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845966512-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845971262-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845974882-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845978822-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845982542-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845986642-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845990242-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845994072-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.845997852-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846003272-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846006952-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846011012-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846014832-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846018982-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846022842-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846026922-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846030122-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846034682-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846038732-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846043402-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846054042-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846057432-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846061452-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846084342-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846087922-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846092732-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846098052-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846102091-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846105761-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846109951-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846113911-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846117511-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846121281-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846125491-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846128711-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846132911-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846136071-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846139531-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846145331-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846148751-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846152791-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846156501-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846162471-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846166451-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846169981-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846174091-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846177861-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846181471-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846185251-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846189481-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846193081-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846196921-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846201251-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846204971-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846208681-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846212321-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846215921-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846220201-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846224381-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846228761-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846232651-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846236561-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846247481-05:00 def daily_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846251701-05:00 > return _run("daily") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846255301-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846258621-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846262281-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846266291-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846269541-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846273721-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846277841-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846281271-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846285711-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846289491-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846293501-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846297141-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846300981-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846304801-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846308491-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846312201-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846315891-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846319231-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846322891-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846326411-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846330551-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846334061-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846342641-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846351200-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846355260-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846358890-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846362890-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846366450-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846370660-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846374910-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846378450-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846382240-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846386840-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846390780-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846394270-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846397800-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846401990-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846405340-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846409640-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846418700-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846432010-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846436180-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846440130-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846444020-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846448210-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846451520-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846455400-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846458790-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846463600-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846467810-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846472610-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846476570-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846480390-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846484240-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846488370-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846492100-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846495960-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846500410-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846503830-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846507530-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846511070-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846514430-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846519060-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846522680-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846527270-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846530790-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846534910-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846539110-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846542640-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846546610-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846550070-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846554060-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846558330-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846562560-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846567120-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846570640-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846574250-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846578280-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846582230-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846586370-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846590150-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846594510-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846598050-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846608839-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846612559-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846616619-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846620479-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846624259-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846627859-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846631439-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846634919-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846638939-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846642479-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846646109-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846650079-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846653689-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846657769-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846661389-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846665299-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846668949-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846673089-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846677069-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846680379-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846684009-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846687369-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846690749-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846694659-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846698199-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846702919-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846706549-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846710689-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846719319-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846723669-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846727529-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846732089-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846735509-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846739449-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846742929-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846746399-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846753249-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846756869-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846760429-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846764349-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846773529-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846777699-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846781149-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846785509-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846789989-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846793499-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846798159-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846801819-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846805789-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846809189-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846813079-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846816579-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846820849-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846824659-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846828539-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846832209-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846836099-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846839769-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846843679-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846847209-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846851629-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846855559-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846859408-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846862678-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846866028-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846869738-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846873378-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846877758-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846881768-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846885338-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846890848-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846894498-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846898528-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846901978-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846906508-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846910018-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846914278-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846917878-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846921578-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846925058-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846928878-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846938488-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846943388-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846946968-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846950948-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846954468-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846958018-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846961978-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846965648-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846969358-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846972978-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846976968-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846980538-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846984308-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846987668-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846991148-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846995068-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.846999068-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847002588-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847006598-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847010408-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847018658-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847023028-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847026918-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847030918-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847034448-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847038348-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847041608-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847045378-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847048728-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847052468-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847056438-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847060458-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847063928-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847068008-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847071938-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847075458-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847078878-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847082668-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847086258-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847090068-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847093678-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847103238-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847106918-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847110728-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847114577-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847118027-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847122047-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847125637-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847129527-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847133577-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847137507-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847157417-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847161437-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847165167-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847171597-05:00 def weekly_report(): [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847175597-05:00 > return _run("weekly") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847179217-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847182837-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847186687-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847190467-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847194507-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847198317-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847201677-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847205507-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847209147-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847212707-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847216617-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847220217-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847224547-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847228557-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847231927-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847235367-05:00 store_id = 'Fastime' [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847239267-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847242737-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847246767-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847250117-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847253887-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847257457-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847261327-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847264957-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847269167-05:00 """ [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847279277-05:00 base = _require_base() [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847283047-05:00 try: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847286847-05:00 import requests [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847290877-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847295697-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847299347-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847302887-05:00 raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847306867-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847310857-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847314997-05:00 if r.status_code == 404: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847318487-05:00 return None [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847322517-05:00 if r.status_code != 200: [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847325967-05:00 > raise ManageApiError( [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847329397-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847333347-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847336657-05:00 [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847359357-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.847363467-05:00 ----- end live Job logs ----- [pod/analytics-report-live-b54fp-live-build-pod/step-run-live] 2026-07-19T06:51:36.881913309-05:00 ==> live build: status=Failed conclusion=failure