===== analytics-report-live-n82pk-archive-logs-pod.log ===== [pod/analytics-report-live-n82pk-archive-logs-pod/prepare] 2026-07-19T22:35:55.647946590-05:00 2026/07/20 03:35:55 Entrypoint initialization [pod/analytics-report-live-n82pk-archive-logs-pod/place-scripts] 2026-07-19T22:35:56.893990471-05:00 2026/07/20 03:35:56 Decoded script /tekton/scripts/script-0-zc865 [pod/analytics-report-live-n82pk-archive-logs-pod/place-scripts] 2026-07-19T22:35:56.918713597-05:00 2026/07/20 03:35:56 Decoded script /tekton/scripts/script-1-8mnzn [pod/analytics-report-live-n82pk-archive-logs-pod/step-collect-logs] 2026-07-19T22:36:00.515045914-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-n82pk ===== analytics-report-live-n82pk-clone-pod.log ===== [pod/analytics-report-live-n82pk-clone-pod/step-clone] 2026-07-19T22:34:32.254569977-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-n82pk-clone-pod/step-clone] 2026-07-19T22:34:32.254600507-05:00 * branch e7ae0361b0b48c6a073ea19711eaccadd7ed90f9 -> FETCH_HEAD [pod/analytics-report-live-n82pk-clone-pod/step-clone] 2026-07-19T22:34:32.324751824-05:00 Cloned e7ae0361b0b48c6a073ea19711eaccadd7ed90f9 [pod/analytics-report-live-n82pk-clone-pod/prepare] 2026-07-19T22:34:25.517486935-05:00 2026/07/20 03:34:25 Entrypoint initialization [pod/analytics-report-live-n82pk-clone-pod/place-scripts] 2026-07-19T22:34:26.663396610-05:00 2026/07/20 03:34:26 Decoded script /tekton/scripts/script-0-rrxfk ===== analytics-report-live-n82pk-live-build-pod.log ===== [pod/analytics-report-live-n82pk-live-build-pod/prepare] 2026-07-19T22:34:43.241153839-05:00 2026/07/20 03:34:43 Entrypoint initialization [pod/analytics-report-live-n82pk-live-build-pod/place-scripts] 2026-07-19T22:34:44.677833721-05:00 2026/07/20 03:34:44 Decoded script /tekton/scripts/script-0-r2z4b [pod/analytics-report-live-n82pk-live-build-pod/place-scripts] 2026-07-19T22:34:44.702844675-05:00 2026/07/20 03:34:44 Decoded script /tekton/scripts/script-2-xg2v7 [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.555574791-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556532587-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556546697-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556550467-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556553588-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556556928-05:00 COPY . /prsrc [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556559948-05:00 WORKDIR /prsrc [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556563438-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556566348-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556569248-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-n82pk-live-build-pod/step-prepare-dockerfile] 2026-07-19T22:34:51.556572778-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.820631187-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.820663897-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.842190958-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.842219438-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.849244913-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.849268094-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.849273604-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.849285434-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.849290194-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.849397814-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.849670716-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.901621715-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:ad05970d6f2b35150b0098007b2007b3124032e3146571cdd8dfa9e9c5fc329a... [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.937870391-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:34:51.937899311-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:03.280804355-05:00 INFO[0011] COPY . /prsrc [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:03.441598968-05:00 INFO[0011] Taking snapshot of files... [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:03.722437559-05:00 INFO[0011] WORKDIR /prsrc [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:03.722457719-05:00 INFO[0011] Cmd: workdir [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:03.722463609-05:00 INFO[0011] Changed working directory to /prsrc [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:03.722823341-05:00 INFO[0011] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:03.722852102-05:00 INFO[0011] 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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:03.722857482-05:00 INFO[0011] Initializing snapshotter ... [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:03.722864462-05:00 INFO[0011] Taking snapshot of full filesystem... [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:11.796292101-05:00 INFO[0020] Cmd: /bin/sh [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:11.796403272-05:00 INFO[0020] 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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:11.796421672-05:00 INFO[0020] 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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:12.242565748-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:12.245582036-05:00 Installing build dependencies: started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:14.782285634-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:14.783171149-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:14.961853529-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:14.964078533-05:00 Getting requirements to build editable: started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.159637550-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.161064599-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.368267755-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.421802854-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.422838441-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.671566145-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.672256329-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=729fea06cef14ba8d5c6821c895e5ca74bbe5dc1cc566a2673694550e38b555c [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.672438390-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-4jdbkqi3/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.674918495-05:00 Successfully built storeminder [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.675139266-05:00 Installing collected packages: storeminder [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.675284067-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.717248077-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.723356994-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.725218415-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.795503384-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.795875676-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.937139689-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.937169699-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:15.937176569-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:16.483033526-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:16.486158384-05:00 Installing build dependencies: started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.175259281-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.176199577-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.356482956-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.356524697-05:00 Getting requirements to build editable: started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.550433176-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.551798484-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.765812472-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.846305925-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.847726184-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.848823750-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.849730966-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.850760612-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.851905578-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.853484968-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:19.854235932-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.093261505-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.172737340-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.187747398-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.188736674-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.189891901-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.190975227-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.191915523-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.194894200-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.195593744-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.196572760-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.201366898-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.202248263-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.203280499-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.206491338-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.278523570-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.333000209-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.334210826-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.384166939-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.402481346-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.408038238-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.448517585-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.469214377-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.473453302-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.488067057-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.489874628-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.491573998-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.492988986-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.585712379-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.592370878-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.616978102-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.618046288-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.619358316-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.630268740-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.694441736-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.774227573-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 5.0 MB/s eta 0:00:00 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.799578791-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.823905164-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.830288871-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.970526982-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.971045915-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:20.972116462-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:21.188741196-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:21.189575581-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=9528f557a7909f12292a56c8f936b7e8598a4aff18f8848db53944b09f317c43 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:21.189777902-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-x2mshvkt/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:21.192518838-05:00 Successfully built storeminder [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:22.279241462-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:22.625596485-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:22.692730805-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:22.694595486-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:22.907950286-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:23.181986965-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:23.182521278-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-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:23.362667101-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:23.362694921-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:23.362700271-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:23.530816955-05:00 INFO[0031] Taking snapshot of full filesystem... [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:26.186740795-05:00 INFO[0034] Pushing layer registry.storeminder.ai/images/cache:ad05970d6f2b35150b0098007b2007b3124032e3146571cdd8dfa9e9c5fc329a to cache now [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:26.186933377-05:00 INFO[0034] Pushing image to registry.storeminder.ai/images/cache:ad05970d6f2b35150b0098007b2007b3124032e3146571cdd8dfa9e9c5fc329a [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:26.317910776-05:00 INFO[0034] Pushed registry.storeminder.ai/images/cache@sha256:ff71646aa7ab126c152d77370a0489fda58fc1e941bc9d098b2085bd765d4190 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:26.318565130-05:00 INFO[0034] Pushing image to registry.storeminder.ai/images/storeminder-report-live:e7ae0361b0b48c6a073ea19711eaccadd7ed90f9 [pod/analytics-report-live-n82pk-live-build-pod/step-build-pr-image] 2026-07-19T22:35:26.532086433-05:00 INFO[0034] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:25e4be2b87f8eabdc1d2a35c5061296c94b0142342950f09ef397bc6ce4d8bb4 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:27.047939655-05:00 /tekton/scripts/script-2-xg2v7: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:27.201475860-05:00 job.batch/report-live-e7ae036 created [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.282854739-05:00 ----- live Job logs (report-live-e7ae036) ----- [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573151505-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573176925-05:00 ============================= test session starts ============================== [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573181305-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573184905-05:00 cachedir: .pytest_cache [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573188955-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573192525-05:00 configfile: pyproject.toml [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573196055-05:00 plugins: anyio-4.14.2, langsmith-0.10.6 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573199235-05:00 collecting ... collected 10 items [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573202265-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573205505-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573208605-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573211705-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573214915-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573218005-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573221085-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573224275-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573227835-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573231105-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573234165-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573237225-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573240995-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573244145-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573247135-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573250305-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573253475-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573256545-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573259625-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573262625-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573265755-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573268845-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573272265-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573275385-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573278455-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573285765-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573288995-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573292085-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573295205-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573313226-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573315546-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573317646-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573319656-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573321726-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573323726-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573325806-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573327976-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573330176-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573332326-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573334436-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573336486-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573346386-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573348566-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573350686-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573352866-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573355026-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573357146-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573359226-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573361956-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573364056-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573366206-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573368266-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573370556-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573372636-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573374726-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573376776-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573378836-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573380996-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573383006-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573385086-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573387296-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573389366-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573391426-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573393486-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573395576-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573397646-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573399646-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573401716-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573403856-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573405986-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573408106-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573415986-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573418196-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573420366-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573428276-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573430556-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573432606-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573434656-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573436746-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573438756-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573440826-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573442816-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573444936-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573447166-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573449276-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573451726-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573453796-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573455916-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573457976-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573460096-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573462186-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573464356-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573466536-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573468676-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573470986-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573473046-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573475166-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573477296-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573479356-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573481486-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573483766-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573485816-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573490556-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573492716-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573494836-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573496836-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573498916-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573501046-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573503046-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573505146-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573507227-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573509297-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573511367-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573513427-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573515837-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573518027-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573520137-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573522227-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573524357-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573530317-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573532397-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573534517-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573536547-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573538657-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573540807-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573542857-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573544817-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573546837-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573548817-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573550857-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573553047-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573555177-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573557307-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573559457-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573561517-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573563557-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573565687-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573567737-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573569837-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573572007-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573574137-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573576197-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573578257-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573580387-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573582517-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573584577-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573586637-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573588767-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573590827-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573592937-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573595127-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573598017-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573600027-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573602097-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573604237-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573606297-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573608417-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573615487-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573617677-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573619757-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573621807-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573623867-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573626117-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573631857-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573633977-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573636117-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573638197-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573640267-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573642377-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573644427-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573646537-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573648577-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573650607-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573652577-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573654687-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573656677-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573658697-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573660767-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573662907-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573664987-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573667127-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573669347-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573671387-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573673447-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573675507-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573677607-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573679747-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573681817-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573683967-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573686027-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573688107-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573690237-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573692347-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573694397-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573696527-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573698657-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573700797-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573702857-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573705137-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573707118-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573709228-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573713658-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573715738-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573717808-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573721368-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573723528-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573725658-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573727648-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573734118-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573736228-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573738458-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573740658-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573742708-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573746108-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573748228-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573750388-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573752488-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573754618-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573756748-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573759518-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573761478-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573763528-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573765518-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573767608-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573769668-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573771728-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573773908-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573776038-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573778188-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573780238-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573782368-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573784448-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573786538-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573788598-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573790788-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573792858-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573795058-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573797108-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573799188-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573801238-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573803298-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573805348-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573807498-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573809608-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573814038-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573816278-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573818288-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573820428-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573822548-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573824598-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573826688-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573828798-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573834528-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573838208-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573840248-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573842308-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573844388-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573846508-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573848638-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573850688-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573852888-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573854948-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573856988-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573859188-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573861228-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573863338-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573865518-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573867488-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573869578-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573871588-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573873618-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573875758-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573877828-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573880108-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573882218-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573884298-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573886388-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573888458-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573890508-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573892628-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573894778-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573896958-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573899028-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573901158-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573903238-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573905299-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573907349-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573909409-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573911549-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573913719-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573915759-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573917839-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573920039-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573922039-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573924099-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573926169-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573931719-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573933929-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573937039-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573939189-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573941259-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573943249-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573945299-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573947459-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573949529-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573951679-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573953759-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573955819-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573957879-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573960559-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573962669-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573964709-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573966759-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573968889-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573970859-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573972909-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573974909-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573977009-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573979239-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573981329-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573983439-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573985599-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573987709-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573989839-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573992069-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573994119-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573996229-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.573998279-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574000379-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574002659-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574007829-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574010019-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574012139-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574014299-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574016379-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574018489-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574020629-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574022709-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574024799-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574027179-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574033169-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574035269-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574037479-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574039489-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574041639-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574043739-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574045839-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574047999-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574050009-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574052059-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574054219-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574056369-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574058519-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574060679-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574062739-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574064799-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574066849-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574068889-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574070929-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574073029-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574075229-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574077219-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574079349-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574081369-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574083419-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574085549-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574087629-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574089779-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574091949-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574094059-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574096119-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574098229-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574100289-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574102409-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574104469-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574106540-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574108690-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574110770-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574112850-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574114910-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574117060-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574119160-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574121260-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574123310-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574125420-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574130990-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574133260-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574135270-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574137340-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574139420-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574141430-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574143490-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574145610-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574147760-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574149850-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574151860-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574153920-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574156010-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574158090-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574160190-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574162340-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574164430-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574166490-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574168560-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574170620-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574172690-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574174760-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574176890-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574178980-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574181080-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574183100-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574185170-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574187250-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574189350-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574191490-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574194150-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574198490-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574200700-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574202820-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574204950-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574207040-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574209100-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574211690-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574213830-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574215930-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574218080-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574220230-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574222300-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574224370-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574226440-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574232110-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574234330-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574236420-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574238600-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574240600-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574242660-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574244760-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574246760-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574249450-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574252570-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574255730-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574258970-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574262140-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574265290-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574268340-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574271620-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574273770-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574275930-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574278000-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574280100-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574282190-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574284260-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574286320-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574288390-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574290590-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574292630-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574294730-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574296760-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574298870-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574301030-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574303150-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574305501-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574307611-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574309781-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574311901-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574314011-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574316111-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574318231-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574320291-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574322401-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574324501-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574326691-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574328821-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574330921-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574348341-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574352451-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574354551-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574356621-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574358691-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574360861-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574364351-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574366421-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574368521-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574370671-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574373541-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574375661-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574377731-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574382021-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574384141-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574386341-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574388431-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574391031-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574393101-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574399011-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574401191-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574403351-05:00 ============================== 10 errors in 0.85s ============================== [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574405531-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574408831-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574411521-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574413641-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574415801-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574417811-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574419931-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574422131-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574424231-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574426381-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574428541-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574430651-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574432791-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574438981-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574441161-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574443281-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574445341-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574447551-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574449571-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574451651-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574453661-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574455751-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574457891-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574460061-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574462221-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574464341-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574467191-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574469341-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574471451-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574473571-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574475761-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574477931-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574480161-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574482251-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574484331-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574486481-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574488571-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574490691-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574492881-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574496801-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574498952-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574501052-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574503142-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574506672-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574508792-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574512002-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574514192-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574516342-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574518422-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574520432-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574522502-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574524642-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574526742-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574528812-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574534612-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574536772-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574538862-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574540952-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574543012-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574545062-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574547102-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574549222-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574551282-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574553402-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574555412-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574557472-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574561932-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574564082-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574566252-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574568492-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574570572-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574572692-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574574922-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574577002-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574579112-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574581262-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574583332-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574585962-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574588062-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574590192-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574592272-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574594352-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574596452-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574598532-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574600602-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574602832-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574604922-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574607092-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574609112-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574612532-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574614732-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574616832-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574618912-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574621012-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574623062-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574625222-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574631472-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574633672-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574635812-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574637922-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574640012-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574642152-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574644242-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574646412-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574648492-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574650632-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574652652-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574656242-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574658282-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574660502-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574662622-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574664732-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574666882-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574668992-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574671142-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574673212-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574675312-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574677502-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574679662-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574681822-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574683902-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574687522-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574689662-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574691763-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574693933-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574696163-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574698303-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574700433-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574702503-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574704563-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574706883-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574709053-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574711053-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574713773-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574715963-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574718113-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574725853-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574727913-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574730003-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574746163-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574758493-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574762333-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574769833-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574772643-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574775813-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574778573-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574781233-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574784003-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574786883-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574789643-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574792203-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574795403-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574798013-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574800683-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574804343-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574807103-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574812743-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574816473-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574820243-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574823963-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574828333-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574832933-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574836923-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574840813-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574844553-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574848233-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574851973-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574855753-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574859593-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574863353-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574867213-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574871433-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574875243-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574879073-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574883184-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574887974-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574891604-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574896484-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574911054-05:00 def daily_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574915004-05:00 > return _run("daily") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574918704-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574922154-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574925714-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574929514-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574933194-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574936744-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574940354-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574944204-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574947914-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574951444-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574955044-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574958744-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574962334-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574966004-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574969504-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574973124-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574976494-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574980054-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574983844-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574987474-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574991274-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574995174-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.574999234-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575003594-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575007524-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575011534-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575015454-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575019804-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575024794-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575028704-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575032734-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575036784-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575040934-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575044774-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575048814-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575052664-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575056474-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575060104-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575063804-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575073284-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575084125-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575088295-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575092015-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575095665-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575099285-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575102675-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575106335-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575110435-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575114135-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575118445-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575122155-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575125765-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575129295-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575132925-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575136725-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575140525-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575144555-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575148415-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575152325-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575156455-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575160365-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575164245-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575169135-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575173225-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575177115-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575181245-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575185475-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575189335-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575193115-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575197015-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575200635-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575204205-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575208005-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575211855-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575215605-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575219295-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575222865-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575227935-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575231925-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575235505-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575239275-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575242865-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575251985-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575255765-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575259245-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575262985-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575266706-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575270416-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575274176-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575278076-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575282206-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575286166-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575291266-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575295386-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575299516-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575304996-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575309476-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575313496-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575317636-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575321566-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575325356-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575329066-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575332636-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575336196-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575352996-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575356816-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575360546-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575365416-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575369376-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575373086-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575376926-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575385506-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575389396-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575392956-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575396516-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575400866-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575404696-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575408326-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575415346-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575419556-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575424246-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575428226-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575432226-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575442626-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575446646-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575450716-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575454836-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575459687-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575463487-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575467787-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575471717-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575475567-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575479337-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575482887-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575486567-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575490167-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575493747-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575497537-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575501067-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575504637-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575508417-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575512107-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575515677-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575519247-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575522797-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575526327-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575529677-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575533337-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575536757-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575541267-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575545037-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575548807-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575552647-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575556817-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575561027-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575565177-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575569397-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575573497-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575577447-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575581407-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575586107-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575590477-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575595957-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575606207-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575609917-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575613897-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575617617-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575621247-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575625037-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575628767-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575632537-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575636257-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575639667-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575643587-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575647227-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575650778-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575654508-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575657878-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575661598-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575665898-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575669958-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575673798-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575677558-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575681318-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575690428-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575695018-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575699548-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575703588-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575707618-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575712338-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575716298-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575720488-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575724288-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575728398-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575732178-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575736768-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575741188-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575745868-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575749658-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575753448-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575757178-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575760918-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575764508-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575768068-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575772098-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575782978-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575786888-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575790688-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575794298-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575797998-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575801618-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575805178-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575809018-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575812618-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575816268-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575820178-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575823708-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575827508-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575831998-05:00 def weekly_report(): [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575836028-05:00 > return _run("weekly") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575839988-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575843649-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575847219-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575851409-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575854979-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575858959-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575862459-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575865989-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575869679-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575873279-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575876819-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575880359-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575884139-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575887949-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575891609-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575895469-05:00 store_id = 'Fastime' [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575899199-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575902909-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575906539-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575909719-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575912689-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575915859-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575918999-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575922049-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575925109-05:00 """ [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575933619-05:00 base = _require_base() [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575936919-05:00 try: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575939729-05:00 import requests [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575942799-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575947009-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575950089-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575953209-05:00 raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575956409-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575959629-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575962899-05:00 if r.status_code == 404: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575966129-05:00 return None [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575969259-05:00 if r.status_code != 200: [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575972469-05:00 > raise ManageApiError( [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575975569-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575978829-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575981729-05:00 [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575994989-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.575998479-05:00 ----- end live Job logs ----- [pod/analytics-report-live-n82pk-live-build-pod/step-run-live] 2026-07-19T22:35:53.647865260-05:00 ==> live build: status=Failed conclusion=failure ===== analytics-report-live-n82pk-notify-on-failure-pod.log ===== [pod/analytics-report-live-n82pk-notify-on-failure-pod/prepare] 2026-07-19T22:35:55.700919570-05:00 2026/07/20 03:35:55 Entrypoint initialization [pod/analytics-report-live-n82pk-notify-on-failure-pod/place-scripts] 2026-07-19T22:35:56.700607557-05:00 2026/07/20 03:35:56 Decoded script /tekton/scripts/script-0-njkpm ===== analytics-report-live-n82pk-post-check-live-pod.log ===== [pod/analytics-report-live-n82pk-post-check-live-pod/prepare] 2026-07-19T22:35:56.523946917-05:00 2026/07/20 03:35:56 Entrypoint initialization [pod/analytics-report-live-n82pk-post-check-live-pod/place-scripts] 2026-07-19T22:35:57.862689926-05:00 2026/07/20 03:35:57 Decoded script /tekton/scripts/script-0-49xsl ===== analytics-report-live-n82pk-post-status-live-pod.log ===== [pod/analytics-report-live-n82pk-post-status-live-pod/prepare] 2026-07-19T22:35:55.891263563-05:00 2026/07/20 03:35:55 Entrypoint initialization [pod/analytics-report-live-n82pk-post-status-live-pod/place-scripts] 2026-07-19T22:35:56.806604466-05:00 2026/07/20 03:35:56 Decoded script /tekton/scripts/script-0-4k62v [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.372867452-05:00 Posting commit status to GitHub [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.372903062-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.372905712-05:00 SHA: e7ae0361b0b48c6a073ea19711eaccadd7ed90f9 [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.372907702-05:00 State: failure (Failed) [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.372910232-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-e7ae0361b0b48c6a073ea19711eaccadd7ed90f9/analytics-report-live-n82pk/logs.txt [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785849951-05:00 { [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785871371-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/e7ae0361b0b48c6a073ea19711eaccadd7ed90f9", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785876121-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785879991-05:00 "id": 50730120453, [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785883761-05:00 "node_id": "SC_kwDOS9o4_c8AAAALz8A1BQ", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785887491-05:00 "state": "failure", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785890881-05:00 "description": "Checks failed", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785894951-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-e7ae0361b0b48c6a073ea19711eaccadd7ed90f9/analytics-report-live-n82pk/logs.txt", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785898611-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785901651-05:00 "created_at": "2026-07-20T03:36:00Z", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785904781-05:00 "updated_at": "2026-07-20T03:36:00Z", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785908081-05:00 "creator": { [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785912011-05:00 "login": "steveblackmon", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785915281-05:00 "id": 702924, [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785919031-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785922641-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785926161-05:00 "gravatar_id": "", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785930651-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785934051-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785937301-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785941391-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785948071-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785952511-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785957011-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785960781-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785964521-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785968521-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785972591-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785976271-05:00 "type": "User", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785979721-05:00 "user_view_type": "public", [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785984271-05:00 "site_admin": false [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785988031-05:00 } [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.785992011-05:00 } [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.789271918-05:00 [pod/analytics-report-live-n82pk-post-status-live-pod/step-post-status] 2026-07-19T22:36:00.789286888-05:00 Status posted successfully ===== analytics-report-live-n82pk-reclaim-workspace-pod.log ===== [pod/analytics-report-live-n82pk-reclaim-workspace-pod/prepare] 2026-07-19T22:35:56.957397224-05:00 2026/07/20 03:35:56 Entrypoint initialization [pod/analytics-report-live-n82pk-reclaim-workspace-pod/place-scripts] 2026-07-19T22:35:58.087693645-05:00 2026/07/20 03:35:58 Decoded script /tekton/scripts/script-0-29bp4