===== analytics-report-live-lxdjd-archive-logs-pod.log ===== [pod/analytics-report-live-lxdjd-archive-logs-pod/prepare] 2026-07-17T15:22:45.635006764-05:00 2026/07/17 20:22:45 Entrypoint initialization [pod/analytics-report-live-lxdjd-archive-logs-pod/place-scripts] 2026-07-17T15:22:46.171889827-05:00 2026/07/17 20:22:46 Decoded script /tekton/scripts/script-0-jxnwr [pod/analytics-report-live-lxdjd-archive-logs-pod/place-scripts] 2026-07-17T15:22:46.192220903-05:00 2026/07/17 20:22:46 Decoded script /tekton/scripts/script-1-fvfmt [pod/analytics-report-live-lxdjd-archive-logs-pod/step-collect-logs] 2026-07-17T15:22:50.374586561-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-lxdjd ===== analytics-report-live-lxdjd-clone-pod.log ===== [pod/analytics-report-live-lxdjd-clone-pod/prepare] 2026-07-17T15:21:37.260189419-05:00 2026/07/17 20:21:37 Entrypoint initialization [pod/analytics-report-live-lxdjd-clone-pod/place-scripts] 2026-07-17T15:21:37.843938490-05:00 2026/07/17 20:21:37 Decoded script /tekton/scripts/script-0-cqgxd [pod/analytics-report-live-lxdjd-clone-pod/step-clone] 2026-07-17T15:21:42.262523705-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-lxdjd-clone-pod/step-clone] 2026-07-17T15:21:42.262550065-05:00 * branch 2aea3b5cf7389b426cf24f544f1872acf660d7c6 -> FETCH_HEAD [pod/analytics-report-live-lxdjd-clone-pod/step-clone] 2026-07-17T15:21:42.332748341-05:00 Cloned 2aea3b5cf7389b426cf24f544f1872acf660d7c6 ===== analytics-report-live-lxdjd-live-build-pod.log ===== [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.420215519-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.420267929-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.451432166-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.451539875-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.469163356-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.469260696-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.469266466-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.469279536-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.469284896-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.469292886-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.469566744-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.504738626-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:c2b283fcf1a8c82c8c106c26f06461224689c11e4e70f9e0a4d7ed66346cd2eb... [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.520761027-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:21:53.520776937-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:02.087976990-05:00 INFO[0008] COPY . /prsrc [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:02.229639123-05:00 INFO[0008] Taking snapshot of files... [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:02.414543489-05:00 INFO[0009] WORKDIR /prsrc [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:02.414558309-05:00 INFO[0009] Cmd: workdir [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:02.414563669-05:00 INFO[0009] Changed working directory to /prsrc [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:02.414870457-05:00 INFO[0009] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:02.414900127-05:00 INFO[0009] 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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:02.414906947-05:00 INFO[0009] Initializing snapshotter ... [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:02.414911876-05:00 INFO[0009] Taking snapshot of full filesystem... [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:08.736507515-05:00 INFO[0015] Cmd: /bin/sh [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:08.736614764-05:00 INFO[0015] 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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:08.736628544-05:00 INFO[0015] 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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:09.091740536-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:09.093844753-05:00 Installing build dependencies: started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:11.291330165-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:11.292155009-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:11.431859903-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:11.433032205-05:00 Getting requirements to build editable: started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:11.595621568-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:11.596894150-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:11.777111555-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:11.815163661-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:11.815989906-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.023655072-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.024354168-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=8bb9dfccb512e81592469531fd8e48ea77d1694fdd888335ee3656d8a0c8a508 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.024513247-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-943n44gp/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.026905412-05:00 Successfully built storeminder [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.027124351-05:00 Installing collected packages: storeminder [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.027331740-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.061110962-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.066613109-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.068360998-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.146402239-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.146652188-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.285673005-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.285774594-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.285782074-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.781798682-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:12.784221007-05:00 Installing build dependencies: started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.305224701-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.306210525-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.452548187-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.453515501-05:00 Getting requirements to build editable: started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.658355975-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.659517368-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.846312532-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.938038189-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.939451370-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.940861681-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.941933915-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.943092268-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (0.116.0) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.945063056-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.947180703-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (1.43.48) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:15.948269066-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.134521333-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.206545062-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.218988445-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.220136548-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.221215772-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.222508644-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.223727366-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.226388260-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.226967006-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.227789371-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.231884966-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.48 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.43.48) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.232897080-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.233666515-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.236767796-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.289269544-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.334279888-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.335546990-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.373666086-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.390434953-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.392912808-05:00 Requirement already satisfied: packaging>=22 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder==0.1.0) (26.2) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.425206960-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.441883768-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.444530152-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.452919970-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.453970424-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.454901088-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.455661023-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.519749310-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.526817727-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.555828899-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.556948012-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.558583802-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.571659041-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.645450799-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.699995774-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 7.7 MB/s eta 0:00:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.718015684-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.733539218-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.739963119-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.895272046-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.895862722-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:16.896913686-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:17.117441093-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:17.118234678-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=2283617cdd022aceb32e1e0b5621e8fecfdefee097f74b3f3c3c922d9d2e9bc6 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:17.118428477-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-lvyqryqi/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:17.120522574-05:00 Successfully built storeminder [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.083151788-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.339290186-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.385853031-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.388175937-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.586085432-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.824245981-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-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.824245751-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.931558633-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.931687782-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:18.931695292-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:19.146154056-05:00 INFO[0025] Taking snapshot of full filesystem... [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:21.041792495-05:00 INFO[0027] Pushing layer registry.storeminder.ai/images/cache:c2b283fcf1a8c82c8c106c26f06461224689c11e4e70f9e0a4d7ed66346cd2eb to cache now [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:21.041969064-05:00 INFO[0027] Pushing image to registry.storeminder.ai/images/cache:c2b283fcf1a8c82c8c106c26f06461224689c11e4e70f9e0a4d7ed66346cd2eb [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:21.192625599-05:00 INFO[0027] Pushed registry.storeminder.ai/images/cache@sha256:275cc1299b0bf4abeb69f9f994266c01b042aeaffd1d480b95f459e23dc31704 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:21.193499534-05:00 INFO[0027] Pushing image to registry.storeminder.ai/images/storeminder-report-live:2aea3b5cf7389b426cf24f544f1872acf660d7c6 [pod/analytics-report-live-lxdjd-live-build-pod/step-build-pr-image] 2026-07-17T15:22:21.374298375-05:00 INFO[0028] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:9032870411540a078b3775515d3ba9e620ccb7021c18812ef99fd9063d96c13c [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:21.621961615-05:00 /tekton/scripts/script-2-zmpzb: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:21.732690745-05:00 job.batch/report-live-2aea3b5 created [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.423049454-05:00 ----- live Job logs (report-live-2aea3b5) ----- [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.512966362-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.512997732-05:00 ============================= test session starts ============================== [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513004062-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513011052-05:00 cachedir: .pytest_cache [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513017512-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513022132-05:00 configfile: pyproject.toml [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513025672-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513029492-05:00 collecting ... collected 10 items [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513033022-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513036642-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513040312-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513043942-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513047772-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513051542-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513055562-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513059201-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513062771-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513066281-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513069821-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513073251-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513076851-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513080401-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513083831-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513087371-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513090911-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513094411-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513098311-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513101771-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513105301-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513108941-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513113041-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513116651-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513120161-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513123681-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513127311-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513130831-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513134391-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513150681-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513153261-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513155761-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513158031-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513160391-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513162721-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513165091-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513167521-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513169921-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513172381-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513174801-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513177391-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513179831-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513182311-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513184741-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513187101-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513189481-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513191941-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513196511-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513198961-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513201401-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513203851-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513206301-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513208641-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513210981-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513213381-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513215801-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513218221-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513220670-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513223010-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513225440-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513227930-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513230220-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513232590-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513234960-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513237430-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513239840-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513242160-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513244530-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513247050-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513249550-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513252240-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513261620-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513266340-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513269400-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513278690-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513317360-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513321330-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513324960-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513328720-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513332170-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513335690-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513348640-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513353860-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513370500-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513375130-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513378900-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513382529-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513386129-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513389619-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513393269-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513396799-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513400419-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513403929-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513410159-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513413789-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513417339-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513420849-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513424449-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513427949-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513431479-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513434999-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513438519-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513442039-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513445739-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513449689-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513453149-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513456679-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513460239-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513463699-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513467329-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513470879-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513474389-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513477909-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513481379-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513484979-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513488569-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513492089-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513495599-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513499169-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513508899-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513511609-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513513999-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513516449-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513518809-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513521159-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513523569-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513525839-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513528209-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513530509-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513532849-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513535229-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513537689-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513540769-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513543249-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513545648-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513548068-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513550478-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513552888-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513555308-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513557678-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513560148-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513562548-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513565048-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513567448-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513569888-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513572348-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513574738-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513577198-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513579558-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513581918-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513584288-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513586728-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513589068-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513591498-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513593918-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513596218-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513598628-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513609028-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513611518-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513613908-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513616968-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513619588-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513622098-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513624488-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513631458-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513633868-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513636238-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513638588-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513640968-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513643338-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513645678-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513648048-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513650458-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513652718-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513655118-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513657418-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513659788-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513662188-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513664588-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513666988-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513669498-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513671918-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513674308-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513676748-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513679218-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513681648-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513684038-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513686488-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513688868-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513691468-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513693838-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513696228-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513698658-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513701038-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513703418-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513705768-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513708157-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513710587-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513713027-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513715337-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513717717-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513720137-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513722417-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513724757-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513727127-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513729487-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513731877-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513734147-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513736527-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513743077-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513745507-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513747887-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513750267-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513752637-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513755017-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513757357-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513759747-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513762127-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513764467-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513766877-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513769147-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513771497-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513773797-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513776127-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513778547-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513780937-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513783347-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513785787-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513788217-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513790627-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513792997-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513795387-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513797837-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513800197-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513802567-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513804927-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513807337-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513809697-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513812037-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513814397-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513816827-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513819217-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513821577-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513823917-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513831077-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513833637-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513835957-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513838877-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513841267-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513843537-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513845867-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513848227-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513854477-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513856897-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513859197-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513861567-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513863957-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513866327-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513868707-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513871096-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513873466-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513875816-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513878176-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513880576-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513882916-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513885256-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513887686-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513889936-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513892376-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513894666-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513896996-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513899426-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513901796-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513904206-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513907226-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513909736-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513913086-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513915496-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513917946-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513920386-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513922776-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513925206-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513927656-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513931836-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513934306-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513936736-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513939326-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513941736-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513944156-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513946666-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513949066-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513951516-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513954016-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513956336-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513958696-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513961316-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513967636-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513970166-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513972566-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513974936-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513977316-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513979596-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513982006-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513984466-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513986846-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513989236-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513991646-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513994016-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513996446-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.513998796-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514001136-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514003516-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514005896-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514008276-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514010556-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514012886-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514015246-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514017566-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514019926-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514022356-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514024836-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514027316-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514029706-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514032046-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514034425-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514036795-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514039145-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514041555-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514043935-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514046345-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514052145-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514054605-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514057005-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514059715-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514062115-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514064505-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514066895-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514069275-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514071685-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514074175-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514085745-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514088165-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514090585-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514092885-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514095235-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514097605-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514099985-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514102395-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514104675-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514107005-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514109375-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514111755-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514114135-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514116495-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514118865-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514121215-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514123705-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514126175-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514128555-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514130885-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514133295-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514135585-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514137955-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514140265-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514142605-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514144975-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514147355-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514149805-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514152265-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514154665-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514157125-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514159515-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514161915-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514164275-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514166775-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514169205-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514171595-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514173975-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514177395-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514179805-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514182255-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514184645-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514187125-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514189485-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514191825-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514194285-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514200464-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514202804-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514205144-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514207604-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514209904-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514212224-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514214614-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514216974-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514219344-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514221614-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514223964-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514226424-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514228884-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514231354-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514233754-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514236184-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514238554-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514240914-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514243334-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514245694-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514248084-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514250464-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514252744-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514255094-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514257374-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514259694-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514262134-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514264534-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514267034-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514269444-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514275134-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514277624-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514280944-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514283444-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514285914-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514288344-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514290804-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514293224-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514295614-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514297964-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514300344-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514303504-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514305894-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514308354-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514315634-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514318034-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514320424-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514322924-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514325254-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514327624-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514330134-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514332474-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514334814-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514347664-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514352054-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514354474-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514356814-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514359163-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514361643-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514364103-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514366603-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514369003-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514371383-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514373863-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514376233-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514378583-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514380933-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514383303-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514385763-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514388043-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514390393-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514392693-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514395043-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514397493-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514399943-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514402403-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514404903-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514407323-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514409713-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514412123-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514414493-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514416883-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514419243-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514421683-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514424073-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514426533-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514428933-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514431373-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514438623-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514441073-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514443483-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514445913-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514448313-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514450703-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514455253-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514457623-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514460043-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514462493-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514464913-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514467323-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514471803-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514474493-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514476883-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514479263-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514482283-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514484653-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514487003-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514493683-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514496163-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514498553-05:00 ============================== 10 errors in 0.88s ============================== [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514501153-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514505653-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514508763-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514511183-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514513673-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514515973-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514518383-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514521453-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514523902-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514526402-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514528802-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514531172-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514533592-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514539972-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514542392-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514544862-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514547312-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514549702-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514551992-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514554422-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514556732-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514559102-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514561512-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514564142-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514566562-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514569042-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514571512-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514573872-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514576312-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514578712-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514581152-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514583532-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514586002-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514588382-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514590792-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514593162-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514595632-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514598782-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514601392-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514603902-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514606402-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514608812-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514611222-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514613722-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514616042-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514618952-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514621372-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514623802-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514626202-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514628482-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514630852-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514633352-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514635772-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514638212-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514644682-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514647132-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514649502-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514651902-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514654262-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514656642-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514659052-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514661422-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514663702-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514666062-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514668342-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514670692-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514677222-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514679732-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514682342-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514685011-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514687511-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514689981-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514692411-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514694921-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514697361-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514699791-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514702211-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514704581-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514706981-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514709351-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514711741-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514714131-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514716561-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514718991-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514721371-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514723771-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514726161-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514728691-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514731031-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514733461-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514735901-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514738331-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514740741-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514743031-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514745401-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514751601-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514755431-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514757951-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514760601-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514763151-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514765551-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514767931-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514770371-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514772741-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514775121-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514777721-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514780101-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514782501-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514784791-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514787181-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514789571-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514791971-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514794371-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514796781-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514799241-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514801761-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514804141-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514806531-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514808891-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514811261-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514813771-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514816181-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514819881-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514822361-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514824861-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514827271-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514829661-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514832041-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514834421-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514836801-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514839261-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514841701-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514844041-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514846921-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514849430-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514855710-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514858200-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514860530-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514862910-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514886800-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514907450-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514911700-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514922620-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514926930-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514930940-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514934260-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514937380-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514940470-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514943450-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514946450-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514949370-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514953240-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514956170-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514960000-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514964100-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514967180-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514970240-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514973340-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514976340-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514979330-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514982370-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514985820-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514988870-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514991890-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514994900-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.514998010-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515001060-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515004050-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515007540-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515010629-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515013619-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515016609-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515019579-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515022529-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515025539-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515029009-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515031929-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515037309-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515052409-05:00 def daily_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515055539-05:00 > return _run("daily") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515058499-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515061379-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515065109-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515068139-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515071389-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515074459-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515077529-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515080569-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515083749-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515086729-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515089699-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515092669-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515095649-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515098659-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515101529-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515104549-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515107519-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515110479-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515113439-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515116459-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515119489-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515122569-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515125599-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515128619-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515131619-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515135339-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515138399-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515141409-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515144509-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515147639-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515150699-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515153669-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515156679-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515159899-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515162859-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515165849-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515168819-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515171849-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515174848-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515181648-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515190388-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515193998-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515197128-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515200198-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515205448-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515208518-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515211518-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515214578-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515217608-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515220628-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515223688-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515226748-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515229778-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515232778-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515237338-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515240368-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515243328-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515246448-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515249358-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515252378-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515255318-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515258308-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515261278-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515264278-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515267308-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515270398-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515273688-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515276748-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515279778-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515282788-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515285808-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515288778-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515291818-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515294858-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515297898-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515300898-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515303908-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515306898-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515309898-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515312878-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515315858-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515318808-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515326798-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515331388-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515334338-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515344837-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515354337-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515357397-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515360477-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515363497-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515366547-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515369597-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515372617-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515376947-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515380007-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515383007-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515385987-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515389037-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515392067-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515395037-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515398037-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515401067-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515403947-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515406917-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515409797-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515412747-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515415767-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515418767-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515421907-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515424957-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515427977-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515434847-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515438027-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515441047-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515444077-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515447137-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515450147-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515453167-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515456197-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515459197-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515462767-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515465777-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515475147-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515478247-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515481217-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515484237-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515487217-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515490297-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515493187-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515496367-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515499636-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515502666-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515505676-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515508616-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515511586-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515514676-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515517656-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515520776-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515523846-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515526976-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515530016-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515533016-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515535976-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515538956-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515541916-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515544926-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515547836-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515550886-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515553766-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515556736-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515559706-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515562736-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515565976-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515569146-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515572226-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515575326-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515578416-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515581446-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515584486-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515587466-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515590486-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515593556-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515596686-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515605126-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515608146-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515611196-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515614196-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515617196-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515620176-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515623146-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515626136-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515629256-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515632146-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515635186-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515638216-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515641206-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515644206-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515647076-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515650096-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515653176-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515656176-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515659196-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515662245-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515665205-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515671575-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515674645-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515677745-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515680745-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515683705-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515686735-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515689715-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515692815-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515695685-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515698665-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515701705-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515704775-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515707835-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515710885-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515713915-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515716895-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515719885-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515722865-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515725965-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515728935-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515731965-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515740095-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515743225-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515746255-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515749255-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515752295-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515755365-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515758355-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515761365-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515764365-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515767435-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515770545-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515773425-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515776415-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515779495-05:00 def weekly_report(): [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515782525-05:00 > return _run("weekly") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515785505-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515788405-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515791375-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515794355-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515797365-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515800385-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515803455-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515806445-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515809415-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515812375-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515816065-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515819075-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515822035-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515825094-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515828024-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515830984-05:00 store_id = 'Fastime' [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515833884-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515836884-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515839834-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515842834-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515845914-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515849064-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515852104-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515855124-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515858124-05:00 """ [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515866544-05:00 base = _require_base() [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515869584-05:00 try: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515872544-05:00 import requests [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515875574-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515878644-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515881694-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515884734-05:00 raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515887704-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515890724-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515893734-05:00 if r.status_code == 404: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515896714-05:00 return None [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515899744-05:00 if r.status_code != 200: [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515902714-05:00 > raise ManageApiError( [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515905734-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515908794-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515911694-05:00 [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515928874-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.515942414-05:00 ----- end live Job logs ----- [pod/analytics-report-live-lxdjd-live-build-pod/step-run-live] 2026-07-17T15:22:42.583323270-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-lxdjd-live-build-pod/prepare] 2026-07-17T15:21:47.203450306-05:00 2026/07/17 20:21:47 Entrypoint initialization [pod/analytics-report-live-lxdjd-live-build-pod/place-scripts] 2026-07-17T15:21:47.778095861-05:00 2026/07/17 20:21:47 Decoded script /tekton/scripts/script-0-hz797 [pod/analytics-report-live-lxdjd-live-build-pod/place-scripts] 2026-07-17T15:21:47.800128205-05:00 2026/07/17 20:21:47 Decoded script /tekton/scripts/script-2-zmpzb [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156120153-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156923418-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156940878-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156946778-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156950778-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156954128-05:00 COPY . /prsrc [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156957368-05:00 WORKDIR /prsrc [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156960698-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156963838-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156967068-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-lxdjd-live-build-pod/step-prepare-dockerfile] 2026-07-17T15:21:53.156970778-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) ===== analytics-report-live-lxdjd-notify-on-failure-pod.log ===== [pod/analytics-report-live-lxdjd-notify-on-failure-pod/step-slack-alert] 2026-07-17T15:22:50.518940635-05:00 slack-preview-token absent — skipping Slack alert (see the storeminder/slack Vault grant) [pod/analytics-report-live-lxdjd-notify-on-failure-pod/prepare] 2026-07-17T15:22:45.128754492-05:00 2026/07/17 20:22:45 Entrypoint initialization [pod/analytics-report-live-lxdjd-notify-on-failure-pod/place-scripts] 2026-07-17T15:22:46.167413955-05:00 2026/07/17 20:22:46 Decoded script /tekton/scripts/script-0-n4j6x ===== analytics-report-live-lxdjd-post-check-live-pod.log ===== [pod/analytics-report-live-lxdjd-post-check-live-pod/prepare] 2026-07-17T15:22:45.041167030-05:00 2026/07/17 20:22:45 Entrypoint initialization [pod/analytics-report-live-lxdjd-post-check-live-pod/place-scripts] 2026-07-17T15:22:46.171282541-05:00 2026/07/17 20:22:46 Decoded script /tekton/scripts/script-0-tt8d8 [pod/analytics-report-live-lxdjd-post-check-live-pod/step-post-check] 2026-07-17T15:22:50.311719718-05:00 Installing PyJWT + cryptography + requests… ===== analytics-report-live-lxdjd-post-status-live-pod.log ===== [pod/analytics-report-live-lxdjd-post-status-live-pod/prepare] 2026-07-17T15:22:45.633663352-05:00 2026/07/17 20:22:45 Entrypoint initialization [pod/analytics-report-live-lxdjd-post-status-live-pod/place-scripts] 2026-07-17T15:22:46.165217279-05:00 2026/07/17 20:22:46 Decoded script /tekton/scripts/script-0-8gnpm [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:50.362725404-05:00 Posting commit status to GitHub [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:50.362761604-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:50.362765624-05:00 SHA: 2aea3b5cf7389b426cf24f544f1872acf660d7c6 [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:50.362768444-05:00 State: failure (Failed) [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:50.362772184-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-2aea3b5cf7389b426cf24f544f1872acf660d7c6/analytics-report-live-lxdjd/logs.txt [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029349491-05:00 { [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029376061-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/2aea3b5cf7389b426cf24f544f1872acf660d7c6", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029382461-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029387291-05:00 "id": 50672350205, [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029392201-05:00 "node_id": "SC_kwDOS9o4_c8AAAALzE6z_Q", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029396701-05:00 "state": "failure", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029401420-05:00 "description": "Checks failed", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029406300-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-2aea3b5cf7389b426cf24f544f1872acf660d7c6/analytics-report-live-lxdjd/logs.txt", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029410900-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029415300-05:00 "created_at": "2026-07-17T20:22:50Z", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029419820-05:00 "updated_at": "2026-07-17T20:22:50Z", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029424340-05:00 "creator": { [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029428990-05:00 "login": "steveblackmon", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029433430-05:00 "id": 702924, [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029437830-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029442350-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029446800-05:00 "gravatar_id": "", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029451420-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029455860-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029460310-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029465560-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029470000-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029474510-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029478940-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029483330-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029487700-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029492100-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029496480-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029500870-05:00 "type": "User", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029505280-05:00 "user_view_type": "public", [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029509720-05:00 "site_admin": false [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029514210-05:00 } [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.029518710-05:00 } [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.032754980-05:00 [pod/analytics-report-live-lxdjd-post-status-live-pod/step-post-status] 2026-07-17T15:22:51.032840429-05:00 Status posted successfully ===== analytics-report-live-lxdjd-reclaim-workspace-pod.log ===== [pod/analytics-report-live-lxdjd-reclaim-workspace-pod/prepare] 2026-07-17T15:22:46.526219902-05:00 2026/07/17 20:22:46 Entrypoint initialization [pod/analytics-report-live-lxdjd-reclaim-workspace-pod/place-scripts] 2026-07-17T15:22:47.215147492-05:00 2026/07/17 20:22:47 Decoded script /tekton/scripts/script-0-pl6g7 [pod/analytics-report-live-lxdjd-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-17T15:22:50.526318240-05:00 ==> reclaiming workspace PVC(s) owned by PipelineRun=analytics-report-live-lxdjd in ns=tekton-pipelines [pod/analytics-report-live-lxdjd-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-17T15:22:50.653537958-05:00 ==> deleting PVC pvc-bb4b766167 (5Gi) [pod/analytics-report-live-lxdjd-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-17T15:22:50.722180897-05:00 persistentvolumeclaim "pvc-bb4b766167" deleted [pod/analytics-report-live-lxdjd-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-17T15:22:50.725561406-05:00 ==> requested deletion of 1 run-owned PVC(s)