[pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.008843130-05:00 Wrote Dockerfile.reportcheck: [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009523257-05:00 # Throwaway image for the live report build. Layers the checkout [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009532417-05:00 # (analytics/ + notebooks/ + tests) over the prod runtime so the live [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009537207-05:00 # trait suite can run with real deps + real secrets (mounted by the Job). [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009541777-05:00 FROM registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009545817-05:00 COPY . /prsrc [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009549827-05:00 WORKDIR /prsrc [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009553896-05:00 # Overlay the report package over the baked one (deps already resolved in [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009557986-05:00 # the base), then add the test runner. Prefer the [test] extra (adds [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009561966-05:00 # papermill/nbclient/scrapbook); fall back to bare pytest. [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009566016-05:00 # Overlay the sibling storeminder-* dists first when the checkout has [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009570156-05:00 # them (#781 package family; guard keeps pre-carve branches working). [pod/analytics-report-live-txrnl-live-build-pod/step-prepare-dockerfile] 2026-07-21T13:28:56.009574546-05:00 RUN if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.406912665-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.406953895-05:00 INFO[0000] Retrieving image registry.storeminder.ai/images/storeminder:latest from registry registry.storeminder.ai [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.458665907-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.458764537-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.466862490-05:00 INFO[0000] Built cross stage deps: map[] [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.466882440-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.466888060-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.466897870-05:00 INFO[0000] Retrieving image manifest registry.storeminder.ai/images/storeminder:latest [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.466903210-05:00 INFO[0000] Returning cached image manifest [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.467048579-05:00 INFO[0000] Executing 0 build triggers [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.467310838-05:00 INFO[0000] Building stage 'registry.storeminder.ai/images/storeminder:latest' [idx: '0', base-idx: '-1'] [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.524908264-05:00 INFO[0000] Checking for cached layer registry.storeminder.ai/images/cache:96525d49e070e1d5b14c48cc555a4f2b3a5b00ccaa54670c36f85e617388644b... [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.543240050-05:00 INFO[0000] No cached layer found for cmd RUN if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:56.543265640-05:00 INFO[0000] Unpacking rootfs as cmd COPY . /prsrc requires it. [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:58.783848821-05:00 INFO[0002] COPY . /prsrc [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:58.947072372-05:00 INFO[0002] Taking snapshot of files... [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:59.167537730-05:00 INFO[0002] WORKDIR /prsrc [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:59.167572240-05:00 INFO[0002] Cmd: workdir [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:59.167576590-05:00 INFO[0002] Changed working directory to /prsrc [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:59.167962788-05:00 INFO[0002] No files changed in this command, skipping snapshotting. [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:59.167979488-05:00 INFO[0002] RUN if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:59.167993328-05:00 INFO[0002] Initializing snapshotter ... [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:28:59.167997468-05:00 INFO[0002] Taking snapshot of full filesystem... [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:00.199305532-05:00 INFO[0003] Cmd: /bin/sh [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:00.199355692-05:00 INFO[0003] Args: [-c if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:00.199390402-05:00 INFO[0003] Running: [/bin/sh -c if [ -d /prsrc/packages ]; then for p in /prsrc/packages/*/ ; do pip install --no-cache-dir --no-deps -e "$p"; done; fi && 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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:00.520844245-05:00 Obtaining file:///prsrc/packages/storeminder-config [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:00.523441773-05:00 Installing build dependencies: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:01.928986833-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:01.929858779-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.052195087-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.053277462-05:00 Getting requirements to build editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.216772920-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.217794245-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.377014743-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.383178645-05:00 Building wheels for collected packages: storeminder-config [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.384276190-05:00 Building editable for storeminder-config (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.585774043-05:00 Building editable for storeminder-config (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.592234203-05:00 Created wheel for storeminder-config: filename=storeminder_config-0.1.6-0.editable-py3-none-any.whl size=1448 sha256=1c19ed9834248ff708c633fee22a1c096aef711df49f014f44144528665984de [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.592401052-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-0xm2zt7x/wheels/c8/b7/ed/799e8d0938926d17720d45f014fd606224a2bdbd8f166b8ac7 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.594720122-05:00 Successfully built storeminder-config [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.594908931-05:00 Installing collected packages: storeminder-config [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.617486497-05:00 Successfully installed storeminder-config-0.1.6 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.617681356-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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.767746596-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.767790036-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:02.767796346-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:03.258653198-05:00 Obtaining file:///prsrc/packages/storeminder-core [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:03.261422405-05:00 Installing build dependencies: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:04.678169405-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:04.678894021-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:04.799608395-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:04.800317012-05:00 Getting requirements to build editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:04.963839309-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:04.964937274-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.129387467-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.135196470-05:00 Building wheels for collected packages: storeminder-core [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.136225935-05:00 Building editable for storeminder-core (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.366115347-05:00 Building editable for storeminder-core (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.367051782-05:00 Created wheel for storeminder-core: filename=storeminder_core-0.1.6-0.editable-py3-none-any.whl size=1421 sha256=7224d93abbf2fae689d276f2ed2d818559de3b370df122ca0886e6a7211d543f [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.367178522-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-3ukygg4r/wheels/cf/0a/8d/363b61b456e5493d58ab68e2df84ed6525b00451460548e2ec [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.369336272-05:00 Successfully built storeminder-core [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.369548511-05:00 Installing collected packages: storeminder-core [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.413863957-05:00 Successfully installed storeminder-core-0.1.6 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.414166185-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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.538160354-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.538261214-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.538267094-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.969033359-05:00 Obtaining file:///prsrc/packages/storeminder-integrations [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:05.972622853-05:00 Installing build dependencies: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.299299758-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.300163004-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.436473016-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.437652411-05:00 Getting requirements to build editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.589751739-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.590922414-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.762664252-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.768406906-05:00 Building wheels for collected packages: storeminder-integrations [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.769199582-05:00 Building editable for storeminder-integrations (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.948119077-05:00 Building editable for storeminder-integrations (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.948790694-05:00 Created wheel for storeminder-integrations: filename=storeminder_integrations-0.1.6-0.editable-py3-none-any.whl size=1541 sha256=fdfffba676b266e0f16412148faa5fc889f35d1c18dd4bcabd1d1423bd27a248 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.948930833-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-zbgnw3zc/wheels/49/2a/42/c8229e571dd70e2121aa4920cf73feb5ab909b22f329251d8c [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.951096223-05:00 Successfully built storeminder-integrations [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:07.951301202-05:00 Installing collected packages: storeminder-integrations [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:08.064951348-05:00 Successfully installed storeminder-integrations-0.1.6 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:08.065222627-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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:08.187990340-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:08.188108540-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:08.188118420-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:08.567762048-05:00 Obtaining file:///prsrc/packages/storeminder-tools [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:08.569804339-05:00 Installing build dependencies: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:09.804111343-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:09.804946389-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:09.929207156-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:09.930460400-05:00 Getting requirements to build editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.089797154-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.090966309-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.262937165-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.269156376-05:00 Building wheels for collected packages: storeminder-tools [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.269924383-05:00 Building editable for storeminder-tools (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.449711722-05:00 Building editable for storeminder-tools (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.453254546-05:00 Created wheel for storeminder-tools: filename=storeminder_tools-0.1.6-0.editable-py3-none-any.whl size=1538 sha256=fca46206e3a8b98cc5e1b24e755248b9f72b5c76dd43d55830c5b133d89e7827 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.453420125-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-20r0ngcg/wheels/a0/21/f1/6f60f0b2e970907d4c5c8c7175e076b35d88919c960e079b86 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.455604715-05:00 Successfully built storeminder-tools [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.455769434-05:00 Installing collected packages: storeminder-tools [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.490537544-05:00 Successfully installed storeminder-tools-0.1.6 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.490714943-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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.635182346-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.635287645-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:10.635295015-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:11.034185653-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:11.036475463-05:00 Installing build dependencies: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:12.416761674-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:12.417544941-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:12.520461265-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:12.521215412-05:00 Getting requirements to build editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:12.673625727-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:12.674810312-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:12.855074658-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:12.861178590-05:00 Building wheels for collected packages: storeminder-analytics [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:12.861971046-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.049817678-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.050417615-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2185 sha256=b819e6a15aa87db7a35f74b3b73dd6ad3fa3bbe02933891b22ae5fa3046afb6f [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.050544765-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-uf97er41/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.052744064-05:00 Successfully built storeminder-analytics [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.052933904-05:00 Installing collected packages: storeminder-analytics [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.106102928-05:00 Successfully installed storeminder-analytics-0.1.6 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.106269347-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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.224496890-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.224603970-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.224609910-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.557169092-05:00 Obtaining file:///prsrc/analytics [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:13.558884644-05:00 Installing build dependencies: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:14.958750837-05:00 Installing build dependencies: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:14.959523724-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.097884263-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.098825659-05:00 Getting requirements to build editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.297384430-05:00 Getting requirements to build editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.298597704-05:00 Preparing editable metadata (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.474092102-05:00 Preparing editable metadata (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.498311759-05:00 Requirement already satisfied: storeminder-config==0.1.6 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.499656463-05:00 Requirement already satisfied: storeminder-core==0.1.6 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.500484629-05:00 Requirement already satisfied: storeminder-integrations==0.1.6 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.501245946-05:00 Requirement already satisfied: storeminder-tools==0.1.6 in /usr/local/lib/python3.11/site-packages (from storeminder-analytics==0.1.6) (0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.732310156-05:00 Collecting pandas>=1.5.0 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.805136819-05:00 Downloading pandas-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:15.835468758-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.5/79.5 kB 2.5 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.174043781-05:00 Collecting numpy>=1.23.0 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.199752482-05:00 Downloading numpy-2.4.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.253693012-05:00 Collecting requests>=2.28.0 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.269481299-05:00 Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.319204568-05:00 Collecting openpyxl>=3.0.0 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.335072815-05:00 Downloading openpyxl-3.1.5-py2.py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.427199718-05:00 Collecting anthropic>=0.25.0 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.447934652-05:00 Downloading anthropic-0.117.0-py3-none-any.whl.metadata (3.3 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.492125837-05:00 Collecting psycopg>=3.1 (from psycopg[binary,pool]>=3.1->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:16.510693791-05:00 Downloading psycopg-3.3.4-py3-none-any.whl.metadata (4.3 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.068100629-05:00 Collecting boto3>=1.34 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.087204131-05:00 Downloading boto3-1.43.52-py3-none-any.whl.metadata (6.6 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.148363187-05:00 Collecting PyYAML>=6.0 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.165649427-05:00 Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.317066716-05:00 Collecting omegaconf>=2.3 (from storeminder-config==0.1.6->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.335457070-05:00 Downloading omegaconf-2.3.1-py3-none-any.whl.metadata (4.5 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.433491286-05:00 Collecting pytest>=7 (from storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.456733968-05:00 Downloading pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.512037632-05:00 Collecting anyio<5,>=3.5.0 (from anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.531822671-05:00 Downloading anyio-4.14.2-py3-none-any.whl.metadata (4.6 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.559976260-05:00 Collecting distro<2,>=1.7.0 (from anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.576895722-05:00 Downloading distro-1.9.0-py3-none-any.whl.metadata (6.8 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.615456393-05:00 Collecting docstring-parser<1,>=0.15 (from anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.641297663-05:00 Downloading docstring_parser-0.18.0-py3-none-any.whl.metadata (3.5 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.688646094-05:00 Collecting httpx<1,>=0.25.0 (from anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.707480907-05:00 Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.843955074-05:00 Collecting jiter<1,>=0.4.0 (from anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:17.864831697-05:00 Downloading jiter-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.2 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.048626405-05:00 Collecting pydantic<3,>=1.9.0 (from anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.067756707-05:00 Downloading pydantic-2.13.4-py3-none-any.whl.metadata (109 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.092134864-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 109.4/109.4 kB 4.9 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.125436499-05:00 Collecting sniffio (from anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.141262166-05:00 Downloading sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.243704621-05:00 Collecting typing-extensions<5,>=4.14 (from anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.259750387-05:00 Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.819205423-05:00 Collecting botocore<1.44.0,>=1.43.52 (from boto3>=1.34->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.840042276-05:00 Downloading botocore-1.43.52-py3-none-any.whl.metadata (5.6 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.879963591-05:00 Collecting jmespath<2.0.0,>=0.7.1 (from boto3>=1.34->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.896358755-05:00 Downloading jmespath-1.1.0-py3-none-any.whl.metadata (7.6 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.950404344-05:00 Collecting s3transfer<0.20.0,>=0.19.0 (from boto3>=1.34->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:18.974233144-05:00 Downloading s3transfer-0.19.1-py3-none-any.whl.metadata (1.7 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.014167349-05:00 Collecting et-xmlfile (from openpyxl>=3.0.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.038817934-05:00 Downloading et_xmlfile-2.0.0-py3-none-any.whl.metadata (2.7 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.292153889-05:00 Collecting python-dateutil>=2.8.2 (from pandas>=1.5.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.313315661-05:00 Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.532138766-05:00 Collecting psycopg-binary==3.3.4 (from psycopg[binary,pool]>=3.1->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.548967628-05:00 Downloading psycopg_binary-3.3.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.7 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.593214873-05:00 Collecting psycopg-pool (from psycopg[binary,pool]>=3.1->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.608355492-05:00 Downloading psycopg_pool-3.3.1-py3-none-any.whl.metadata (2.8 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.656708288-05:00 Collecting iniconfig>=1.0.1 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.675991749-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.677967130-05:00 Requirement already satisfied: packaging>=22 in /usr/local/lib/python3.11/site-packages (from pytest>=7->storeminder-analytics==0.1.6) (26.2) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.718066403-05:00 Collecting pluggy<2,>=1.5 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.734605867-05:00 Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.781221000-05:00 Collecting pygments>=2.7.2 (from pytest>=7->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.798622020-05:00 Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.982136689-05:00 Collecting charset_normalizer<4,>=2 (from requests>=2.28.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:19.999079730-05:00 Downloading charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (41 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.006303276-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.7/41.7 kB 8.1 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.043924452-05:00 Collecting idna<4,>=2.5 (from requests>=2.28.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.060203946-05:00 Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.116828723-05:00 Collecting urllib3<3,>=1.26 (from requests>=2.28.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.140133465-05:00 Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.179310753-05:00 Collecting certifi>=2023.5.7 (from requests>=2.28.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.195034580-05:00 Downloading certifi-2026.6.17-py3-none-any.whl.metadata (2.5 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.284990683-05:00 Collecting httpcore==1.* (from httpx<1,>=0.25.0->anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.302326023-05:00 Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.339094472-05:00 Collecting h11>=0.16 (from httpcore==1.*->httpx<1,>=0.25.0->anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.358802020-05:00 Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.401867461-05:00 Collecting antlr4-python3-runtime==4.9.* (from omegaconf>=2.3->storeminder-config==0.1.6->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.417992526-05:00 Downloading antlr4-python3-runtime-4.9.3.tar.gz (117 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.444487003-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.0/117.0 kB 4.5 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.462781078-05:00 Preparing metadata (setup.py): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.737035545-05:00 Preparing metadata (setup.py): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.785969638-05:00 Collecting annotated-types>=0.6.0 (from pydantic<3,>=1.9.0->anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:20.803484277-05:00 Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:21.920319751-05:00 Collecting pydantic-core==2.46.4 (from pydantic<3,>=1.9.0->anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:21.926322523-05:00 Downloading pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:21.963261612-05:00 Collecting typing-inspection>=0.4.2 (from pydantic<3,>=1.9.0->anthropic>=0.25.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:21.984528983-05:00 Downloading typing_inspection-0.4.2-py3-none-any.whl.metadata (2.6 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:22.042315865-05:00 Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas>=1.5.0->storeminder-analytics==0.1.6) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:22.066161364-05:00 Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:22.388309777-05:00 Downloading anthropic-0.117.0-py3-none-any.whl (998 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:22.553925048-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 998.3/998.3 kB 6.1 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:22.570671840-05:00 Downloading boto3-1.43.52-py3-none-any.whl (140 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:22.590643337-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.0/140.0 kB 7.6 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:22.611998918-05:00 Downloading numpy-2.4.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.9 MB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.444999397-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.9/16.9 MB 33.5 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.463062303-05:00 Downloading openpyxl-3.1.5-py2.py3-none-any.whl (250 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.467024595-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 250.9/250.9 kB 122.9 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.488994373-05:00 Downloading pandas-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (11.3 MB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.677314017-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 60.6 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.699128026-05:00 Downloading psycopg-3.3.4-py3-none-any.whl (213 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.701882953-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 213.0/213.0 kB 253.0 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.722538617-05:00 Downloading psycopg_binary-3.3.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.2 MB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.786050572-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 84.5 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.805472012-05:00 Downloading pytest-9.1.1-py3-none-any.whl (386 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.812479119-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.5/386.5 kB 77.0 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.836207809-05:00 Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (806 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.846242532-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 806.6/806.6 kB 100.6 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.867769742-05:00 Downloading requests-2.34.2-py3-none-any.whl (73 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.870229551-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.1/73.1 kB 174.6 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.887530610-05:00 Downloading anyio-4.14.2-py3-none-any.whl (125 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.891191813-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.8/125.8 kB 189.3 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:23.909626668-05:00 Downloading botocore-1.43.52-py3-none-any.whl (15.4 MB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.084015947-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.4/15.4 MB 87.3 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.103425677-05:00 Downloading certifi-2026.6.17-py3-none-any.whl (133 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.107069230-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.3/133.3 kB 149.2 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.129698024-05:00 Downloading charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (221 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.135626617-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 221.3/221.3 kB 82.9 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.158238552-05:00 Downloading distro-1.9.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.174841374-05:00 Downloading docstring_parser-0.18.0-py3-none-any.whl (22 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.193299559-05:00 Downloading httpx-0.28.1-py3-none-any.whl (73 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.195432669-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.5/73.5 kB 310.2 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.211958362-05:00 Downloading httpcore-1.0.9-py3-none-any.whl (78 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.214135942-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.8/78.8 kB 301.2 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.246688450-05:00 Downloading idna-3.18-py3-none-any.whl (65 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.249645627-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.5/65.5 kB 239.6 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.269990582-05:00 Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.292124809-05:00 Downloading jiter-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (347 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.297644773-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 347.1/347.1 kB 88.4 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.318124328-05:00 Downloading jmespath-1.1.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.339311140-05:00 Downloading omegaconf-2.3.1-py3-none-any.whl (79 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.342568964-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.5/79.5 kB 274.9 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.362071924-05:00 Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.383577774-05:00 Downloading pydantic-2.13.4-py3-none-any.whl (472 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.390833410-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 472.3/472.3 kB 97.9 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.411523974-05:00 Downloading pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.436569067-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 93.7 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.456590754-05:00 Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.470472510-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 107.8 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.486533685-05:00 Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.490640816-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 150.6 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.508624452-05:00 Downloading s3transfer-0.19.1-py3-none-any.whl (90 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.511520699-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.1/90.1 kB 184.7 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.531486706-05:00 Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.534301993-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.6/45.6 kB 140.6 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.558460291-05:00 Downloading urllib3-2.7.0-py3-none-any.whl (131 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.561929195-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.1/131.1 kB 188.9 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.589765455-05:00 Downloading et_xmlfile-2.0.0-py3-none-any.whl (18 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.609148475-05:00 Downloading psycopg_pool-3.3.1-py3-none-any.whl (40 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.611389955-05:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.0/40.0 kB 203.7 MB/s eta 0:00:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.633785380-05:00 Downloading sniffio-1.3.1-py3-none-any.whl (10 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.653922497-05:00 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.671855173-05:00 Downloading six-1.17.0-py2.py3-none-any.whl (11 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.694313779-05:00 Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.714270656-05:00 Downloading h11-0.16.0-py3-none-any.whl (37 kB) [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.816569340-05:00 Checking if build backend supports build_editable: started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.962786460-05:00 Checking if build backend supports build_editable: finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.963711036-05:00 Building wheels for collected packages: storeminder-analytics, antlr4-python3-runtime [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:24.964943400-05:00 Building editable for storeminder-analytics (pyproject.toml): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:25.208873566-05:00 Building editable for storeminder-analytics (pyproject.toml): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:25.209408953-05:00 Created wheel for storeminder-analytics: filename=storeminder_analytics-0.1.6-0.editable-py3-none-any.whl size=2185 sha256=de5a6d38691319abdef13008d1b05159ef8f1ca2d6e99ac7e44c2a1ba9b3dfaa [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:25.209566272-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-rew0nlhh/wheels/3d/79/a1/5b9945b9b299ef8e95d41afe8b877f821e7a9e81cca81ac5fa [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:25.211707462-05:00 Building wheel for antlr4-python3-runtime (setup.py): started [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:25.464025789-05:00 Building wheel for antlr4-python3-runtime (setup.py): finished with status 'done' [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:25.464705455-05:00 Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.9.3-py3-none-any.whl size=144590 sha256=70d48022a1584da0c89674d8f976cae138ea5c38a9620429e06ace2fe61511dd [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:25.464888804-05:00 Stored in directory: /tmp/pip-ephem-wheel-cache-rew0nlhh/wheels/1a/97/32/461f837398029ad76911109f07047fde1d7b661a147c7c56d1 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:25.467053284-05:00 Successfully built storeminder-analytics antlr4-python3-runtime [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:25.728986206-05:00 Installing collected packages: antlr4-python3-runtime, urllib3, typing-extensions, sniffio, six, PyYAML, pygments, psycopg-binary, pluggy, numpy, jmespath, jiter, iniconfig, idna, h11, et-xmlfile, docstring-parser, distro, charset_normalizer, certifi, annotated-types, typing-inspection, requests, python-dateutil, pytest, pydantic-core, psycopg-pool, psycopg, openpyxl, omegaconf, httpcore, anyio, pydantic, pandas, httpx, botocore, s3transfer, anthropic, boto3, storeminder-analytics [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:35.893114605-05:00 Attempting uninstall: storeminder-analytics [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:35.897070137-05:00 Found existing installation: storeminder-analytics 0.1.6 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:35.899305306-05:00 Uninstalling storeminder-analytics-0.1.6: [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:35.984442628-05:00 Successfully uninstalled storeminder-analytics-0.1.6 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:36.295768832-05:00 Successfully installed PyYAML-6.0.3 annotated-types-0.7.0 anthropic-0.117.0 antlr4-python3-runtime-4.9.3 anyio-4.14.2 boto3-1.43.52 botocore-1.43.52 certifi-2026.6.17 charset_normalizer-3.4.9 distro-1.9.0 docstring-parser-0.18.0 et-xmlfile-2.0.0 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.18 iniconfig-2.3.0 jiter-0.16.0 jmespath-1.1.0 numpy-2.4.6 omegaconf-2.3.1 openpyxl-3.1.5 pandas-3.0.3 pluggy-1.6.0 psycopg-3.3.4 psycopg-binary-3.3.4 psycopg-pool-3.3.1 pydantic-2.13.4 pydantic-core-2.46.4 pygments-2.20.0 pytest-9.1.1 python-dateutil-2.9.0.post0 requests-2.34.2 s3transfer-0.19.1 six-1.17.0 sniffio-1.3.1 storeminder-analytics-0.1.6 typing-extensions-4.16.0 typing-inspection-0.4.2 urllib3-2.7.0 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:36.296195190-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-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:36.428072904-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:36.428230313-05:00 [notice] A new release of pip is available: 24.0 -> 26.1.2 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:36.428237903-05:00 [notice] To update, run: pip install --upgrade pip [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:37.529580531-05:00 INFO[0041] Taking snapshot of full filesystem... [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:43.160604994-05:00 INFO[0046] Pushing layer registry.storeminder.ai/images/cache:96525d49e070e1d5b14c48cc555a4f2b3a5b00ccaa54670c36f85e617388644b to cache now [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:43.160800503-05:00 INFO[0046] Pushing image to registry.storeminder.ai/images/cache:96525d49e070e1d5b14c48cc555a4f2b3a5b00ccaa54670c36f85e617388644b [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:44.504698625-05:00 INFO[0048] Pushed registry.storeminder.ai/images/cache@sha256:90e25e158fc507aaf3607778221c574ea1d1cdccf9fb70f61a2f8166f6981cb8 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:44.505362472-05:00 INFO[0048] Pushing image to registry.storeminder.ai/images/storeminder-report-live:d8642a262b40f6c24ba842610ae021b4f0245882 [pod/analytics-report-live-txrnl-live-build-pod/step-build-pr-image] 2026-07-21T13:29:44.737707622-05:00 INFO[0048] Pushed registry.storeminder.ai/images/storeminder-report-live@sha256:a8c5a17509ff1bd1935c82e65fe6c946a2e4cfb1a8c68d614056ef7e097f8245 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:29:45.036180020-05:00 /tekton/scripts/script-2-bjzb9: line 27: steps.build-pr-image.exitCode.path: command not found [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:29:45.124940853-05:00 job.batch/report-live-d8642a2 created [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:00.859504728-05:00 ----- live Job logs (report-live-d8642a2) ----- [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078465632-05:00 Running live report trait suite (real Vertex + DB, DRY_RUN): analytics/tests/test_report_traits_live.py [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078491662-05:00 ============================= test session starts ============================== [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078497022-05:00 platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /usr/local/bin/python [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078501812-05:00 cachedir: .pytest_cache [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078506142-05:00 rootdir: /prsrc/analytics [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078510122-05:00 configfile: pyproject.toml [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078514012-05:00 plugins: anyio-4.14.2 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078518992-05:00 collecting ... collected 10 items [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078523592-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078527702-05:00 analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders ERROR [ 10%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078531862-05:00 analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak ERROR [ 20%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078535932-05:00 analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales ERROR [ 30%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078539942-05:00 analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated ERROR [ 40%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078544092-05:00 analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written ERROR [ 50%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078548082-05:00 analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders ERROR [ 60%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078552112-05:00 analytics/tests/test_report_traits_live.py::test_weekly_is_sendable ERROR [ 70%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078556112-05:00 analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales ERROR [ 80%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078560172-05:00 analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated ERROR [ 90%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078564151-05:00 analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written ERROR [100%] [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078568061-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078572131-05:00 ==================================== ERRORS ==================================== [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078579381-05:00 _______________ ERROR at setup of test_daily_builds_and_renders ________________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078583311-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078587371-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078591331-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078595661-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078599681-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078603491-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078607501-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078611581-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078615901-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078619931-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078626061-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078631851-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078637651-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078643091-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078647051-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078661851-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078665021-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078668071-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078670651-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078673411-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078675971-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078678621-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078681391-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078684411-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078687231-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078690521-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078693241-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078696711-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078699411-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078703211-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078707211-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078712001-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078715851-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078719611-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078722401-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078725111-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078727841-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078730521-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078733231-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078735991-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078738641-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078741521-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078744221-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078747021-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078749631-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078752301-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078755041-05:00 _________ ERROR at setup of test_daily_is_sendable_and_no_weekly_leak __________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078757621-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078760441-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078763111-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078765791-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078768460-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078771080-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078773780-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078776470-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078779170-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078782530-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078793700-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078797940-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078800860-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078809640-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078812330-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078814980-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078817610-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078820930-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078823500-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078826180-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078828770-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078831450-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078834250-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078836980-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078839970-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078842690-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078845420-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078848080-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078850790-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078854960-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078857690-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078861320-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078865460-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078869740-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078873640-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078876760-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078879530-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078882230-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078884880-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078887530-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078890180-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078892810-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078895510-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078898420-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078900990-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078904660-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078908540-05:00 __________ ERROR at setup of test_daily_headline_labeled_total_sales ___________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078912230-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078915970-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078919920-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078923830-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078927470-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078931010-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078934550-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078938660-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078942620-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078946680-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078950190-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078961060-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078965190-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078968870-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078973029-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078979439-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078983129-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078986749-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078990109-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078993699-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.078997219-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079000789-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079004489-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079008129-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079011929-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079015779-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079019549-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079023349-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079026859-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079030399-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079034909-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079038679-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079042619-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079047259-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079051049-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079055479-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079059489-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079063059-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079066179-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079069289-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079072729-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079075869-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079079189-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079082319-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079085079-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079088339-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079098259-05:00 ________________ ERROR at setup of test_daily_sms_not_truncated ________________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079100519-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079102809-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079105879-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079108039-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079110229-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079112279-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079114439-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079117209-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079125059-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079127259-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079129539-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079131699-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079133909-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079136089-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079138219-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079140359-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079142539-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079144719-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079146759-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079148959-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079151119-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079153299-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079155879-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079158109-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079160359-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079162579-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079164809-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079166929-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079169069-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079171219-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079173388-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079175498-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079177708-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079179878-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079182008-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079184278-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079186468-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079188618-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079190818-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079192968-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079195098-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079197228-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079199368-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079201598-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079203668-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079205828-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079208008-05:00 _____________ ERROR at setup of test_daily_artifact_bundle_written _____________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079210078-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079212178-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079214308-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079216438-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079218568-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079220608-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079226788-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079229018-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079231218-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079233378-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079235548-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079242108-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079244328-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079246528-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079248668-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079250848-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079252988-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079255188-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079257248-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079259428-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079261498-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079263588-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079265728-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079267888-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079270038-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079272198-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079275158-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079277278-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079279418-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079281548-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079283698-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079285878-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079288138-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079290278-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079292458-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079294628-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079296838-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079298988-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079305378-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079307708-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079309828-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079312158-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079314458-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079316748-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079318838-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079320958-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079323098-05:00 _______________ ERROR at setup of test_weekly_builds_and_renders _______________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079325168-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079327278-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079332988-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079335158-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079345378-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079350488-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079352688-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079354918-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079357048-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079359308-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079361558-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079363698-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079365838-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079367988-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079370108-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079372578-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079374708-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079376958-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079379007-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079381127-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079383207-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079385307-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079388187-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079390347-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079392637-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079394897-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079397037-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079399257-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079401577-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079403987-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079406157-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079408317-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079410527-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079412687-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079414847-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079417077-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079419217-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079421487-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079423647-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079425847-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079428907-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079431167-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079433387-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079435577-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079437657-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079439807-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079446637-05:00 __________________ ERROR at setup of test_weekly_is_sendable ___________________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079448727-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079450847-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079452977-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079455187-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079457297-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079459337-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079461417-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079463617-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079465777-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079468207-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079470297-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079472417-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079474557-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079476687-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079478807-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079481007-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079483157-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079485287-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079487327-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079489407-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079491447-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079493517-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079495637-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079497827-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079502237-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079504577-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079506737-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079508887-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079511047-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079513177-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079519327-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079521567-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079523777-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079526097-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079528327-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079530467-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079532647-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079534777-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079536897-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079539047-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079541167-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079543287-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079545427-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079547647-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079553897-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079556077-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079558217-05:00 __________ ERROR at setup of test_weekly_headline_labeled_total_sales __________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079560297-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079562397-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079564527-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079566667-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079568937-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079571007-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079573137-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079575287-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079577437-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079579657-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079581957-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079584087-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079586227-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079588417-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079590536-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079592666-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079594846-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079597036-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079599086-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079601246-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079603306-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079605416-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079607556-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079609706-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079611936-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079614106-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079616406-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079618696-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079620826-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079622956-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079625086-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079627206-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079629396-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079631526-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079633666-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079635816-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079637976-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079640106-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079642236-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079644376-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079646546-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079652076-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079654236-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079656626-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079658676-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079660886-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079663026-05:00 _______________ ERROR at setup of test_weekly_sms_not_truncated ________________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079665066-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079667236-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079669366-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079671496-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079673626-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079675676-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079677776-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079679916-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079682036-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079684196-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079686316-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079688436-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079690556-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079692656-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079694776-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079696886-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079698996-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079701156-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079703186-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079705276-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079707336-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079709426-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079715056-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079717256-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079719466-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079721886-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079724106-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079726366-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079728516-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079730736-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079732876-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079734986-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079737466-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079739626-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079741766-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079743896-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079746096-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079748216-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079753976-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079756136-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079758306-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079760426-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079762556-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079764706-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079766776-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079768906-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079771036-05:00 ____________ ERROR at setup of test_weekly_artifact_bundle_written _____________ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079773086-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079775236-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079777376-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079780076-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079782176-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079784206-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079786306-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079788436-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079790566-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079792806-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079795596-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079797716-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079799826-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079801935-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079804145-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079806315-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079808425-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079810565-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079812625-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079814785-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079816835-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079819035-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079821305-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079823435-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079825635-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079827825-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079829955-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079832165-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079834305-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079836415-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079838535-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079840635-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079842755-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079844915-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079847075-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079852765-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079854925-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079858695-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079860895-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079863045-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079865175-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079867415-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079869585-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079871785-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079873835-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079875935-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079878065-05:00 --------------------- generated xml file: /tmp/traits.xml ---------------------- [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079880155-05:00 =========================== short test summary info ============================ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079882315-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_builds_and_renders [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079884475-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_is_sendable_and_no_weekly_leak [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079886605-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_headline_labeled_total_sales [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079888715-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_sms_not_truncated [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079890875-05:00 ERROR analytics/tests/test_report_traits_live.py::test_daily_artifact_bundle_written [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079896955-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_builds_and_renders [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079899195-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_is_sendable - s... [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079901365-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_headline_labeled_total_sales [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079903745-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_sms_not_truncated [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079905925-05:00 ERROR analytics/tests/test_report_traits_live.py::test_weekly_artifact_bundle_written [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079908025-05:00 ============================== 10 errors in 0.82s ============================== [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079910245-05:00 ===JUNIT_BEGIN=== [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079912935-05:00 @pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079917335-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079919495-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079921625-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079923715-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079925845-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079927985-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079930185-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079932295-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079934415-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079940735-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079942895-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079945075-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079947205-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079949335-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079951445-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079953565-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079955615-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079957825-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079959885-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079962025-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079964145-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079966315-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079968515-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079971115-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079973325-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079975445-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079977615-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079979835-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079982015-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079984135-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079986285-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079988445-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079990595-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079992735-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079994915-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079997095-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.079999245-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080001375-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080003525-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080005655-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080007785-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080010015-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080012055-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080014724-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080016914-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080019064-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080021194-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080023234-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080025334-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080027484-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080033824-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080036014-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080038144-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080040264-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080042404-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080044514-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080046694-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080053534-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080055804-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080058174-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080060334-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080062434-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080064494-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080066604-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080068754-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080070884-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080073044-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080075264-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080077414-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080080744-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080082894-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080085024-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080087154-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080089284-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080091454-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080093584-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080095714-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080097844-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080099974-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080102144-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080104264-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080106404-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080108604-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080110714-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080113504-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080117344-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080119444-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080122314-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080124474-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080126624-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080133164-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080135264-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080137374-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080139554-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080141714-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080143894-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080146124-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080148264-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080150424-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080152584-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080154844-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080156964-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080159174-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080162044-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080164104-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080166194-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080168264-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080170404-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080172544-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080174694-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080176874-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080179094-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080181384-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080183624-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080185794-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080187924-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080190074-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080192194-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080194394-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080196574-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080199444-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080201554-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080203734-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080205844-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080207974-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080210124-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080212244-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080214354-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080216474-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080218734-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080220814-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080242563-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080274073-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080277773-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080291263-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080294363-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080297923-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080301453-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080305303-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080308413-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080311413-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080314313-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080317273-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080320323-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080323293-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080326253-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080329243-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080332193-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080334993-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080343913-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080355453-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080358443-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080361953-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080364913-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080368023-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080371343-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080374343-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080377483-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080380543-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080383503-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080386493-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080389443-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080392453-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080395433-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080398533-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080402003-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080405043-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080410823-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080413853-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080416923-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080419903-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080422863-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080425983-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080431293-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080441002-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080444722-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080447982-05:00 def daily_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080450962-05:00 > return _run("daily") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080454042-05:00 ^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080456852-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080459852-05:00 analytics/tests/test_report_traits_live.py:94: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080463202-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080466262-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080469202-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080472402-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080475432-05:00 analytics/src/storeminder/runner.py:317: in run_daily [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080478452-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080481842-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080484862-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080487842-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080490812-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080493802-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080497372-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080500472-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080503282-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080506282-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080509322-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080512392-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080515402-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080519022-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080522162-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080525172-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080528282-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080531232-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080534222-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080537182-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080540172-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080543182-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080546252-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080551992-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080555102-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080563142-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080566292-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080569422-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080572512-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080581072-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080584212-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080587312-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080590132-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080595962-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080599082-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080602252-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080605312-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080608112-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080611032-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080614082-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080617162-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080620182-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080623432-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080626492-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080630162-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080633202-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080636342-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080639272-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080642322-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080645342-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080648192-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080651111-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080653911-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080656991-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080660001-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080662971-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080666211-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080671871-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080675101-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080678131-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080681341-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080684411-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080687451-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080690391-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080693401-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080696371-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080700021-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080703121-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080706131-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080714171-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080717291-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080720331-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080723291-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080726301-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080729341-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080732501-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080735351-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080738561-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080741691-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080744661-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080747701-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080750471-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080753451-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080756551-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080760471-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080763441-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080766451-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080770301-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080773271-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080776181-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080779111-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080782061-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080785191-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080788391-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080791251-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080794141-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080796981-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080799931-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080807571-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080810821-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080814191-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080817261-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080820991-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080823941-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080826931-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080829871-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080832851-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080835821-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080838861-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080841881-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080852591-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080855771-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080858901-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080861860-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080864880-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080867830-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080870890-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080873870-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080877450-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080880650-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080883460-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080887780-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080890840-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080894260-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080897390-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080900240-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080903240-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080906200-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080909290-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080912340-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080915390-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080918620-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080921800-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080924880-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080927830-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080930900-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080933870-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080936920-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080939750-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080942660-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080945540-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080948590-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080951590-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080954480-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080958210-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080961690-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080964680-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080967630-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080970690-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080973660-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080976740-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080979630-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080987320-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080990350-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080993430-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080996410-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.080999500-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081002570-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081005590-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081008580-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081011510-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081014480-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081017640-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081020780-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081023630-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081026720-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081029770-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081032780-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081035780-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081038600-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081045800-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081048960-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081052280-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081055260-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081058250-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081061290-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081064290-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081067390-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081070360-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081073369-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081076299-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081079409-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081082289-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081085209-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081088059-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081091059-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081094099-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081097059-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081100069-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081103209-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081108199-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081111309-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081119279-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081122269-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081125299-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081128369-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081131369-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081134389-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081137439-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081140479-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081143589-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081146589-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081149589-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081152679-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081155629-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081158629-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081161649-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081164639-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081167499-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081170519-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError@pytest.fixture(scope="module") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081173549-05:00 def weekly_report(): [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081176649-05:00 > return _run("weekly") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081179689-05:00 ^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081182569-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081185549-05:00 analytics/tests/test_report_traits_live.py:99: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081189339-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081192329-05:00 analytics/tests/test_report_traits_live.py:75: in _run [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081195379-05:00 res = fn(store, end_date=d, dry_run=True, deliver=False, clean=True) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081198369-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081201359-05:00 analytics/src/storeminder/runner.py:336: in run_weekly [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081204349-05:00 return _run_report(params, clean=clean) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081207329-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081210289-05:00 analytics/src/storeminder/runner.py:161: in _run_report [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081213269-05:00 conf = manage_api.store_config(store_id) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081216179-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081219199-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081222079-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081225099-05:00 store_id = 'Fastime' [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081227879-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081230859-05:00 def store_config(store_id: str) -> dict[str, Any] | None: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081234179-05:00 """The store's authoritative report config (== the legacy conf/{slug}.yaml). [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081237139-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081240049-05:00 Returns the config dict on 200, or None on a 404 (unknown store — the caller [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081248649-05:00 turns this into an explicit error). Raises ManageApiError when the base URL is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081251849-05:00 unset or the manage app is unreachable / returns any other status: config is [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081254859-05:00 Django-only, so we fail loud rather than run an unconfigured store. [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081257949-05:00 """ [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081260899-05:00 base = _require_base() [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081263919-05:00 try: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081266899-05:00 import requests [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081269879-05:00 r = requests.get(f"{base}/api/stores/{store_id}/config/", [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081272889-05:00 headers=_headers(), timeout=10) [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081275849-05:00 except Exception as e: # transport error → loud [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081278829-05:00 raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081281859-05:00 f"manage_api store_config({store_id}) transport error: " [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081284858-05:00 f"{type(e).__name__}: {e}") from e [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081304078-05:00 if r.status_code == 404: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081316608-05:00 return None [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081319568-05:00 if r.status_code != 200: [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081322448-05:00 > raise ManageApiError( [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081326808-05:00 f"manage_api store_config({store_id}) returned HTTP {r.status_code}") [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081329948-05:00 E storeminder.manage_api.ManageApiError: manage_api store_config(Fastime) returned HTTP 400 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081332108-05:00 [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081334688-05:00 packages/storeminder-integrations/src/storeminder/manage_api.py:93: ManageApiError===JUNIT_END=== [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.081342068-05:00 ----- end live Job logs ----- [pod/analytics-report-live-txrnl-live-build-pod/step-run-live] 2026-07-21T13:30:01.140493338-05:00 ==> live build: status=Failed conclusion=failure [pod/analytics-report-live-txrnl-live-build-pod/prepare] 2026-07-21T13:28:46.844785670-05:00 2026/07/21 18:28:46 Entrypoint initialization [pod/analytics-report-live-txrnl-live-build-pod/place-scripts] 2026-07-21T13:28:48.901438044-05:00 2026/07/21 18:28:48 Decoded script /tekton/scripts/script-0-kx4tn [pod/analytics-report-live-txrnl-live-build-pod/place-scripts] 2026-07-21T13:28:48.923554143-05:00 2026/07/21 18:28:48 Decoded script /tekton/scripts/script-2-bjzb9