[pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.065397432-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066266387-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066276607-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066279387-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066281656-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066283876-05:00 COPY . /prsrc [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066287036-05:00 WORKDIR /prsrc [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066289236-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066291316-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066293416-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-vh4rw-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:55:23.066296066-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.284721872-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.284745972-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.508954780-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.508967639-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.527901727-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.527909077-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.527911617-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.527936327-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.527945827-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.528057576-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.528406314-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.572690597-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:257a1b8afb03da407af5cd80536f1d5bee487dda6cc09693dde9c61a7fa18bb4... [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.632962076-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:23.632981106-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:32.985749177-05:00 INFO[0009] COPY . /prsrc [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:33.117754372-05:00 INFO[0009] Taking snapshot of files... [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:33.286687859-05:00 INFO[0010] WORKDIR /prsrc [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:33.286697999-05:00 INFO[0010] Cmd: workdir [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:33.286700199-05:00 INFO[0010] Changed working directory to /prsrc [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:33.286702169-05:00 INFO[0010] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:33.286704659-05:00 INFO[0010] RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:33.286706488-05:00 INFO[0010] Initializing snapshotter ... [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:33.286710288-05:00 INFO[0010] Taking snapshot of full filesystem... [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:39.230460295-05:00 INFO[0016] Cmd: /bin/sh [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:39.230477295-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:39.230487915-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:39.599189558-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:39.601678332-05:00 Installing build dependencies: started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:41.749662751-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:41.750675984-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:41.878620266-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:41.879630370-05:00 Getting requirements to build editable: started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:42.071691587-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:42.073216927-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:42.828066542-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:42.863901100-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:42.864810414-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.078908759-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.079639604-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1979 sha256=a86076ecccadc01e36c0890653df720047781b0970b8dcbc710efc6d3eb07764 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.079789363-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-2tqyqtao/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.082100698-05:00 Successfully built storeminder [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.082295947-05:00 Installing collected packages: storeminder [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.082443046-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.127297786-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.134498979-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.136717845-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.204992683-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.205248591-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.354683254-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.354695364-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.354699704-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.929308726-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:43.932302946-05:00 Installing build dependencies: started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.053713470-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.054756943-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.196911303-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.198012726-05:00 Getting requirements to build editable: started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.387543990-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.388637012-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.557621189-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.632156387-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.633315549-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.634163714-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.635270217-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.636261470-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.637529272-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.639012472-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.639777868-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.829770168-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.909447063-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.924387816-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.925594988-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.926872090-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.928213711-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.929110466-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.933404128-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.933413638-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.934122903-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.938884712-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.939769686-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.940980939-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.944019419-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:46.996558769-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.051583823-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.052824325-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.107297923-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.125979692-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.128847613-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.164437223-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.182710965-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.185171339-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.193508525-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.194494788-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.195375403-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.196114608-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.262676527-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.269379394-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.295866352-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.296759927-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.298401556-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.310577167-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.386558156-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.500156721-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 3.4 MB/s eta 0:00:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.522511156-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.548619117-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.556413087-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.709071959-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.709740615-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.711087666-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.926576132-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.927392417-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1979 sha256=5064ed7ff4fd8e7a1f8afef30b08a39d8a52efc2d5ff2796d61d3076c0806b5c [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.927546816-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-k0tcg75f/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:47.930016550-05:00 Successfully built storeminder [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:48.816564024-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.051172306-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.102637463-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.105041437-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.316701468-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.537711628-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.537933567-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-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.758777398-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.758797748-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.758802358-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:49.900273513-05:00 INFO[0026] Taking snapshot of full filesystem... [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:52.013805110-05:00 INFO[0028] Pushing layer registry.storeminder.ai/images/cache:257a1b8afb03da407af5cd80536f1d5bee487dda6cc09693dde9c61a7fa18bb4 to cache now [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:52.014011828-05:00 INFO[0028] Pushing image to registry.storeminder.ai/images/cache:257a1b8afb03da407af5cd80536f1d5bee487dda6cc09693dde9c61a7fa18bb4 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:52.558235388-05:00 INFO[0029] Pushed registry.storeminder.ai/images/cache@sha256:fcb19cd6ebeffac348346ed9f042ee0bd5783a461bf2678c0e2bdec060deb521 [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:52.558960853-05:00 INFO[0029] Pushing image to registry.storeminder.ai/images/storeminder-report-live:e6795b5896cf627384f47f7af51fd5314d23c92a [pod/analytics-report-live-vh4rw-live-build-pod/step-build-pr-image] 2026-07-17T21:55:53.453388718-05:00 INFO[0030] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:d0994625f27d84b3e2432e4f948fe1100f0ed64f8108dc8251f1d37fc6ad8c5b [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:55:53.569406467-05:00 /tekton/scripts/script-2-zxh9s: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:55:53.746732700-05:00 job.batch/report-live-e6795b5 created [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.549231972-05:00 ----- live Job logs (report-live-e6795b5) ----- [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748380515-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748395215-05:00 ============================= test session starts ============================== [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748399985-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748404165-05:00 cachedir: .pytest_cache [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748409045-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748412765-05:00 configfile: pyproject.toml [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748416495-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748421525-05:00 collecting ... collected 10 items [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748425015-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748428725-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748432285-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748435825-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748439325-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748442875-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748446364-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748449964-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748453464-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748456984-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748460484-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748463854-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748467654-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748471184-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748474564-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748478114-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748481644-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748485134-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748488664-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748492044-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748495534-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748499094-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748503044-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748506634-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748510184-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748513674-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748517174-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748520704-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748524204-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748539044-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748541344-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748543584-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748545674-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748547834-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748549884-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748552114-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748554274-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748556484-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748558654-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748560874-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748563064-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748565204-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748567434-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748569624-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748571794-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748573914-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748576274-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748578514-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748580704-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748582904-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748585084-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748587234-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748589414-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748591574-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748593724-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748595944-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748598204-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748600393-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748602483-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748604663-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748606873-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748608943-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748611093-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748613263-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748615453-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748617623-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748619673-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748621793-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748623983-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748626113-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748628253-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748636403-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748638733-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748640873-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748647293-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748649493-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748651613-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748653783-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748655973-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748658043-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748660193-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748662263-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748664493-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748666723-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748668993-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748671233-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748673493-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748675653-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748677863-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748680043-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748682183-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748684333-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748686433-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748688613-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748690783-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748692943-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748695133-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748697243-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748699393-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748701543-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748703683-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748705833-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748708013-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748710193-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748712343-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748714403-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748716523-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748718673-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748720733-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748722943-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748725143-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748727293-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748729433-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748731473-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748733563-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748735853-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748738053-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748740263-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748742553-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748747893-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748750143-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748752282-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748754432-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748756572-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748758692-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748761602-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748763752-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748765872-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748767962-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748770052-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748772222-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748774382-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748776622-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748779172-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748781432-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748783592-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748785762-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748787902-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748790072-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748792182-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748794322-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748796472-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748798672-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748800842-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748802972-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748805122-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748807282-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748809442-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748811612-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748813742-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748816042-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748818262-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748820302-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748822722-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748824972-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748827032-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748829172-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748835532-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748837822-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748839952-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748842232-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748844412-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748846642-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748848832-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748854712-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748857022-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748859242-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748861382-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748863532-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748865682-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748867832-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748869972-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748872132-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748874232-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748876432-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748878482-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748880592-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748882762-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748884962-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748887222-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748889432-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748891652-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748893802-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748895972-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748898162-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748900372-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748902512-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748904711-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748906881-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748909121-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748911421-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748913621-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748915771-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748917891-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748920031-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748922171-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748924291-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748926581-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748928831-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748930971-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748933081-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748935301-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748937391-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748939481-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748941621-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748943831-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748946001-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748948041-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748953151-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748955421-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748957571-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748959731-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748961881-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748964111-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748968661-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748971091-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748973231-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748975361-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748977491-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748979641-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748981691-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748983851-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748985911-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748988041-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748990201-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748992351-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748994551-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748996761-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.748999001-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749001181-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749003341-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749005471-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749007621-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749009731-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749011901-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749014081-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749017681-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749019991-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749022191-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749024431-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749026581-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749028921-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749031111-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749033241-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749040341-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749042631-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749044901-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749047231-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749049481-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749051541-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749053631-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749055791-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749061170-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749063400-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749065450-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749067590-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749069830-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749072000-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749074260-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749076490-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749078730-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749080910-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749083050-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749085320-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749087460-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749089680-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749091880-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749093950-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749096080-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749098160-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749100380-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749102730-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749104900-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749107160-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749109390-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749111830-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749114100-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749116320-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749118460-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749120600-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749122710-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749124890-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749127080-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749129490-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749132030-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749134210-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749136390-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749138540-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749140680-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749142800-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749144960-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749147100-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749149310-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749151380-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749153480-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749155650-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749160980-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749163140-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749165280-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749167450-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749169640-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749171720-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749173840-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749176140-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749178290-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749180530-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749182710-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749184970-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749187140-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749189290-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749191420-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749193560-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749195700-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749197860-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749199950-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749202050-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749204150-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749206230-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749208380-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749210559-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749212759-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749214969-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749217159-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749219309-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749221479-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749223649-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749225809-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749227959-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749230169-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749232349-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749238429-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749241119-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749243529-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749245959-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749248089-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749250259-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749252399-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749254539-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749256749-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749260629-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749262709-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749267979-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749274319-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749276429-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749278759-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749280959-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749283099-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749285339-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749287399-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749289539-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749291809-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749294029-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749296199-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749298369-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749300539-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749302839-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749306159-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749309519-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749311749-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749313909-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749316129-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749318249-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749320459-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749322669-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749324999-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749327279-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749329609-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749331969-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749334339-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749336689-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749348849-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749351139-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749353309-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749355469-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749357909-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749360079-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749362309-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749364508-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749366728-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749368978-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749371148-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749373288-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749375458-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749377578-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749379718-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749381868-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749387368-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749389528-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749391678-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749393888-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749395958-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749398048-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749400258-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749402448-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749404618-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749406708-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749408848-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749411068-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749413238-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749415458-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749417658-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749419878-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749422018-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749424228-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749426888-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749429078-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749431238-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749433368-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749435418-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749437518-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749439578-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749441748-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749443938-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749446118-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749448428-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749450708-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749458948-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749461328-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749463808-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749466148-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749468308-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749470428-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749472608-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749474848-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749476988-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749479118-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749481338-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749483538-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749485688-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749487868-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749493168-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749495618-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749497948-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749500308-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749502538-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749504758-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749507248-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749509448-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749511648-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749513908-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749516057-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749517857-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749519657-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749521427-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749523247-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749525727-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749527617-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749529457-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749531267-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749533067-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749534877-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749536727-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749538497-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749540267-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749542077-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749543937-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749545697-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749547467-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749549387-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749551237-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749553067-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749554877-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749556697-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749559877-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749561727-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749563527-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749565387-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749567197-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749568997-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749570857-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749572677-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749574477-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749577607-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749579507-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749584117-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749585897-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749587617-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749589307-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749591087-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749592917-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749594767-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749596437-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749598237-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749600087-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749601897-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749603587-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749605347-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749607057-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749608757-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749610517-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749612297-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749614007-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749615707-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749620837-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749622627-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749624317-05:00 ============================== 10 errors in 0.86s ============================== [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749626037-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749641327-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749644887-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749646617-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749648327-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749649957-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749651647-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749653397-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749655127-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749656887-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749658657-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749660337-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749662027-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749666417-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749668586-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749670316-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749672016-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749673816-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749675476-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749677146-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749678836-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749680616-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749682336-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749684066-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749685816-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749687656-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749689466-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749691266-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749693076-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749695006-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749697396-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749699236-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749701066-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749703096-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749704916-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749706786-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749708646-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749710446-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749712256-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749714046-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749715816-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749717646-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749719516-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749721416-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749723166-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749725446-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749727316-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749729146-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749730966-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749732746-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749734516-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749736336-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749738156-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749739986-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749744406-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749746156-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749747856-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749749606-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749751296-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749753006-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749754696-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749756506-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749758146-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749759826-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749761556-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749763386-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749768406-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749770306-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749772206-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749774246-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749776216-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749778026-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749779906-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749781716-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749783556-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749785446-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749787246-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749789046-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749790866-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749792676-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749794616-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749796426-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749798216-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749800136-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749801936-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749803796-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749805606-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749807516-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749809286-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749811126-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749812966-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749814786-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749816576-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749818316-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749820106-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749821955-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749826445-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749828235-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749830005-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749831725-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749833445-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749835135-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749836845-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749838535-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749840295-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749841995-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749843615-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749845415-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749847115-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749848855-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749850565-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749853345-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749855175-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749856925-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749858675-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749860485-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749862325-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749864035-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749865775-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749867465-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749869285-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749871015-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749872735-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749874465-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749876245-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749877965-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749879685-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749881405-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749883155-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749884855-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749886685-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749888435-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749890065-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749892545-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749894305-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749896035-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749903995-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749905725-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749907405-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749928495-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749944155-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749947135-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749956975-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749959455-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749962145-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749964345-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749966545-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749968775-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749970885-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749973075-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749975334-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749977954-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749980014-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749982184-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749984644-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749986934-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749989164-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749991334-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749993514-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749995634-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.749997824-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750000354-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750002494-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750004594-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750006784-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750009014-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750011474-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750013634-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750015764-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750017874-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750020054-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750022174-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750024364-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750026464-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750028674-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750031144-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750033184-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750035774-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750050354-05:00 def daily_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750052624-05:00 > return _run("daily") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750054734-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750056784-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750059194-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750061474-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750063604-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750065724-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750067884-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750070014-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750072234-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750074344-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750076494-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750078604-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750080714-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750082834-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750084864-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750086964-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750089044-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750091124-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750093294-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750095464-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750097624-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750099854-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750102004-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750104094-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750106264-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750108424-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750110584-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750112794-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750115034-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750117184-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750119304-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750121444-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750123624-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750125744-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750127923-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750130093-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750132283-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750134393-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750136523-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750143643-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750150223-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750152803-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750154993-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750157133-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750159283-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750161353-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750163433-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750165643-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750167763-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750169983-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750172193-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750174813-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750177003-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750179123-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750181193-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750183373-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750185573-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750187743-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750189833-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750192023-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750194053-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750196143-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750198303-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750200473-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750202693-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750204933-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750207963-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750210173-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750212373-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750214523-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750216693-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750218813-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750221613-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750223803-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750225973-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750228113-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750230273-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750232423-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750234573-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750236713-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750238833-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750241023-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750247303-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750249583-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750251623-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750253923-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750256123-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750258273-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750260393-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750262533-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750264713-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750266903-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750269043-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750271253-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750273433-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750275583-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750277743-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750279912-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750282312-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750284502-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750286652-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750290142-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750292252-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750294372-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750296422-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750298542-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750301532-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750303672-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750305912-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750308122-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750310342-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750317122-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750319392-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750321742-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750324912-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750327042-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750329232-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750331342-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750333452-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750335622-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750346152-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750362162-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750364352-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750370312-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750372642-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750374942-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750377162-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750379412-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750381512-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750383802-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750386042-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750388252-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750390452-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750392462-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750394612-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750396812-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750399012-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750401192-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750403422-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750405602-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750407742-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750409922-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750413292-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750415572-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750417752-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750419962-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750422402-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750424582-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750426602-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750428672-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750430852-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750433122-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750435371-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750437631-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750439831-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750442031-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750444271-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750446401-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750448531-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750450621-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750452821-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750454971-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750457091-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750462541-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750465331-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750467511-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750469641-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750471771-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750473941-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750476141-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750478341-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750480681-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750482741-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750484941-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750487131-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750489281-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750491471-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750493531-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750495641-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750497921-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750500061-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750502271-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750504441-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750507121-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750512761-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750514571-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750516261-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750518381-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750520261-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750522031-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750523671-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750525401-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750527061-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750528781-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750530591-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750532321-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750534121-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750535891-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750537641-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750539431-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750541171-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750542901-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750544621-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750546341-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750548091-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750552611-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750554391-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750557821-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750559631-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750561391-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750563141-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750564961-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750566661-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750568381-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750570171-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750572481-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750574121-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750575911-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750577661-05:00 def weekly_report(): [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750579511-05:00 > return _run("weekly") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750581261-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750582901-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750584651-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750586381-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750588101-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750590131-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750591901-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750593620-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750595380-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750597100-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750598850-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750600590-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750602360-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750604130-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750605790-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750607570-05:00 store_id = 'Fastime' [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750609210-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750610910-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750613410-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750615240-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750617040-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750618930-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750621210-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750623010-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750624720-05:00 """ [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750629190-05:00 base = _require_base() [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750630950-05:00 try: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750632720-05:00 import requests [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750634420-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750636150-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750637880-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750639590-05:00 raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750641360-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750643090-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750644780-05:00 if r.status_code == 404: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750646510-05:00 return None [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750648230-05:00 if r.status_code != 200: [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750649930-05:00 > raise ManageApiError( [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750651660-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750653400-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750655040-05:00 [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750666490-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.750668760-05:00 ----- end live Job logs ----- [pod/analytics-report-live-vh4rw-live-build-pod/step-run-live] 2026-07-17T21:56:14.786991505-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-vh4rw-live-build-pod/prepare] 2026-07-17T21:55:17.305624159-05:00 2026/07/18 02:55:17 Entrypoint initialization [pod/analytics-report-live-vh4rw-live-build-pod/place-scripts] 2026-07-17T21:55:17.549344931-05:00 2026/07/18 02:55:17 Decoded script /tekton/scripts/script-0-f2gm6 [pod/analytics-report-live-vh4rw-live-build-pod/place-scripts] 2026-07-17T21:55:17.569730279-05:00 2026/07/18 02:55:17 Decoded script /tekton/scripts/script-2-zxh9s