===== analytics-report-live-9k54q-archive-logs-pod.log ===== [pod/analytics-report-live-9k54q-archive-logs-pod/prepare] 2026-07-19T20:00:17.497776812-05:00 2026/07/20 01:00:17 Entrypoint initialization [pod/analytics-report-live-9k54q-archive-logs-pod/place-scripts] 2026-07-19T20:00:18.035660580-05:00 2026/07/20 01:00:18 Decoded script /tekton/scripts/script-0-t6w8x [pod/analytics-report-live-9k54q-archive-logs-pod/place-scripts] 2026-07-19T20:00:18.059553510-05:00 2026/07/20 01:00:18 Decoded script /tekton/scripts/script-1-hbpzh [pod/analytics-report-live-9k54q-archive-logs-pod/step-collect-logs] 2026-07-19T20:00:22.380298738-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-9k54q ===== analytics-report-live-9k54q-clone-pod.log ===== [pod/analytics-report-live-9k54q-clone-pod/prepare] 2026-07-19T19:59:13.810420558-05:00 2026/07/20 00:59:13 Entrypoint initialization [pod/analytics-report-live-9k54q-clone-pod/place-scripts] 2026-07-19T19:59:14.235149205-05:00 2026/07/20 00:59:14 Decoded script /tekton/scripts/script-0-rn5ww [pod/analytics-report-live-9k54q-clone-pod/step-clone] 2026-07-19T19:59:20.055588412-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-9k54q-clone-pod/step-clone] 2026-07-19T19:59:20.055621041-05:00 * branch c9a8d0f8ceb5be415be2941586d2a730b4b8fcc5 -> FETCH_HEAD [pod/analytics-report-live-9k54q-clone-pod/step-clone] 2026-07-19T19:59:20.126453595-05:00 Cloned c9a8d0f8ceb5be415be2941586d2a730b4b8fcc5 ===== analytics-report-live-9k54q-live-build-pod.log ===== [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.181592058-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182281194-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182289484-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182294814-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182298894-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182302644-05:00 COPY . /prsrc [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182306334-05:00 WORKDIR /prsrc [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182310094-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182313904-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182317574-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-9k54q-live-build-pod/step-prepare-dockerfile] 2026-07-19T19:59:32.182322674-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.444892443-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.444935373-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.488955316-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.488975846-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.497020806-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.497227685-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.497241155-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.497251775-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.497255655-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.497399424-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.497662753-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.547928736-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:bdb28c350c22882e49a0db6183e4399929a94983f930808140b39861a2553b86... [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.570300356-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:32.570321056-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:42.659773396-05:00 INFO[0010] COPY . /prsrc [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:42.806035744-05:00 INFO[0010] Taking snapshot of files... [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:43.034851374-05:00 INFO[0010] WORKDIR /prsrc [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:43.034961153-05:00 INFO[0010] Cmd: workdir [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:43.034979633-05:00 INFO[0010] Changed working directory to /prsrc [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:43.035276402-05:00 INFO[0010] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:43.035293082-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:43.035300392-05:00 INFO[0010] Initializing snapshotter ... [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:43.035306912-05:00 INFO[0010] Taking snapshot of full filesystem... [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:50.079072668-05:00 INFO[0017] Cmd: /bin/sh [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:50.079201758-05:00 INFO[0017] 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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:50.079208638-05:00 INFO[0017] 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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:50.484268351-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:50.486413100-05:00 Installing build dependencies: started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:52.706793175-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:52.707826100-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:52.851739166-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:52.852970760-05:00 Getting requirements to build editable: started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.049837554-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.051263257-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.270681788-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.319974294-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.320971859-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.627956556-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.628739172-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=2bd3734fca7307812dc0813f126e456696f2f18323d645f11f8c6f8267971f47 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.628842072-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-o_z4bg7q/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.631604758-05:00 Successfully built storeminder [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.631774307-05:00 Installing collected packages: storeminder [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.631886377-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.672319756-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.680774954-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.683214602-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.764514829-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.764824197-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.911369180-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.911397440-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:53.911401890-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:54.378886881-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:54.381104020-05:00 Installing build dependencies: started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:56.447440292-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:56.448311768-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:56.566389452-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:56.567594446-05:00 Getting requirements to build editable: started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:56.759857591-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:56.760933535-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.030949084-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.144988368-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.145043358-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.145050928-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.145058528-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.145065757-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.145086047-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.145090317-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.145095447-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.290982182-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.359677501-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.373181844-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.373987090-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.374884296-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.375816001-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.376582777-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.379416973-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.379778481-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.380562278-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.384377599-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.385119535-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.385866391-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.388304039-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.430274421-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.463131787-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.464013193-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.497913594-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.514015564-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.516616392-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.550288184-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.565669408-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.568586493-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.575676698-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.576563974-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.577323090-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.577977367-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.621879359-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.627698270-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.650577036-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.651450232-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.652554806-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.662548587-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.726308750-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.950652195-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 1.8 MB/s eta 0:00:00 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.973142443-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:57.993710651-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:58.004517018-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:58.151804886-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:58.152325423-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:58.153374748-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:58.393647854-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:58.394269180-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=071ba01cae982bded08baedd5d4ca45b9e840f71632d925427091d0dd8b9d20e [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:58.394360980-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-cov9_ozb/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:58.396263371-05:00 Successfully built storeminder [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:59.370472998-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:59.628046498-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:59.680158388-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:59.681964639-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T19:59:59.898214744-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:00.080484118-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:00.080687607-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-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:00.213970174-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:00.214074103-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:00.214085183-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:00.387220862-05:00 INFO[0028] Taking snapshot of full filesystem... [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:02.969154864-05:00 INFO[0030] Pushing layer registry.storeminder.ai/images/cache:bdb28c350c22882e49a0db6183e4399929a94983f930808140b39861a2553b86 to cache now [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:02.969333993-05:00 INFO[0030] Pushing image to registry.storeminder.ai/images/cache:bdb28c350c22882e49a0db6183e4399929a94983f930808140b39861a2553b86 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:03.088189752-05:00 INFO[0030] Pushed registry.storeminder.ai/images/cache@sha256:8e5512722af8d5e06c380b31b4066a34bacab08beeda61efac1e8b71d9a4f977 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:03.088854348-05:00 INFO[0030] Pushing image to registry.storeminder.ai/images/storeminder-report-live:c9a8d0f8ceb5be415be2941586d2a730b4b8fcc5 [pod/analytics-report-live-9k54q-live-build-pod/step-build-pr-image] 2026-07-19T20:00:03.309165771-05:00 INFO[0030] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:e32fd66e89161521b76c3b5aab41dc6dfc4306cafbba7917390719da90de1c47 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:03.583055587-05:00 /tekton/scripts/script-2-zln2b: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:03.718567903-05:00 job.batch/report-live-c9a8d0f created [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.161548133-05:00 ----- live Job logs (report-live-c9a8d0f) ----- [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306315159-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306359029-05:00 ============================= test session starts ============================== [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306368459-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306373929-05:00 cachedir: .pytest_cache [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306380149-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306384919-05:00 configfile: pyproject.toml [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306389979-05:00 plugins: anyio-4.14.2, langsmith-0.10.6 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306394689-05:00 collecting ... collected 10 items [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306399219-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306404699-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306409879-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306415909-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306421159-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306426699-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306431979-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306437889-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306443079-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306448159-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306453209-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306458069-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306463059-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306467658-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306472158-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306477008-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306481998-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306486968-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306491998-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306496908-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306501738-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306506628-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306511838-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306516828-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306521928-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306527018-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306532118-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306536878-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306545638-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306568968-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306572618-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306576478-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306579488-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306582648-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306585848-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306589308-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306592978-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306596298-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306602018-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306605368-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306608878-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306612418-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306616098-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306619298-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306622578-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306625828-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306629138-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306632528-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306635738-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306638978-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306642548-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306645728-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306649008-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306652298-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306656248-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306659488-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306662908-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306666208-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306669297-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306672887-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306676447-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306680217-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306683687-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306687237-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306690487-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306694027-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306697377-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306700847-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306704527-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306707947-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306711357-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306725917-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306730047-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306734177-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306748807-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306752087-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306755687-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306759367-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306763457-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306766737-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306770047-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306773497-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306776867-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306780647-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306784137-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306787627-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306790907-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306794787-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306798387-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306801737-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306804967-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306808567-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306811757-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306814977-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306818457-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306821777-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306825137-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306828557-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306831847-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306835037-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306838447-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306841637-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306844847-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306848217-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306851817-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306855337-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306858747-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306862047-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306865057-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306868257-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306871486-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306874736-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306877956-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306881116-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306884496-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306888076-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306891376-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306894706-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306898636-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306908366-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306911896-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306915506-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306918746-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306921916-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306925146-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306928516-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306931456-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306935276-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306938276-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306941506-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306944846-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306947996-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306951186-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306954336-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306957536-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306960696-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306963836-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306967006-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306970226-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306973376-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306976636-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306979826-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306982916-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306986056-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306989376-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306993026-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.306996606-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307000126-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307004036-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307007646-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307011046-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307015116-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307018326-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307022006-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307025676-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307028806-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307032506-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307049196-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307053976-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307057836-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307061096-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307064426-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307068026-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307078835-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307082165-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307085435-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307088935-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307092305-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307095775-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307099145-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307102375-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307105565-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307109265-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307112385-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307115785-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307118775-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307122285-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307126415-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307129795-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307133305-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307136825-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307140145-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307143485-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307147005-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307150895-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307154405-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307157925-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307161615-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307164825-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307168265-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307171795-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307175515-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307179075-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307182325-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307185715-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307189345-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307192995-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307196795-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307200205-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307203375-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307207695-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307211745-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307215015-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307218425-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307221815-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307225305-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307228705-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307231755-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307242075-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307245415-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307248865-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307252095-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307255345-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307258575-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307261855-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307265105-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307268415-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307271575-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307274785-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307277984-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307281084-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307284674-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307287774-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307290984-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307294394-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307297634-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307300944-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307304174-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307307654-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307311304-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307314734-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307318434-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307322254-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307325864-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307329194-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307332664-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307401644-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307410484-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307414134-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307417924-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307421804-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307425104-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307428354-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307433674-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307447494-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307451444-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307454844-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307458354-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307461824-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307465004-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307469014-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307472804-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307484083-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307487573-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307490953-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307494313-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307498043-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307501283-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307504553-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307507863-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307511183-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307514393-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307517673-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307521103-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307524553-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307527723-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307530973-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307534093-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307537343-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307540433-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307543603-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307546913-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307550113-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307553353-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307556643-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307559853-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307563073-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307566463-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307569683-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307573073-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307576243-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307579523-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307582923-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307586073-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307589233-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307592453-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307595653-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307599663-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307602843-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307606043-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307609253-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307612443-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307615783-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307618823-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307623073-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307626473-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307635333-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307639193-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307642863-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307646483-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307650023-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307653263-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307656983-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307660763-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307664573-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307668003-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307671882-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307675062-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307678332-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307682102-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307685522-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307688942-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307692382-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307695762-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307699022-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307702532-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307705782-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307709152-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307713122-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307716542-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307720392-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307723882-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307727112-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307730392-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307733742-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307736972-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307740162-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307743552-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307746842-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307750002-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307760432-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307764062-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307767372-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307770942-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307774652-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307778022-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307781312-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307784492-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307787652-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307791102-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307801932-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307805292-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307808842-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307812032-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307815342-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307818602-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307821792-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307824982-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307828092-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307831372-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307835622-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307838822-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307842142-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307845382-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307848612-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307851772-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307855162-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307858382-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307861642-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307864782-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307868041-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307871161-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307874431-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307877511-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307880671-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307884531-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307887821-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307891061-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307894401-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307897691-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307900941-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307904151-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307907471-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307911021-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307914831-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307918551-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307922101-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307925391-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307928821-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307932221-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307935721-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307939061-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307942771-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307946201-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307949491-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307959501-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307965771-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307969021-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307972341-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307975781-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307979041-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307982541-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307986041-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307989581-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307992871-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307996101-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.307999341-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308002681-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308006111-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308009471-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308015211-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308018481-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308022601-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308025901-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308029201-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308032381-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308035611-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308039091-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308042231-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308045361-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308048561-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308051721-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308055711-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308059171-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308062620-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308065900-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308075870-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308079180-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308082660-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308086370-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308089950-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308093540-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308096750-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308100710-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308104030-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308107400-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308110740-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308113990-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308117170-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308127100-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308130470-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308133700-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308136890-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308140130-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308143150-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308147270-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308150550-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308153790-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308156960-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308160190-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308163430-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308166680-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308169820-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308172930-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308176250-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308179580-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308182790-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308186000-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308189240-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308192650-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308196490-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308200120-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308203620-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308207390-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308211080-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308214290-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308217840-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308221200-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308224640-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308228140-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308231520-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308235640-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308239240-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308242910-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308246300-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308249980-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308253460-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308256809-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308260239-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308263929-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308267349-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308270799-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308274389-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308277739-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308287579-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308291169-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308294439-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308297729-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308300959-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308304689-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308308009-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308311079-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308314379-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308317739-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308321269-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308324759-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308328679-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308332229-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308335639-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308356439-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308362559-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308366179-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308369619-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308379999-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308383379-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308386659-05:00 ============================== 10 errors in 0.84s ============================== [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308390259-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308394049-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308400879-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308404389-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308407699-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308410779-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308414089-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308417469-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308420809-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308424049-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308427339-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308430539-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308434009-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308443619-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308447009-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308450359-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308453539-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308456738-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308459818-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308463038-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308466158-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308469358-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308472568-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308475778-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308479278-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308483148-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308488518-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308492558-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308496218-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308499648-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308503198-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308506738-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308510248-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308513768-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308517258-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308520678-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308524338-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308527878-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308531418-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308534838-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308538458-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308542188-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308545778-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308549208-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308552608-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308557468-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308561008-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308566678-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308570178-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308573268-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308576468-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308580168-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308583708-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308586928-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308646748-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308650648-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308654048-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308658107-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308661657-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308666347-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308669697-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308672937-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308676137-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308680987-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308684187-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308688307-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308698027-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308701367-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308704787-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308708677-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308713807-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308717267-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308720457-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308723687-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308726927-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308730257-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308734527-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308737937-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308741827-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308746227-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308750237-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308753727-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308757277-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308760847-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308764147-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308767367-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308771497-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308775267-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308778567-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308782407-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308786297-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308790047-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308793507-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308796677-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308800207-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308815397-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308819157-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308822517-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308826087-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308829607-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308832947-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308836697-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308840187-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308844087-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308847377-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308850707-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308853737-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308857057-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308860177-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308863376-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308866746-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308869976-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308873256-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308876676-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308880356-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308883776-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308887286-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308890636-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308894236-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308898126-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308901316-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308904856-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308908366-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308911986-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308915436-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308919526-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308922836-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308926106-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308929396-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308933046-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308936736-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308940366-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308943536-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308949306-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308952806-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308956056-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308967046-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308970196-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.308973396-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309002236-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309025586-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309030846-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309044456-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309048926-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309053516-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309057856-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309062186-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309066285-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309070395-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309074985-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309079045-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309083725-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309087835-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309092215-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309097365-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309101485-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309106315-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309110865-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309115305-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309119925-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309124225-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309129385-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309133965-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309138095-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309143535-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309147705-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309152035-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309156395-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309160655-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309164825-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309169835-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309174165-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309179015-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309183295-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309187815-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309193665-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309197695-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309203415-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309221905-05:00 def daily_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309226285-05:00 > return _run("daily") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309230605-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309234515-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309239125-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309243385-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309247355-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309251615-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309255745-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309259955-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309264365-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309268454-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309274364-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309278544-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309282694-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309287144-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309291724-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309296304-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309300534-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309305084-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309309724-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309314494-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309319074-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309323784-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309328174-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309332514-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309336914-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309375614-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309380184-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309384534-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309388824-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309393114-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309397474-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309402134-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309407234-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309411624-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309416214-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309420584-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309424944-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309429424-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309434394-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309445624-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309460064-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309465553-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309469883-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309474423-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309479263-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309483053-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309487713-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309492553-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309497263-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309501663-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309505943-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309510033-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309514263-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309518963-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309523313-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309527903-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309532163-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309536733-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309540743-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309545243-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309549163-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309553343-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309557773-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309562033-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309566363-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309571123-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309577293-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309582003-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309586303-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309590513-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309594773-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309598773-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309603453-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309608263-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309612933-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309617603-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309627653-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309632153-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309636443-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309640863-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309645423-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309649623-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309663022-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309667672-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309671962-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309676512-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309680862-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309685312-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309689602-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309693772-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309698992-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309703512-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309708082-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309712512-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309716842-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309721372-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309726032-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309730322-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309734782-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309739082-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309743722-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309747922-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309751892-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309756452-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309760542-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309764842-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309769392-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309773742-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309778062-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309782912-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309787262-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309798342-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309802962-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309807512-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309811792-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309815922-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309820252-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309824432-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309828742-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309833022-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309837272-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309841452-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309854452-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309858751-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309865791-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309870171-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309874341-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309878681-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309882631-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309887101-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309891571-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309895751-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309900081-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309903991-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309908101-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309912631-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309917091-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309921621-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309926211-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309930841-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309935451-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309940251-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309944921-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309949261-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309953611-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309957971-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309962241-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309966971-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309971241-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309975701-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309980061-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309984371-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309989071-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309993401-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.309998071-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310002341-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310006641-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310011251-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310015601-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310020021-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310024531-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310029011-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310033341-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310046631-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310051190-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310055610-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310060090-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310064300-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310068840-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310073080-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310077520-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310082150-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310086170-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310090700-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310094820-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310099360-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310103960-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310108220-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310112440-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310116770-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310121090-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310125220-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310129560-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310134170-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310144600-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310149130-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310153690-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310158090-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310162280-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310166550-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310170940-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310175170-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310179100-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310183320-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310187550-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310191830-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310196060-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310200570-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310204780-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310209690-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310213870-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310218130-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310223520-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310227750-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310233140-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310247169-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310251919-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310258179-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310262559-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310266929-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310271709-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310276189-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310280579-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310285109-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310289489-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310294119-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310298649-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310303189-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310307619-05:00 def weekly_report(): [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310312509-05:00 > return _run("weekly") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310316839-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310320909-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310325299-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310329789-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310334029-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310346949-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310355319-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310360159-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310364489-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310368799-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310373229-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310377939-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310382269-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310386899-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310391279-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310395859-05:00 store_id = 'Fastime' [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310399789-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310404309-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310408539-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310412739-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310417429-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310422019-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310426679-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310431849-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310436049-05:00 """ [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310449118-05:00 base = _require_base() [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310453548-05:00 try: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310458108-05:00 import requests [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310462578-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310467128-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310471458-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310475678-05:00 raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310480028-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310484148-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310488228-05:00 if r.status_code == 404: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310492478-05:00 return None [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310496868-05:00 if r.status_code != 200: [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310501038-05:00 > raise ManageApiError( [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310505538-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310512888-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310516798-05:00 [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310535778-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.310540528-05:00 ----- end live Job logs ----- [pod/analytics-report-live-9k54q-live-build-pod/step-run-live] 2026-07-19T20:00:14.353081705-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-9k54q-live-build-pod/prepare] 2026-07-19T19:59:25.510972988-05:00 2026/07/20 00:59:25 Entrypoint initialization [pod/analytics-report-live-9k54q-live-build-pod/place-scripts] 2026-07-19T19:59:26.796351412-05:00 2026/07/20 00:59:26 Decoded script /tekton/scripts/script-0-hqt4d [pod/analytics-report-live-9k54q-live-build-pod/place-scripts] 2026-07-19T19:59:26.815935176-05:00 2026/07/20 00:59:26 Decoded script /tekton/scripts/script-2-zln2b ===== analytics-report-live-9k54q-notify-on-failure-pod.log ===== [pod/analytics-report-live-9k54q-notify-on-failure-pod/prepare] 2026-07-19T20:00:18.163887947-05:00 2026/07/20 01:00:18 Entrypoint initialization [pod/analytics-report-live-9k54q-notify-on-failure-pod/place-scripts] 2026-07-19T20:00:19.346544144-05:00 2026/07/20 01:00:19 Decoded script /tekton/scripts/script-0-nffwj ===== analytics-report-live-9k54q-post-check-live-pod.log ===== [pod/analytics-report-live-9k54q-post-check-live-pod/prepare] 2026-07-19T20:00:17.258344151-05:00 2026/07/20 01:00:17 Entrypoint initialization [pod/analytics-report-live-9k54q-post-check-live-pod/place-scripts] 2026-07-19T20:00:18.095925168-05:00 2026/07/20 01:00:18 Decoded script /tekton/scripts/script-0-gscbw [pod/analytics-report-live-9k54q-post-check-live-pod/step-post-check] 2026-07-19T20:00:22.372691826-05:00 Installing PyJWT + cryptography + requests… ===== analytics-report-live-9k54q-post-status-live-pod.log ===== [pod/analytics-report-live-9k54q-post-status-live-pod/place-scripts] 2026-07-19T20:00:19.351690448-05:00 2026/07/20 01:00:19 Decoded script /tekton/scripts/script-0-f95vw [pod/analytics-report-live-9k54q-post-status-live-pod/prepare] 2026-07-19T20:00:18.031984598-05:00 2026/07/20 01:00:18 Entrypoint initialization ===== analytics-report-live-9k54q-reclaim-workspace-pod.log ===== [pod/analytics-report-live-9k54q-reclaim-workspace-pod/prepare] 2026-07-19T20:00:19.743151507-05:00 2026/07/20 01:00:19 Entrypoint initialization [pod/analytics-report-live-9k54q-reclaim-workspace-pod/place-scripts] 2026-07-19T20:00:20.543506977-05:00 2026/07/20 01:00:20 Decoded script /tekton/scripts/script-0-4tlrw