===== analytics-report-live-cb969-archive-logs-pod.log ===== [pod/analytics-report-live-cb969-archive-logs-pod/prepare] 2026-07-18T11:48:20.664601577-05:00 2026/07/18 16:48:20 Entrypoint initialization [pod/analytics-report-live-cb969-archive-logs-pod/place-scripts] 2026-07-18T11:48:21.640883796-05:00 2026/07/18 16:48:21 Decoded script /tekton/scripts/script-0-gxzg2 [pod/analytics-report-live-cb969-archive-logs-pod/place-scripts] 2026-07-18T11:48:21.663070813-05:00 2026/07/18 16:48:21 Decoded script /tekton/scripts/script-1-szb8s [pod/analytics-report-live-cb969-archive-logs-pod/step-collect-logs] 2026-07-18T11:48:25.833445654-05:00 ==> collecting pod logs for PipelineRun=analytics-report-live-cb969 ===== analytics-report-live-cb969-clone-pod.log ===== [pod/analytics-report-live-cb969-clone-pod/prepare] 2026-07-18T11:47:15.726542851-05:00 2026/07/18 16:47:15 Entrypoint initialization [pod/analytics-report-live-cb969-clone-pod/place-scripts] 2026-07-18T11:47:16.887575447-05:00 2026/07/18 16:47:16 Decoded script /tekton/scripts/script-0-cdjbr [pod/analytics-report-live-cb969-clone-pod/step-clone] 2026-07-18T11:47:22.362171048-05:00 From https://github.com/storeminder-ai/storeminder [pod/analytics-report-live-cb969-clone-pod/step-clone] 2026-07-18T11:47:22.362205558-05:00 * branch 6c6273c0e86f781bc830949dba8d5ace2d6312db -> FETCH_HEAD [pod/analytics-report-live-cb969-clone-pod/step-clone] 2026-07-18T11:47:22.420965510-05:00 Cloned 6c6273c0e86f781bc830949dba8d5ace2d6312db ===== analytics-report-live-cb969-live-build-pod.log ===== [pod/analytics-report-live-cb969-live-build-pod/prepare] 2026-07-18T11:47:27.674093731-05:00 2026/07/18 16:47:27 Entrypoint initialization [pod/analytics-report-live-cb969-live-build-pod/place-scripts] 2026-07-18T11:47:28.233550640-05:00 2026/07/18 16:47:28 Decoded script /tekton/scripts/script-0-cqtpj [pod/analytics-report-live-cb969-live-build-pod/place-scripts] 2026-07-18T11:47:28.255456279-05:00 2026/07/18 16:47:28 Decoded script /tekton/scripts/script-2-bkr7f [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.564882314-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565696520-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565703710-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565707230-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565711820-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565714620-05:00 COPY . /prsrc [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565718630-05:00 WORKDIR /prsrc [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565721450-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565724310-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565726970-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-cb969-live-build-pod/step-prepare-dockerfile] 2026-07-18T11:47:33.565730040-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.753887207-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.753922847-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.778467403-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.778486323-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.786673682-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.786691062-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.786704911-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.786724261-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.786739941-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.786881451-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.787506107-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.839733093-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:ac49542016ad5dd3f7ad40078dfab97f00af581c868f8212bca95fc6260b4ada... [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.859800302-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:33.859822761-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:43.875477660-05:00 INFO[0010] COPY . /prsrc [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:44.025574290-05:00 INFO[0010] Taking snapshot of files... [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:44.216295255-05:00 INFO[0010] WORKDIR /prsrc [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:44.216428704-05:00 INFO[0010] Cmd: workdir [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:44.216436184-05:00 INFO[0010] Changed working directory to /prsrc [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:44.216639553-05:00 INFO[0010] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:44.216664063-05:00 INFO[0010] RUN pip install --no-cache-dir --no-deps -e /prsrc/analytics && (pip install --no-cache-dir -e "/prsrc/analytics[test]" || pip install --no-cache-dir pytest) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:44.216671343-05:00 INFO[0010] Initializing snapshotter ... [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:44.216676213-05:00 INFO[0010] Taking snapshot of full filesystem... [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:51.120731335-05:00 INFO[0017] Cmd: /bin/sh [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:51.120844644-05:00 INFO[0017] 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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:51.120859954-05:00 INFO[0017] 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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:51.479869197-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:51.481959067-05:00 Installing build dependencies: started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:53.608544174-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:53.609521139-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:53.728749146-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:53.729777611-05:00 Getting requirements to build editable: started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:53.900123829-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:53.901266743-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.105345630-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.151505977-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.152834610-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.385537852-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.386181699-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=6424ccc7cd719cd42e682f874ea30a7915eebfa4a0eaba43a79d737493c9fee7 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.386300048-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-8krzt0tp/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.388697296-05:00 Successfully built storeminder [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.388879785-05:00 Installing collected packages: storeminder [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.389060324-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.428871923-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.434925922-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.436864802-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.528888647-05:00 Successfully installed storeminder-0.1.0 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.529103556-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.696863057-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.696977196-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:54.696986316-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:55.181253705-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:55.183631323-05:00 Installing build dependencies: started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:57.629963903-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:57.631129567-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:57.800431000-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:57.801593564-05:00 Getting requirements to build editable: started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.026517646-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.028443516-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.243662127-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.339517702-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.340505727-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.341318623-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.342070629-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.343035904-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.344100668-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.345613381-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.346604386-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.508763845-05:00 Collecting pytest>=7 (from storeminder==0.1.0) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.571747166-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.589192648-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.590458572-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.591791355-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.593186328-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.594392752-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.598166663-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.599022298-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.600191872-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.606554980-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.607844334-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.609059467-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.613293076-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.666357777-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.705120421-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.706064776-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.749600746-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.767919133-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.770830689-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.814926256-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder==0.1.0) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.837218223-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.840035838-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.849791999-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.851381791-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.852819644-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.854158637-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.926538881-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.939932653-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.992433747-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.994311918-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:58.996833825-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.022535165-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.132129600-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.356921273-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 1.8 MB/s eta 0:00:00 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.377964896-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.397265418-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.408519711-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.531464199-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.532029986-05:00 Building wheels for collected packages: storeminder [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.533084141-05:00 Building editable for storeminder (pyproject.toml): started [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.726451102-05:00 Building editable for storeminder (pyproject.toml): finished with status 'done' [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.727408897-05:00 Created wheel for storeminder: filename=storeminder-0.1.0-0.editable-py3-none-any.whl size=2011 sha256=f992abc508e88b7d57a8774524183547e7e61dced9383146a042cbfde4f34aca [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.727687836-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-9eh5w1jj/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:47:59.730708261-05:00 Successfully built storeminder [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:00.745709784-05:00 Installing collected packages: pluggy, iniconfig, pytest, storeminder [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:00.963280823-05:00 Attempting uninstall: storeminder [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:01.017265559-05:00 Found existing installation: storeminder 0.1.0 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:01.019091420-05:00 Uninstalling storeminder-0.1.0: [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:01.239893313-05:00 Successfully uninstalled storeminder-0.1.0 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:01.431234914-05:00 Successfully installed iniconfig-2.3.0 pluggy-1.6.0 pytest-9.1.1 storeminder-0.1.0 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:01.431471233-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-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:01.592061470-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:01.592207880-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:01.592215150-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:01.701720425-05:00 INFO[0027] Taking snapshot of full filesystem... [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:03.801440359-05:00 INFO[0030] Pushing layer registry.storeminder.ai/images/cache:ac49542016ad5dd3f7ad40078dfab97f00af581c868f8212bca95fc6260b4ada to cache now [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:03.801601858-05:00 INFO[0030] Pushing image to registry.storeminder.ai/images/cache:ac49542016ad5dd3f7ad40078dfab97f00af581c868f8212bca95fc6260b4ada [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:03.945456740-05:00 INFO[0030] Pushed registry.storeminder.ai/images/cache@sha256:9cc5119d055f8fdaab1cd7cf6362b270b50b4d58c15926719d57f816088e6e79 [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:03.946362425-05:00 INFO[0030] Pushing image to registry.storeminder.ai/images/storeminder-report-live:6c6273c0e86f781bc830949dba8d5ace2d6312db [pod/analytics-report-live-cb969-live-build-pod/step-build-pr-image] 2026-07-18T11:48:04.156115034-05:00 INFO[0030] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:0c48ee199adfde8a1005c8395f2e26124fb1c1e00a4f2eb7738481606ac19a61 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:04.990731050-05:00 /tekton/scripts/script-2-bkr7f: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:05.079548740-05:00 job.batch/report-live-6c6273c created [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:15.510684984-05:00 ----- live Job logs (report-live-6c6273c) ----- [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.234972008-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236625780-05:00 ============================= test session starts ============================== [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236637990-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236645630-05:00 cachedir: .pytest_cache [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236652410-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236660250-05:00 configfile: pyproject.toml [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236666810-05:00 plugins: anyio-4.14.2, langsmith-0.10.6 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236675710-05:00 collecting ... collected 10 items [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236681310-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236687290-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236693900-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236700560-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236707600-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236713910-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236720430-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236726319-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236732129-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236738049-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236743899-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236749809-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236755779-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236762569-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236768429-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236774199-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236780049-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236785849-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236791759-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236797239-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236802949-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236808609-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236815109-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236821149-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236827119-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236832929-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236839989-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236845909-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236852079-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236873179-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236877849-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236881949-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236885719-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236889729-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236893519-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236897579-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236904239-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236908759-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236948978-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236955608-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236962238-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236969078-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236980248-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236986358-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236992148-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.236998168-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237004008-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237010238-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237016528-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237022608-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237028638-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237034798-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237041048-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237047438-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237053568-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237059948-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237066108-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237072308-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237078488-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237084458-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237090778-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237096858-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237102868-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237109248-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237115478-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237121707-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237127717-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237133997-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237140117-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237146587-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237152877-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237169867-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237177157-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237183677-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237199597-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237203427-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237206747-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237210217-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237214167-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237217517-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237220977-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237224287-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237227457-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237230587-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237233897-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237237117-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237240417-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237243607-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237246987-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237250107-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237253147-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237256327-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237259407-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237262687-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237266077-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237269507-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237272677-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237276147-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237279397-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237282637-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237285937-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237289247-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237292657-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237295877-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237299367-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237302617-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237306017-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237309667-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237313026-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237316496-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237319886-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237323376-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237326666-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237330006-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237333206-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237336246-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237349366-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237352676-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237356006-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237366456-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237369896-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237373106-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237376886-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237380376-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237384156-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237387706-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237390816-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237394166-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237397186-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237400346-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237404096-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237407276-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237411616-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237415326-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237418476-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237422036-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237425306-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237428876-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237432156-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237435556-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237438986-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237442506-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237445876-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237449876-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237453726-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237457076-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237460476-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237463926-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237467866-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237471386-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237474976-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237478726-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237482066-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237484336-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237486916-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237489066-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237491376-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237500636-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237503366-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237505666-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237507816-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237510196-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237512685-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237515005-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237522865-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237525935-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237528295-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237530535-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237532845-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237535055-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237537355-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237539705-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237541985-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237544125-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237546365-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237548515-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237550735-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237553115-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237555445-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237557805-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237560055-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237562295-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237564545-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237566795-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237569035-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237571265-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237573495-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237575815-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237578055-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237580365-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237582775-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237585035-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237587305-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237589615-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237591865-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237594155-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237596385-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237598735-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237601005-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237603155-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237605385-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237607615-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237609765-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237612115-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237614365-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237616595-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237618815-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237620955-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237627675-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237630065-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237632355-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237634675-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237636925-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237639185-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237641445-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237643725-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237645965-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237648255-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237650485-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237652795-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237654955-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237657225-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237659415-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237661615-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237663855-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237666105-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237668375-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237670665-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237672945-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237675195-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237677445-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237679725-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237682005-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237684235-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237686545-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237688865-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237691135-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237693405-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237695635-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237697935-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237700175-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237702425-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237708345-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237712145-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237721124-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237724894-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237728154-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237731984-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237735034-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237737204-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237739534-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237742794-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237753584-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237757894-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237761344-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237764924-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237768554-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237772024-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237775754-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237779804-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237783454-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237787244-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237790914-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237794604-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237800074-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237803704-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237807334-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237810914-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237814724-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237818234-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237821764-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237825394-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237829234-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237832624-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237836334-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237839724-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237845774-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237848164-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237850444-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237852754-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237855354-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237857794-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237861974-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237864404-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237866664-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237869044-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237871374-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237873624-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237875924-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237878834-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237881124-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237883624-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237886504-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237888674-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237891044-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237893334-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237901274-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237903624-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237906154-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237909904-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237912274-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237914464-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237916764-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237919113-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237921393-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237923643-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237926033-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237928333-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237930633-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237932953-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237935323-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237937563-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237939803-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237944073-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237946283-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237948533-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237950683-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237952883-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237955693-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237959423-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237962973-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237966753-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237970453-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237974083-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237976843-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237979083-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237981383-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237983613-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237985903-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237988913-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.237999423-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238003693-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238008163-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238013123-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238017583-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238021313-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238025043-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238028933-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238033233-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238037063-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238047633-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238051653-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238055473-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238058763-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238062283-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238066143-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238069473-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238073083-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238076153-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238078403-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238081503-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238083873-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238086143-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238089233-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238091453-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238093663-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238096003-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238098213-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238100443-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238102683-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238105023-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238107233-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238109433-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238111613-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238113793-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238116103-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238118363-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238120673-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238122992-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238125372-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238128292-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238130552-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238132782-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238135042-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238137302-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238139622-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238142442-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238144742-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238147142-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238149452-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238151692-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238154062-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238156382-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238158672-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238160922-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238168872-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238171172-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238174102-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238177652-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238181362-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238184732-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238188202-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238191642-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238195092-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238197972-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238200152-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238202372-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238204772-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238207002-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238209312-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238212092-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238214422-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238216672-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238218892-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238221122-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238223362-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238225642-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238227892-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238230052-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238232322-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238234482-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238236682-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238238982-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238241222-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238243542-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238245902-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238253722-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238256082-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238258352-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238260782-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238264002-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238267382-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238271432-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238275182-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238278952-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238282312-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238285972-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238289402-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238292902-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238304002-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238307462-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238311012-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238315172-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238318892-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238322342-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238325371-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238329141-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238332261-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238335681-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238344861-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238351601-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238355471-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238358701-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238361961-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238364331-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238366651-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238368971-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238371281-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238373631-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238375891-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238378131-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238380551-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238383561-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238385801-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238388041-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238390191-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238392471-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238394641-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238396851-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238399171-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238401431-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238403761-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238407101-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238409411-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238411691-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238413971-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238416191-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238418491-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238420741-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238423001-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238425301-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238427581-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238429891-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238432981-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238443801-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238447121-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238450391-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238453451-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238456611-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238459621-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238463611-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238466631-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238469821-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238473221-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238476701-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238479971-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238483111-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238486371-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238490111-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238493861-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238497321-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238500801-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238504081-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238514501-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238517901-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238521280-05:00 ============================== 10 errors in 0.88s ============================== [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238525180-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238528970-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238534130-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238537710-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238540920-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238543980-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238547100-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238550410-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238553730-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238556890-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238559990-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238563250-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238574230-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238579610-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238582930-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238586200-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238589500-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238592840-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238595730-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238598640-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238601540-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238604620-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238607720-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238611050-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238614530-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238617590-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238620890-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238624420-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238627640-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238631060-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238634600-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238638040-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238643660-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238647050-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238650280-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238653720-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238657020-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238660420-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238663760-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238667160-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238670490-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238673930-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238677350-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238680890-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238684080-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238688800-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238692120-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238695520-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238698830-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238701990-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238705400-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238708840-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238713110-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238716699-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238728779-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238732359-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238736519-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238739949-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238743389-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238746029-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238748259-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238750599-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238752759-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238755119-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238757279-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238759499-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238767609-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238769989-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238772349-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238774819-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238777209-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238779539-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238781819-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238784069-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238786329-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238788569-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238790849-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238793179-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238795549-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238797789-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238800109-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238802819-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238805099-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238807369-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238809609-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238811839-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238814159-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238816599-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238818769-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238821119-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238823469-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238825749-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238828009-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238830149-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238832429-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238834719-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238843909-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238846279-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238848609-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238850869-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238853129-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238855379-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238857669-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238859949-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238862209-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238864499-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238866659-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238868869-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238871019-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238873269-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238875589-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238877849-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238882249-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238884569-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238886849-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238889169-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238891439-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238893699-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238896019-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238898289-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238900539-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238902829-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238905079-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238907339-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238909619-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238911928-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238914258-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238916498-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238918748-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238921568-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238923818-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238926168-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238928338-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238932438-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238934858-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238937138-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238943758-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238945958-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238948178-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238969848-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238991538-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.238995748-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239007588-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239011348-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239015208-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239018638-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239022048-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239025258-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239028778-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239032208-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239035638-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239039668-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239042948-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239046308-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239050598-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239053938-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239057808-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239061328-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239064808-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239068188-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239071908-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239075728-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239079348-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239082798-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239086268-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239089948-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239093608-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239096808-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239100288-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239103608-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239107047-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239110547-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239114017-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239117457-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239120687-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239124557-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239127737-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239131707-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239150647-05:00 def daily_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239154327-05:00 > return _run("daily") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239157857-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239161007-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239164247-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239167737-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239170947-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239175037-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239178557-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239182077-05:00 analytics/src/storeminder/runner.py:310: in run_daily [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239185477-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239189057-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239192187-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239195687-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239198907-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239202257-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239205367-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239208827-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239211877-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239215357-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239218727-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239222127-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239225307-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239228907-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239232427-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239235827-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239239357-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239242817-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239246087-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239249347-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239253057-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239256297-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239259737-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239262987-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239266297-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239269777-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239273217-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239276527-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239280007-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239283327-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239286597-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239295857-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239305796-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239309676-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239312976-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239316326-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239319826-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239323096-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239326356-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239329796-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239334336-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239346266-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239360806-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239364506-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239367996-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239371056-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239374446-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239377826-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239381236-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239384516-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239387696-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239390976-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239394256-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239397616-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239400936-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239404286-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239407516-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239410986-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239414266-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239417856-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239421296-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239424556-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239427776-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239431186-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239434626-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239439686-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239443056-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239446796-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239450116-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239453676-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239457016-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239460336-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239463616-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239467066-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239476926-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239480436-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239483496-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239486906-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239490226-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239493736-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239497045-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239500215-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239503695-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239506865-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239510285-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239514595-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239518035-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239521385-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239524925-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239528445-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239532115-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239535555-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239538785-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239542035-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239546465-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239549795-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239553155-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239556285-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239559705-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239563135-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239566695-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239570195-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239573615-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239583385-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239587085-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239590655-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239593995-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239597425-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239600655-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239604025-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239607895-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239611205-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239614565-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239617935-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239628255-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239631715-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239635095-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239638485-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239642055-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239645625-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239648905-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239653645-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239657435-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239660865-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239664295-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239667355-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239670805-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239674325-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239677605-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239681155-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239684315-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239687885-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239691184-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239694684-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239698054-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239701704-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239704934-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239708334-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239711484-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239714884-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239717954-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239721364-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239725044-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239728314-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239731934-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239735384-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239738894-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239742314-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239745754-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239748974-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239752254-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239755704-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239759024-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239762444-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239765644-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239774824-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239778244-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239781774-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239785114-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239788734-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239792364-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239795774-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239799204-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239802554-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239805954-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239809434-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239812754-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239815994-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239819354-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239822364-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239825604-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239829084-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239832664-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239836074-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239839724-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239842934-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239851584-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239855204-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239858704-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239862294-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239865494-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239868914-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239872114-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239875524-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239878634-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239882064-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239885334-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239888833-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239892133-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239895463-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239899033-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239902273-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239905803-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239909013-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239912463-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239915663-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239919243-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239928513-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239932023-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239935433-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239939223-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239942633-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239945943-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239949383-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239952813-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239956113-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239959593-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239962913-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239965973-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239970363-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239973603-05:00 def weekly_report(): [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239977213-05:00 > return _run("weekly") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239980393-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239983633-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239986853-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239990493-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239993713-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.239997113-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240000363-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240003573-05:00 analytics/src/storeminder/runner.py:329: in run_weekly [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240007033-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240010263-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240013783-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240016923-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240020333-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240023583-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240026823-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240030133-05:00 store_id = 'Fastime' [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240033323-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240036783-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240039953-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240043283-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240046533-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240049963-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240053163-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240056603-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240066133-05:00 """ [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240069743-05:00 base = _require_base() [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240073213-05:00 try: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240076723-05:00 import requests [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240080233-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240083582-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240087012-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240090542-05:00 raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240093892-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240097412-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240101172-05:00 if r.status_code == 404: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240104652-05:00 return None [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240108022-05:00 if r.status_code != 200: [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240111262-05:00 > raise ManageApiError( [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240114672-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240118642-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240121912-05:00 [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240141632-05:00 analytics/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.240156932-05:00 ----- end live Job logs ----- [pod/analytics-report-live-cb969-live-build-pod/step-run-live] 2026-07-18T11:48:16.268075781-05:00 ==> live build: status=Failed conclusion=failure ===== analytics-report-live-cb969-notify-on-failure-pod.log ===== [pod/analytics-report-live-cb969-notify-on-failure-pod/prepare] 2026-07-18T11:48:18.766814413-05:00 2026/07/18 16:48:18 Entrypoint initialization [pod/analytics-report-live-cb969-notify-on-failure-pod/place-scripts] 2026-07-18T11:48:19.303614886-05:00 2026/07/18 16:48:19 Decoded script /tekton/scripts/script-0-ndjjn [pod/analytics-report-live-cb969-notify-on-failure-pod/step-slack-alert] 2026-07-18T11:48:24.746040898-05:00 slack-preview-token absent — skipping Slack alert (see the storeminder/slack Vault grant) ===== analytics-report-live-cb969-post-check-live-pod.log ===== [pod/analytics-report-live-cb969-post-check-live-pod/prepare] 2026-07-18T11:48:20.233800108-05:00 2026/07/18 16:48:20 Entrypoint initialization [pod/analytics-report-live-cb969-post-check-live-pod/place-scripts] 2026-07-18T11:48:21.479964340-05:00 2026/07/18 16:48:21 Decoded script /tekton/scripts/script-0-c28fs [pod/analytics-report-live-cb969-post-check-live-pod/step-post-check] 2026-07-18T11:48:25.626848030-05:00 Installing PyJWT + cryptography + requests… ===== analytics-report-live-cb969-post-status-live-pod.log ===== [pod/analytics-report-live-cb969-post-status-live-pod/prepare] 2026-07-18T11:48:19.437322009-05:00 2026/07/18 16:48:19 Entrypoint initialization [pod/analytics-report-live-cb969-post-status-live-pod/place-scripts] 2026-07-18T11:48:20.373208172-05:00 2026/07/18 16:48:20 Decoded script /tekton/scripts/script-0-qd9cl [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:24.702714807-05:00 Posting commit status to GitHub [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:24.702748627-05:00 Repo: storeminder-ai/storeminder [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:24.702753217-05:00 SHA: 6c6273c0e86f781bc830949dba8d5ace2d6312db [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:24.702757047-05:00 State: failure (Failed) [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:24.702760137-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-6c6273c0e86f781bc830949dba8d5ace2d6312db/analytics-report-live-cb969/logs.txt [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294412422-05:00 { [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294526492-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder/statuses/6c6273c0e86f781bc830949dba8d5ace2d6312db", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294533572-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294538582-05:00 "id": 50697398220, [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294543312-05:00 "node_id": "SC_kwDOS9o4_c8AAAALzcznzA", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294547692-05:00 "state": "failure", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294552851-05:00 "description": "Checks failed", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294557511-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder/pr-6c6273c0e86f781bc830949dba8d5ace2d6312db/analytics-report-live-cb969/logs.txt", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294561911-05:00 "context": "tekton/report-build-live", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294566361-05:00 "created_at": "2026-07-18T16:48:24Z", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294570681-05:00 "updated_at": "2026-07-18T16:48:24Z", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294575071-05:00 "creator": { [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294580281-05:00 "login": "steveblackmon", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294584671-05:00 "id": 702924, [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294589041-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294593651-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294598011-05:00 "gravatar_id": "", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294602531-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294606831-05:00 "html_url": "https://github.com/steveblackmon", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294611141-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294615941-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294620281-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294624661-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294629011-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294633361-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294637701-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294642031-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294646361-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294650711-05:00 "type": "User", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294655061-05:00 "user_view_type": "public", [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294659411-05:00 "site_admin": false [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294663791-05:00 } [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.294670451-05:00 } [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.297668486-05:00 [pod/analytics-report-live-cb969-post-status-live-pod/step-post-status] 2026-07-18T11:48:25.297684546-05:00 Status posted successfully ===== analytics-report-live-cb969-reclaim-workspace-pod.log ===== [pod/analytics-report-live-cb969-reclaim-workspace-pod/prepare] 2026-07-18T11:48:21.236799451-05:00 2026/07/18 16:48:21 Entrypoint initialization [pod/analytics-report-live-cb969-reclaim-workspace-pod/place-scripts] 2026-07-18T11:48:21.472884866-05:00 2026/07/18 16:48:21 Decoded script /tekton/scripts/script-0-zqgjl [pod/analytics-report-live-cb969-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-18T11:48:25.838865446-05:00 ==> reclaiming workspace PVC(s) owned by PipelineRun=analytics-report-live-cb969 in ns=tekton-pipelines [pod/analytics-report-live-cb969-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-18T11:48:26.010083040-05:00 ==> deleting PVC pvc-70f65a43f0 (5Gi) [pod/analytics-report-live-cb969-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-18T11:48:26.085058790-05:00 persistentvolumeclaim "pvc-70f65a43f0" deleted [pod/analytics-report-live-cb969-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-18T11:48:26.090237194-05:00 ==> requested deletion of 1 run-owned PVC(s)