# Task Plan ## Checklist - [x] Confirm the current `store_dwell_alert` half-hour report path and identify the runtime control point. - [x] Verify the plan covers behavior change, focused tests, deployment scope, and post-deploy validation. - [ ] Update focused tests so `half_hour_report` is expected on rolling 1800-second windows from startup time. - [ ] Implement the rolling window behavior in `store_dwell_alert` runtime code. - [ ] Run focused `store_dwell_alert` tests for the changed slice. - [ ] Deploy the updated `store_dwell_alert` code to `xiaozheng@10.8.0.11` and restart only the affected service(s). - [ ] Validate the remote deployment and update the Review section with evidence. ## Scope And Risks - Scope: change `managed/store_dwell_alert` so `half_hour_report` uses rolling 1800-second windows from service startup instead of natural `:00` / `:30` boundaries, then deploy the change to `10.8.0.11`. - Expected touch points: `managed/store_dwell_alert/app/modules/dwell_engine.py`, `managed/store_dwell_alert/app/modules/reporter.py`, and focused tests under `managed/store_dwell_alert/tests/`. - Risk: changing the window model can alter `window_start` and `window_end` values consumed by downstream webhook receivers and manage APIs. - Risk: a delayed observation call may span more than one 30-minute window; the implementation should behave predictably and avoid duplicate emissions for the same window. - Risk: deployment should be limited to `store-dwell-alert` unless code or config diffs prove broader scope is required. ## Validation Intent - First pin the new expected behavior with focused tests. - After the code change, run the narrowest `store_dwell_alert` tests that cover report timing and report payloads. - After deployment, verify the remote service is healthy and that the deployed code matches local content. ## Review - Status: in progress. - Result: pending. - Verification: pending.