[pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.504335265-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505231851-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505242581-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505246161-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505249621-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505252451-05:00 COPY . /prsrc [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505255321-05:00 WORKDIR /prsrc [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505258121-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505261091-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505263871-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-kqvcb-live-build-pod/step-prepare-dockerfile] 2026-07-17T19:42:54.505267131-05:00 RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.684723530-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.684759320-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.703054526-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.703077616-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.709189315-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.709210255-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.709216095-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.709224185-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.709229275-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.709333994-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.709585953-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.748946601-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:0085b321e559443116c8f0301fc79ded72cb97c10993c275768794f8e8d54299... [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.770270551-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:42:54.770293061-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:04.270594168-05:00 INFO[0009] COPY . /prsrc [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:04.400728038-05:00 INFO[0009] Taking snapshot of files... [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:04.576111414-05:00 INFO[0009] WORKDIR /prsrc [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:04.576138574-05:00 INFO[0009] Cmd: workdir [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:04.576143724-05:00 INFO[0009] Changed working directory to /prsrc [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:04.576412583-05:00 INFO[0009] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:04.576443633-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:04.576467673-05:00 INFO[0009] Initializing snapshotter ... [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:04.576474623-05:00 INFO[0009] Taking snapshot of full filesystem... [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:10.705777469-05:00 INFO[0016] Cmd: /bin/sh [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:10.705885549-05:00 INFO[0016] Args: [-c pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest)] [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:10.705901978-05:00 INFO[0016] Running: [/bin/sh -c pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest)] [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:11.100652970-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:11.102762359-05:00 Installing build dependencies: started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.078429790-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.079529854-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.253573454-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.254987357-05:00 Getting requirements to build editable: started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.466437224-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.467931466-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.666117841-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.708971540-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.709869775-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.901456955-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.902013422-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=459fafbb2c0cbc02ce776cb48145d6730aa06fd0d3db1e7fd6c9f9b171295275 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.902139121-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-m0ywbz35/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.904454619-05:00 Successfully built storeminder [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.904465609-05:00 Installing collected packages: storeminder [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.904555218-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.939447038-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.944768811-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:13.946538971-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:14.004219563-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:14.004417192-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:14.130948058-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:14.131049367-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:14.131055327-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:14.540970487-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:14.542641648-05:00 Installing build dependencies: started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:16.454749474-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:16.455543290-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:16.590384182-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:16.591612345-05:00 Getting requirements to build editable: started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:16.770862858-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:16.772103471-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:16.965433240-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.027771358-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.028887662-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.029962396-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.030805632-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.031694427-05:00 Requirement already satisfied: anthropic>=0.25.0 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (0.117.0) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.033197939-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.034773101-05:00 Requirement already satisfied: boto3>=1.34 in /usr/local/lib/python3.11/site-packages (from storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.035639657-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.214773659-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.279926032-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.294762605-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.295716820-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.296749765-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.297817839-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.298714194-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.301329851-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.301998337-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.302906643-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.307879677-05:00 Requirement already satisfied: botocore<1.44.0,>=1.43.51 in /usr/local/lib/python3.11/site-packages (from boto3>=1.34->storeminder==0.1.0) (1.43.51) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.308868452-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.309809867-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.312906821-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.366049766-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.407058083-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.408058308-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.447397605-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.465351151-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.468604355-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.504666298-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.521322512-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.524366936-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.533857057-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.534922641-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.535878546-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.536685862-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.592425343-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.599355107-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.625571742-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.626720306-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.628053719-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.639379410-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.706779991-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.962330448-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 1.6 MB/s eta 0:00:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:17.979553549-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:18.000077522-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:18.012285789-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:18.134373216-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:18.135056173-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:18.136207767-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:18.310660853-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:18.311255140-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1920 sha256=090de51f01c195016ce6ca79f40feb51c169970e5a8fd8a5275153f1da47d061 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:18.311415619-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-8owa1yb1/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:18.313173380-05:00 Successfully built storeminder [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.083710458-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.298887443-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.340619016-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.342621936-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.509950619-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.678842523-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.679038982-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-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.849129841-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.849349740-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:19.849361469-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:20.030318722-05:00 INFO[0025] Taking snapshot of full filesystem... [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:21.974824607-05:00 INFO[0027] Pushing layer registry.storeminder.ai/images/cache:0085b321e559443116c8f0301fc79ded72cb97c10993c275768794f8e8d54299 to cache now [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:21.974994066-05:00 INFO[0027] Pushing image to registry.storeminder.ai/images/cache:0085b321e559443116c8f0301fc79ded72cb97c10993c275768794f8e8d54299 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:22.169004159-05:00 INFO[0027] Pushed registry.storeminder.ai/images/cache@sha256:ba7bcdd6228f4523d6c47ab31e0d3c90d0faad4540885f5e3fefab8bf22c6b69 [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:22.170563341-05:00 INFO[0027] Pushing image to registry.storeminder.ai/images/storeminder-report-live:26857eaee3b37db18289f82da2ef87639ec8cbfb [pod/analytics-report-live-kqvcb-live-build-pod/step-build-pr-image] 2026-07-17T19:43:22.395308595-05:00 INFO[0027] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:e8fb1d10cf7a0b0fe89024499ca1aaa49f619c7c530b1a7aa3822370fa6ef6be [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:22.918963298-05:00 /tekton/scripts/script-2-92m9w: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:23.019299217-05:00 job.batch/report-live-26857ea created [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.503422186-05:00 ----- live Job logs (report-live-26857ea) ----- [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681034190-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681144730-05:00 ============================= test session starts ============================== [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681151130-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681155310-05:00 cachedir: .pytest_cache [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681159380-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681162900-05:00 configfile: pyproject.toml [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681166850-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681171010-05:00 collecting ... collected 10 items [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681174430-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681178100-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681182090-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681185690-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681189820-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681193409-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681196929-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681200569-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681204149-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681207759-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681211539-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681214989-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681218609-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681222239-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681225669-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681229269-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681232939-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681236549-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681240079-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681243529-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681247079-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681250689-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681254679-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681258319-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681261959-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681265539-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681269079-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681272579-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681276089-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681279589-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681293879-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681296449-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681298759-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681301159-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681303469-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681307069-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681312169-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681314669-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681317169-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681319599-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681321989-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681324399-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681326829-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681329259-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681331659-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681334059-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681336559-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681354279-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681356809-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681359299-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681361769-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681364159-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681366559-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681369109-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681371489-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681373939-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681376349-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681378889-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681381238-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681383628-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681386068-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681388358-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681390718-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681393128-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681395598-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681398028-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681400368-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681402738-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681405128-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681411278-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681413788-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681422068-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681424668-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681427128-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681435928-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681438398-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681440828-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681443238-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681445718-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681448028-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681450478-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681452798-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681455168-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681457608-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681460088-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681462578-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681465008-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681467408-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681470558-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681472998-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681475398-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681477858-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681480208-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681482678-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681485098-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681487548-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681490038-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681492478-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681494918-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681497288-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681499698-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681502078-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681504508-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681506888-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681509528-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681511858-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681514238-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681516628-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681518918-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681521278-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681523658-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681526068-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681528488-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681530798-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681533258-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681535698-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681538088-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681540468-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681542898-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681550068-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681552678-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681556268-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681558908-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681561538-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681564718-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681567268-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681569778-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681572188-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681574518-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681576907-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681579287-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681581907-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681631637-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681635727-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681639397-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681643187-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681647047-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681650637-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681654577-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681659037-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681664737-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681672817-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681678437-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681683507-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681689517-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681693797-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681697387-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681701037-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681704607-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681708157-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681711807-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681715507-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681719107-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681722647-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681726287-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681729727-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681733267-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681740907-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681744547-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681748367-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681751817-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681755397-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681759087-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681762647-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681771556-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681774556-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681777066-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681782466-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681784956-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681787396-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681789796-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681792156-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681794626-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681796926-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681799356-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681801686-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681804086-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681806546-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681808946-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681811426-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681813816-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681816286-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681818716-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681821146-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681823546-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681825966-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681828326-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681830696-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681833106-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681835496-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681838926-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681841596-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681844036-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681846416-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681848806-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681851196-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681853606-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681856046-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681858746-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681861096-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681863456-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681865836-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681868116-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681870486-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681872856-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681875236-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681877626-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681879956-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681882326-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681888886-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681891356-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681893806-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681896206-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681898596-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681900996-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681903416-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681905796-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681908156-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681910546-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681912936-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681915246-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681917636-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681919946-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681922446-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681924866-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681927256-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681929696-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681932096-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681934516-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681936956-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681939386-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681941826-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681944246-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681946646-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681949186-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681951606-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681954006-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681956436-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681958886-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681961326-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681963756-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681966135-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681968555-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681970925-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681976035-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681978555-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681980855-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681983285-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681985755-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681988065-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681990405-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681992785-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.681999265-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682001705-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682004025-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682006425-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682008905-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682011295-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682013735-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682016375-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682018755-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682021115-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682023545-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682025915-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682028315-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682030725-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682033105-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682035385-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682037755-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682040035-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682042435-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682044885-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682047275-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682049755-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682052225-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682054635-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682057025-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682059435-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682061845-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682064255-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682066645-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682069055-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682071455-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682073845-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682076235-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682078625-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682082535-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682084985-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682087375-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682089775-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682092175-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682094565-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682096985-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682099295-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682101675-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682106945-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682113235-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682116315-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682118865-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682121285-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682123685-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682125995-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682128435-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682130895-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682133305-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682135795-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682138195-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682140585-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682142975-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682145365-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682147775-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682150215-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682152565-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682154965-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682157265-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682159595-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682161874-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682164214-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682166624-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682169024-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682171504-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682173964-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682176674-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682179084-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682181504-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682183894-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682186314-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682188924-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682191354-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682193814-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682198824-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682201284-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682203704-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682206174-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682208564-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682210964-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682213344-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682215724-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682218104-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682220584-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682226814-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682229264-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682231684-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682234014-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682236354-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682238734-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682241144-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682243554-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682245844-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682248234-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682250764-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682253154-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682255544-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682257924-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682260304-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682262684-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682265054-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682267444-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682269794-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682272164-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682274584-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682276894-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682279264-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682281564-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682283894-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682286364-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682288754-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682291504-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682293994-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682296384-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682298864-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682301364-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682303734-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682306154-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682308554-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682311004-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682313424-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682315814-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682318194-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682320594-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682323054-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682325574-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682328104-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682330504-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682332874-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682335274-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682357293-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682361853-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682365563-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682368073-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682370443-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682372833-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682375333-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682377743-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682380133-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682382443-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682384823-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682387263-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682389713-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682392113-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682394493-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682396883-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682399233-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682401573-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682403933-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682406323-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682408663-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682411023-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682413303-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682415673-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682417973-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682420313-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682422713-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682425123-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682427573-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682429993-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682435283-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682437783-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682440203-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682442613-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682445083-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682447463-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682449853-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682452273-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682454673-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682457033-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682459483-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682461853-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682464293-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682470993-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682473423-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682475803-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682478203-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682480653-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682482973-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682485323-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682487773-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682490083-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682492433-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682494843-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682497233-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682499623-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682501903-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682506193-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682508653-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682511463-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682513923-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682516333-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682518763-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682521233-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682523613-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682525963-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682528393-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682530773-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682533213-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682535513-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682537883-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682540193-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682542613-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682544993-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682547433-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682549893-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682552392-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682554782-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682558092-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682560562-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682562982-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682565382-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682567842-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682570312-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682572722-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682575122-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682577512-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682579932-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682586382-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682588812-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682591302-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682593692-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682596112-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682598522-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682601932-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682604292-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682606682-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682609142-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682611622-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682614022-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682616432-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682618892-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682621392-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682623762-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682626172-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682628562-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682630962-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682635832-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682638312-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682640672-05:00 ============================== 10 errors in 0.91s ============================== [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682643072-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682646342-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682649422-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682651892-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682654312-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682656612-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682658992-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682661472-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682663942-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682666332-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682668752-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682671232-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682678032-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682680452-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682684022-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682687652-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682690072-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682692462-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682694792-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682697242-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682699532-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682701962-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682704352-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682706772-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682709202-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682712162-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682714572-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682717052-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682719972-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682722362-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682724772-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682727132-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682729552-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682731962-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682734372-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682736802-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682739232-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682741632-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682744022-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682746391-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682748781-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682751241-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682753691-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682756211-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682758501-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682761421-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682763831-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682766221-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682768601-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682770911-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682773271-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682775811-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682778201-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682780661-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682787341-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682789771-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682792121-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682794481-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682796861-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682799261-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682801641-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682804031-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682806311-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682808731-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682811061-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682813421-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682821001-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682824911-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682828701-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682832381-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682834901-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682837321-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682839761-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682842141-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682844631-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682847041-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682849461-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682851891-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682854311-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682856711-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682859091-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682861631-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682864061-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682866461-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682868851-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682871221-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682873631-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682876091-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682878421-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682881011-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682883471-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682885861-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682888271-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682890571-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682892951-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682903541-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682905961-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682908341-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682910841-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682913201-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682915611-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682917991-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682920371-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682922741-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682925101-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682927541-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682929901-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682932261-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682934551-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682936911-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682939291-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682941700-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682944110-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682946600-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682950440-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682952900-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682955330-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682957720-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682960100-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682962470-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682964860-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682967310-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682969740-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682972150-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682974620-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682977420-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682979870-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682982260-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682984660-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682987050-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682989520-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682992540-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682994870-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.682997970-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683000400-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683002800-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683009310-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683011680-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683014110-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683042800-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683061710-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683066120-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683075720-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683079050-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683083070-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683086170-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683089230-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683093370-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683098060-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683102790-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683107090-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683112400-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683116480-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683121380-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683127040-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683131740-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683136939-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683142039-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683147289-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683152189-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683157039-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683162709-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683167609-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683172199-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683176779-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683182729-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683187429-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683194079-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683199069-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683203949-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683208629-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683213579-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683217869-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683222449-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683227309-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683233839-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683238239-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683243469-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683261909-05:00 def daily_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683267359-05:00 > return _run("daily") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683272119-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683276009-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683280749-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683285309-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683289949-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683294329-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683299299-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683304019-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683308369-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683312889-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683317189-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683321629-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683326089-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683330589-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683334618-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683347308-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683357248-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683362568-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683366888-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683371388-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683376248-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683381288-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683385948-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683390528-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683394958-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683399538-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683404048-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683408498-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683412948-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683417398-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683421578-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683426168-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683430818-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683435348-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683439778-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683444388-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683448668-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683453148-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683457858-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683470698-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683485788-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683492008-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683497228-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683502048-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683506648-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683511148-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683515878-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683520527-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683524687-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683528677-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683533107-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683536897-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683540597-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683544217-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683547997-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683551777-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683555547-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683561017-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683564477-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683567907-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683571567-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683575767-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683579737-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683583427-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683586997-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683590397-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683594277-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683597907-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683601307-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683604777-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683608337-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683612107-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683615727-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683619397-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683622967-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683626517-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683630397-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683634027-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683637447-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683640797-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683644137-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683648057-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683658887-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683662737-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683666067-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683669697-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683673797-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683677507-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683681267-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683684727-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683689427-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683693327-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683697297-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683701337-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683705587-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683709426-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683713236-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683717146-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683720936-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683724476-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683728196-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683731836-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683735416-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683738736-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683741876-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683745986-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683749606-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683753046-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683756456-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683759886-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683763426-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683772466-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683776076-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683779726-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683783156-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683786776-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683790836-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683794326-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683797606-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683801176-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683804606-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683807966-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683817816-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683821276-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683825016-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683828646-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683832056-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683835776-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683839166-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683843036-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683846596-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683850186-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683853936-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683857246-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683860866-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683864676-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683868246-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683872036-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683875576-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683879206-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683883196-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683887166-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683890776-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683894616-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683898325-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683902275-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683905765-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683909485-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683913795-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683917325-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683921135-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683925025-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683929255-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683933315-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683937425-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683941355-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683945065-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683948595-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683952055-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683955615-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683958655-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683961175-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683963595-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683971145-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683973745-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683976155-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683978595-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683981965-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683984435-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683986905-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683989375-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683991805-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683994115-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683996665-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.683999125-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684001595-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684004625-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684006955-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684009425-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684012955-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684016685-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684020535-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684024225-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684028525-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684036135-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684038695-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684041155-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684043565-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684045945-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684048395-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684050695-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684053195-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684055525-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684057955-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684060435-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684062825-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684065385-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684067905-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684070365-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684072835-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684075325-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684077805-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684080285-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684082854-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684085424-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684094074-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684097974-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684101544-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684105074-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684107624-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684110154-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684112704-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684115124-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684117544-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684120034-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684122604-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684124914-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684131124-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684133704-05:00 def weekly_report(): [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684136114-05:00 > return _run("weekly") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684138524-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684140814-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684143194-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684145704-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684148114-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684150894-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684153404-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684155854-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684158274-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684160654-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684163024-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684165454-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684167804-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684171474-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684175014-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684178774-05:00 store_id = 'Fastime' [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684181624-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684184134-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684186604-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684189044-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684191774-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684194294-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684196834-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684199544-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684201964-05:00 """ [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684208934-05:00 base = _require_base() [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684211494-05:00 try: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684213894-05:00 import requests [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684216404-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684219584-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684222844-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684225304-05:00 raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684227774-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684230164-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684232564-05:00 if r.status_code == 404: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684234984-05:00 return None [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684237374-05:00 if r.status_code != 200: [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684239874-05:00 > raise ManageApiError( [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684243424-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684246874-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684250284-05:00 [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684267924-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.684280113-05:00 ----- end live Job logs ----- [pod/analytics-report-live-kqvcb-live-build-pod/step-run-live] 2026-07-17T19:43:33.714445586-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-kqvcb-live-build-pod/prepare] 2026-07-17T19:42:48.080565049-05:00 2026/07/18 00:42:48 Entrypoint initialization [pod/analytics-report-live-kqvcb-live-build-pod/place-scripts] 2026-07-17T19:42:49.086036925-05:00 2026/07/18 00:42:49 Decoded script /tekton/scripts/script-0-n4v2l [pod/analytics-report-live-kqvcb-live-build-pod/place-scripts] 2026-07-17T19:42:49.105304806-05:00 2026/07/18 00:42:49 Decoded script /tekton/scripts/script-2-92m9w