===== analytics-report-live-f55st-archive-logs-pod.log ===== [pod/analytics-report-live-f55st-archive-logs-pod/prepare] 2026-07-17T21:25:10.582941894-05:00 2026/07/18 02:25:10 Entrypoint initialization [pod/analytics-report-live-f55st-archive-logs-pod/place-scripts] 2026-07-17T21:25:11.298911377-05:00 2026/07/18 02:25:11 Decoded script /tekton/scripts/script-0-vk8dt [pod/analytics-report-live-f55st-archive-logs-pod/place-scripts] 2026-07-17T21:25:11.322076518-05:00 2026/07/18 02:25:11 Decoded script /tekton/scripts/script-1-fd4gf [pod/analytics-report-live-f55st-archive-logs-pod/step-collect-logs] 2026-07-17T21:25:15.651400433-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-f55st ===== analytics-report-live-f55st-clone-pod.log ===== [pod/analytics-report-live-f55st-clone-pod/prepare] 2026-07-17T21:23:59.664011880-05:00 2026/07/18 02:23:59 Entrypoint initialization [pod/analytics-report-live-f55st-clone-pod/place-scripts] 2026-07-17T21:24:00.736187792-05:00 2026/07/18 02:24:00 Decoded script /tekton/scripts/script-0-4wmwr [pod/analytics-report-live-f55st-clone-pod/step-clone] 2026-07-17T21:24:06.326490814-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-f55st-clone-pod/step-clone] 2026-07-17T21:24:06.326512114-05:00 * branch a3d62f58a3d48eb41a7bddb4932d2adb9372b381 -> FETCH_HEAD [pod/analytics-report-live-f55st-clone-pod/step-clone] 2026-07-17T21:24:06.390911560-05:00 Cloned a3d62f58a3d48eb41a7bddb4932d2adb9372b381 ===== analytics-report-live-f55st-live-build-pod.log ===== [pod/analytics-report-live-f55st-live-build-pod/prepare] 2026-07-17T21:24:11.226550236-05:00 2026/07/18 02:24:11 Entrypoint initialization [pod/analytics-report-live-f55st-live-build-pod/place-scripts] 2026-07-17T21:24:11.964507429-05:00 2026/07/18 02:24:11 Decoded script /tekton/scripts/script-0-ffpt5 [pod/analytics-report-live-f55st-live-build-pod/place-scripts] 2026-07-17T21:24:11.987997014-05:00 2026/07/18 02:24:11 Decoded script /tekton/scripts/script-2-5xs8l [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.362802436-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363607162-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363615982-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363619062-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363621692-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363624142-05:00 COPY . /prsrc [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363626562-05:00 WORKDIR /prsrc [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363629122-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363631632-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363634192-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-f55st-live-build-pod/step-prepare-dockerfile] 2026-07-17T21:24:17.363640022-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.588354034-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.588384794-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.608530993-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.608541743-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.616227465-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.616235305-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.616237945-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.616253735-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.616264615-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.616423104-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.616738742-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.664302916-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:b1938d15147e6baef7ab251cc62ad5f955d2da4cb3110fe481b99de59fc4d16b... [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.687663380-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:17.687675700-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:26.478312702-05:00 INFO[0008] COPY . /prsrc [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:26.608663270-05:00 INFO[0009] Taking snapshot of files... [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:26.790577541-05:00 INFO[0009] WORKDIR /prsrc [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:26.790592961-05:00 INFO[0009] Cmd: workdir [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:26.790597421-05:00 INFO[0009] Changed working directory to /prsrc [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:26.790888689-05:00 INFO[0009] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:26.790920399-05:00 INFO[0009] RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:26.790932239-05:00 INFO[0009] Initializing snapshotter ... [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:26.790937439-05:00 INFO[0009] Taking snapshot of full filesystem... [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:33.068786794-05:00 INFO[0015] Cmd: /bin/sh [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:33.068805754-05:00 INFO[0015] Args: [-c pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest)] [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:33.068817794-05:00 INFO[0015] Running: [/bin/sh -c pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest)] [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:33.433841593-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:33.435817953-05:00 Installing build dependencies: started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:35.746485845-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:35.747184911-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:35.869518247-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:35.870575452-05:00 Getting requirements to build editable: started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.067715491-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.068908915-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.258274644-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.299787105-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.300742051-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.529181733-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.529887890-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1956 sha256=f7175a9a3f5995c14f79a1a1200c36e0bbaea14b8e7aa93ff79c45617ef00302 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.530014359-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-mjteaanz/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.532380257-05:00 Successfully built storeminder [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.532574046-05:00 Installing collected packages: storeminder [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.532709585-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.575032893-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.580499655-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.582293266-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.659786667-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.660037256-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.806762428-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.806779938-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:36.806783798-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:37.320864815-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:37.323953719-05:00 Installing build dependencies: started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:39.715121223-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:39.715890900-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:39.855477547-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:39.856632731-05:00 Getting requirements to build editable: started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.060205397-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.061514210-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.253188205-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.326696605-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.327952809-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.328826545-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.329603021-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.330429227-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.331656700-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.333182583-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.334090498-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.525974622-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.607372292-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.630798674-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.631970268-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.633193792-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.634427586-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.635457201-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.638603785-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.639431161-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.640472376-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.645985338-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.647112122-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.648400216-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.652132287-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.719382158-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.778015413-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.779192677-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.833290795-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.858102010-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.861075655-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.901593651-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.917664430-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.921174592-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.933369501-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.934750614-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.935826789-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.936638015-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.967732748-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:40.974187206-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.024879430-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.025753086-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.027025850-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.038304183-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.121456994-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.252384134-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 3.0 MB/s eta 0:00:00 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.272480403-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.292980460-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.299010910-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.471933179-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.473013503-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.474596515-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.697970440-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.698767526-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=1956 sha256=e15773b64cce3c679afe9488a7adeeab29ca092daa1a8481415834ed04395e06 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.698959115-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-us9tkcbb/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:41.701522762-05:00 Successfully built storeminder [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:42.690400820-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:42.941776323-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:42.983383363-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:42.985756331-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:43.165849733-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:43.360373402-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:43.360591401-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-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:43.508895374-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:43.508916814-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:43.508920904-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:43.671717563-05:00 INFO[0026] Taking snapshot of full filesystem... [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:45.787306880-05:00 INFO[0028] Pushing layer registry.storeminder.ai/images/cache:b1938d15147e6baef7ab251cc62ad5f955d2da4cb3110fe481b99de59fc4d16b to cache now [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:45.787550368-05:00 INFO[0028] Pushing image to registry.storeminder.ai/images/cache:b1938d15147e6baef7ab251cc62ad5f955d2da4cb3110fe481b99de59fc4d16b [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:45.961294932-05:00 INFO[0028] Pushed registry.storeminder.ai/images/cache@sha256:0b1d5a6ec20ed854d3144b043a0aa5b5776710024c44f4aa504755e6dcfdacec [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:45.961942708-05:00 INFO[0028] Pushing image to registry.storeminder.ai/images/storeminder-report-live:a3d62f58a3d48eb41a7bddb4932d2adb9372b381 [pod/analytics-report-live-f55st-live-build-pod/step-build-pr-image] 2026-07-17T21:24:46.155875399-05:00 INFO[0028] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:9e105c44d6ff71a8d445a27b4c2636c9930098243907614e0a2df83002bff305 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:24:46.844780171-05:00 /tekton/scripts/script-2-5xs8l: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:24:46.976218507-05:00 job.batch/report-live-a3d62f5 created [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:07.707429983-05:00 ----- live Job logs (report-live-a3d62f5) ----- [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313042343-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313064153-05:00 ============================= test session starts ============================== [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313069153-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313073483-05:00 cachedir: .pytest_cache [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313077563-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313081293-05:00 configfile: pyproject.toml [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313084993-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313089213-05:00 collecting ... collected 10 items [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313092883-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313097113-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313102653-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313110033-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313115383-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313120563-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313125973-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313129953-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313133793-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313137533-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313141333-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313144923-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313148723-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313152523-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313156333-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313160163-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313163963-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313167683-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313171363-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313174953-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313178713-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313182482-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313186492-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313190312-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313194072-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313197832-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313201582-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313205312-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313209082-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313227422-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313229902-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313232312-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313234492-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313236692-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313238842-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313241082-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313243362-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313245702-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313248012-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313250362-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313252712-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313255062-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313257412-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313259712-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313262012-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313264332-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313266622-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313268962-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313271322-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313273622-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313276622-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313279022-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313281342-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313283622-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313285962-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313288262-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313290572-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313292882-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313295072-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313297412-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313299772-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313301952-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313304212-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313306552-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313308862-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313311152-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313313342-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313315592-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313317882-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313320182-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313322442-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313329522-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313331942-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313334312-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313352722-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313357212-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313359512-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313361752-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313364132-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313366332-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313368552-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313370712-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313372932-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313375301-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313377671-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313380041-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313382441-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313384731-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313387061-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313389421-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313391681-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313393951-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313396211-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313398571-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313400881-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313403171-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313405451-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313407731-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313410031-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313412321-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313414591-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313416861-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313419151-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313421451-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313423761-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313425951-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313428201-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313430481-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313432681-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313434921-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313437221-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313439491-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313441771-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313443941-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313446221-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313448531-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313450801-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313453081-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313455391-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313461651-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313463971-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313466221-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313468491-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313470751-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313473001-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313475281-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313477511-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313479741-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313481921-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313484111-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313486381-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313488691-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313490981-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313493271-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313495631-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313497941-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313500251-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313502491-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313504751-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313506981-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313509231-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313511501-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313513791-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313516141-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313518391-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313520661-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313522951-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313525241-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313527501-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313529911-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313532911-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313535281-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313537461-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313539681-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313542761-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313545001-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313547231-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313553321-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313555721-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313557961-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313559731-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313561561-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313563911-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313565741-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313570410-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313572470-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313574290-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313576120-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313577940-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313579810-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313581630-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313583450-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313585280-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313587090-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313588900-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313590650-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313592410-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313595080-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313596970-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313598890-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313600740-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313602590-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313604500-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313606330-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313608660-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313610470-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313612300-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313614200-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313616040-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313617890-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313619740-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313621610-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313623420-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313625250-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313627070-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313628890-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313630680-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313632560-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313634490-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313636230-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313638000-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313639850-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313641610-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313643360-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313645190-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313647070-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313648900-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313650630-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313652400-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313656850-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313658690-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313660540-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313662370-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313664260-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313666090-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313667920-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313670320-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313672200-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313674020-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313675870-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313677640-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313679450-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313681210-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313682960-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313684790-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313686660-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313688520-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313690430-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313692380-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313694240-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313696050-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313697850-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313699650-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313701430-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313703240-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313705070-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313706900-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313708740-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313710550-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313712350-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313714180-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313716030-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313717830-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313719630-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313723810-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313725780-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313727510-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313729270-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313731190-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313732920-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313734770-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313736610-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313738480-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313743180-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313744930-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313746700-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313748600-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313750440-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313752340-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313754160-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313756010-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313757820-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313759630-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313761420-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313763210-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313765039-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313766879-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313768709-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313770519-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313772279-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313774049-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313775959-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313777789-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313779689-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313782159-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313784039-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313785889-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313787719-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313789529-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313791359-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313793159-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313794999-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313796829-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313798699-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313800599-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313802429-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313804379-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313806669-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313808549-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313810399-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313812229-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313814059-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313815979-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313817749-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313819569-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313821409-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313823169-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313827589-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313829429-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313831249-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313833099-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313834839-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313836619-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313838459-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313840269-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313842059-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313843919-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313845819-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313847659-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313849479-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313851269-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313853079-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313854889-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313856769-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313858499-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313860289-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313862039-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313863819-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313865689-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313867539-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313869419-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313871279-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313873099-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313875759-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313877589-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313879429-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313881259-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313883079-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313884959-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313886799-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313891009-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313892919-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313894769-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313896599-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313898449-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313900249-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313902069-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313903869-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313905689-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313907579-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313909299-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313911059-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313915649-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313917429-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313919179-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313921009-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313922839-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313924699-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313926449-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313928189-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313930029-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313931829-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313933699-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313935649-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313937479-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313939349-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313941179-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313942989-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313945249-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313947219-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313949119-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313950879-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313952679-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313954449-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313956199-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313958019-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313959858-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313961728-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313963628-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313965498-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313967408-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313969248-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313971058-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313972878-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313974688-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313977088-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313978938-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313980758-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313982568-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313984398-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313986208-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313988018-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313989878-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313991718-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313993568-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.313995458-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314000018-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314001788-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314003578-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314005388-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314007158-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314008928-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314010778-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314012598-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314014408-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314016138-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314017918-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314019758-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314021608-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314023458-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314025268-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314027118-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314028998-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314030868-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314032678-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314034518-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314036308-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314038128-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314039878-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314041648-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314043378-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314045578-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314047448-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314049338-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314051228-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314053128-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314057298-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314059188-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314061038-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314062938-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314064738-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314066538-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314068328-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314070188-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314072038-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314073838-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314075728-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314077598-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314079418-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314081228-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314083058-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314087588-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314089568-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314091488-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314093238-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314095058-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314096878-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314098628-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314100398-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314102318-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314104158-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314105988-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314107708-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314109528-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314111428-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314113248-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314115098-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314117428-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314119268-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314121138-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314122998-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314124838-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314126648-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314128498-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314130408-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314132168-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314133928-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314135678-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314137438-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314139338-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314141188-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314143118-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314144998-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314146868-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314148738-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314150548-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314152398-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314154218-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314156027-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314158657-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314160567-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314162417-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314164307-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314166157-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314168037-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314172977-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314174827-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314176647-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314178447-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314180267-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314182187-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314183947-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314185877-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314187807-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314189627-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314191437-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314193357-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314195167-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314196997-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314198867-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314200757-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314202567-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314204447-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314208567-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314210457-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314212247-05:00 ============================== 10 errors in 0.94s ============================== [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314214097-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314217357-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314221107-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314222957-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314224847-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314226597-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314228357-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314230207-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314232047-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314233947-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314235787-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314238347-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314240157-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314245247-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314247187-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314248977-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314250777-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314252617-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314254337-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314256087-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314257927-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314259697-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314261567-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314263447-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314265277-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314267197-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314269037-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314270907-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314272737-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314274537-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314276387-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314278177-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314280077-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314282027-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314283857-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314285697-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314287627-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314289477-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314291277-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314293107-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314294917-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314296747-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314298597-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314300667-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314302417-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314304637-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314306507-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314308337-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314310187-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314311937-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314313737-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314315627-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314317477-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314319407-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314321237-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314325797-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314327677-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314329537-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314331347-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314333147-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314334947-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314336767-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314346277-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314348167-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314349896-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314351736-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314357076-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314359546-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314361446-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314363336-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314365156-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314366986-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314368866-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314370766-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314372596-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314374436-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314376246-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314378066-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314379876-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314381686-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314383596-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314385406-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314387216-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314389026-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314390846-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314392666-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314394526-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314396426-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314398206-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314400166-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314402006-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314403826-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314405686-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314407426-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314409316-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314411176-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314416796-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314418706-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314420556-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314422376-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314424196-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314426016-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314427816-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314429616-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314431486-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314433316-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314435056-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314436836-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314438586-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314440356-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314442266-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314444106-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314447056-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314448996-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314450856-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314452686-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314454566-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314456356-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314458176-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314459976-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314461886-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314463786-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314465646-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314467466-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314469346-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314471186-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314472996-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314474846-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314476716-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314478536-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314480366-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314482246-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314484006-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314486026-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314487896-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314489726-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314496606-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314498416-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314500216-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314515696-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314523336-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314526886-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314535086-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314537616-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314540556-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314542916-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314545135-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314547375-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314549675-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314551945-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314554255-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314556925-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314559115-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314561365-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314563995-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314566315-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314568695-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314571035-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314573415-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314575705-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314577995-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314581375-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314583685-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314585945-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314588255-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314591255-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314593515-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314595745-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314598045-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314600275-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314602535-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314604815-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314607225-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314609605-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314611925-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314614525-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314616685-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314619315-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314631145-05:00 def daily_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314633515-05:00 > return _run("daily") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314635755-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314637895-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314640145-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314642525-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314644925-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314647215-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314649475-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314652685-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314655005-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314657255-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314659525-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314661775-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314663975-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314666295-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314668445-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314671095-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314673275-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314675495-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314677775-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314680085-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314682435-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314684755-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314687045-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314689355-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314691645-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314693915-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314696235-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314698455-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314700765-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314703045-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314705275-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314707515-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314709805-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314712015-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314714305-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314716595-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314718845-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314721075-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314723685-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314729585-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314731835-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314738505-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314741104-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314743404-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314745644-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314747784-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314749994-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314752904-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314755164-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314757514-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314759794-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314762114-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314764354-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314766534-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314768804-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314771004-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314773264-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314776294-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314778444-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314780634-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314782794-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314785034-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314787324-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314789594-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314791934-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314794284-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314796614-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314799694-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314801924-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314804174-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314806464-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314808714-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314811014-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314813314-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314815594-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314817844-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314820054-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314822314-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314824574-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314826864-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314829074-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314831364-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314833664-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314839534-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314841734-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314844174-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314846494-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314848794-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314851034-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314853204-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314855414-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314857684-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314859904-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314862154-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314864404-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314866664-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314868934-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314871184-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314873394-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314875714-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314877954-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314880244-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314882384-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314884584-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314886754-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314888974-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314891204-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314893484-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314895814-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314898124-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314900404-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314905574-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314907974-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314910264-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314912494-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314914704-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314916954-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314919224-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314921414-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314923704-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314926024-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314928244-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314930484-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314936233-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314938533-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314940763-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314943013-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314945383-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314947553-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314949903-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314952193-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314954473-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314956733-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314958873-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314961483-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314963823-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314966073-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314968413-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314970623-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314972873-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314975253-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314977513-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314979753-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314981943-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314984173-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314986423-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314988543-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314990763-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314992933-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314995143-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314997383-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.314999643-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315001983-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315004303-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315006603-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315008863-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315011133-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315013353-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315015633-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315017843-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315020093-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315022363-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315024643-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315026883-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315032373-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315035553-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315037843-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315040073-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315042403-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315044683-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315047713-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315050163-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315052323-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315054603-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315056913-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315059163-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315061533-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315063663-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315065853-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315068083-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315070903-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315073283-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315076603-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315078923-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315084033-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315086423-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315088683-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315090953-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315093193-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315095963-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315098113-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315100373-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315102563-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315104813-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315107183-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315109473-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315111753-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315114073-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315116353-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315119373-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315121653-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315123933-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315126193-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315128393-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315130652-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315136682-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315139012-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315141252-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315143562-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315145812-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315148062-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315150322-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315152562-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315154822-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315157122-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315159562-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315161712-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315164042-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315166332-05:00 def weekly_report(): [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315168592-05:00 > return _run("weekly") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315170842-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315172962-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315175822-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315178202-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315180472-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315182762-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315184962-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315187192-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315189392-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315191632-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315193862-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315196122-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315198362-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315200652-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315202782-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315204962-05:00 store_id = 'Fastime' [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315207102-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315209262-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315211472-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315213732-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315216052-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315218302-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315220732-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315223032-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315225282-05:00 """ [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315231252-05:00 base = _require_base() [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315233622-05:00 try: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315235932-05:00 import requests [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315238352-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315240762-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315243202-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315245652-05:00 raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315248062-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315250412-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315252752-05:00 if r.status_code == 404: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315255152-05:00 return None [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315257542-05:00 if r.status_code != 200: [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315259882-05:00 > raise ManageApiError( [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315262262-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315264752-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315267052-05:00 [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315275392-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.315277882-05:00 ----- end live Job logs ----- [pod/analytics-report-live-f55st-live-build-pod/step-run-live] 2026-07-17T21:25:08.341615077-05:00 ==> live build: status=Failed conclusion=failure ===== analytics-report-live-f55st-notify-on-failure-pod.log ===== [pod/analytics-report-live-f55st-notify-on-failure-pod/place-scripts] 2026-07-17T21:25:12.439149918-05:00 2026/07/18 02:25:12 Decoded script /tekton/scripts/script-0-q26l9 [pod/analytics-report-live-f55st-notify-on-failure-pod/prepare] 2026-07-17T21:25:11.629741026-05:00 2026/07/18 02:25:11 Entrypoint initialization ===== analytics-report-live-f55st-post-check-live-pod.log ===== [pod/analytics-report-live-f55st-post-check-live-pod/prepare] 2026-07-17T21:25:10.999434627-05:00 2026/07/18 02:25:10 Entrypoint initialization [pod/analytics-report-live-f55st-post-check-live-pod/place-scripts] 2026-07-17T21:25:11.300107290-05:00 2026/07/18 02:25:11 Decoded script /tekton/scripts/script-0-lpg4t [pod/analytics-report-live-f55st-post-check-live-pod/step-post-check] 2026-07-17T21:25:15.463480645-05:00 Installing PyJWT + cryptography + requests… ===== analytics-report-live-f55st-post-status-live-pod.log ===== [pod/analytics-report-live-f55st-post-status-live-pod/prepare] 2026-07-17T21:25:10.858478737-05:00 2026/07/18 02:25:10 Entrypoint initialization [pod/analytics-report-live-f55st-post-status-live-pod/place-scripts] 2026-07-17T21:25:11.294361410-05:00 2026/07/18 02:25:11 Decoded script /tekton/scripts/script-0-c75vv [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:15.557599984-05:00 Posting commit status to GitHub [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:15.557628503-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:15.557631723-05:00 SHA: a3d62f58a3d48eb41a7bddb4932d2adb9372b381 [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:15.557633933-05:00 State: failure (Failed) [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:15.557636203-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-a3d62f58a3d48eb41a7bddb4932d2adb9372b381/analytics-report-live-f55st/logs.txt [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172078317-05:00 { [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172116827-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/a3d62f58a3d48eb41a7bddb4932d2adb9372b381", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172124357-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172139817-05:00 "id": 50683909921, [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172157727-05:00 "node_id": "SC_kwDOS9o4_c8AAAALzP8XIQ", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172161847-05:00 "state": "failure", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172165697-05:00 "description": "Checks failed", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172169937-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-a3d62f58a3d48eb41a7bddb4932d2adb9372b381/analytics-report-live-f55st/logs.txt", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172190867-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172199867-05:00 "created_at": "2026-07-18T02:25:15Z", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172214177-05:00 "updated_at": "2026-07-18T02:25:15Z", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172218317-05:00 "creator": { [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172241006-05:00 "login": "steveblackmon", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172245106-05:00 "id": 702924, [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172248986-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172252966-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172257036-05:00 "gravatar_id": "", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172292056-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172296476-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172300486-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172304726-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172308586-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172331676-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172335696-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172366766-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172376116-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172380116-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172407056-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172411256-05:00 "type": "User", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172415855-05:00 "user_view_type": "public", [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172421675-05:00 "site_admin": false [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172444355-05:00 } [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.172451565-05:00 } [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.175937787-05:00 [pod/analytics-report-live-f55st-post-status-live-pod/step-post-status] 2026-07-17T21:25:16.175950777-05:00 Status posted successfully ===== analytics-report-live-f55st-reclaim-workspace-pod.log ===== [pod/analytics-report-live-f55st-reclaim-workspace-pod/prepare] 2026-07-17T21:25:12.052235367-05:00 2026/07/18 02:25:12 Entrypoint initialization [pod/analytics-report-live-f55st-reclaim-workspace-pod/place-scripts] 2026-07-17T21:25:12.487065423-05:00 2026/07/18 02:25:12 Decoded script /tekton/scripts/script-0-65wrg