feat: enhance LineCrossCounter to deduplicate re-entries and add WindowIdentityResolver for person tracking

chore: update docker-compose for additional host configuration
test: add unit tests for LineCrossCounter and WindowIdentityResolver functionality
This commit is contained in:
2026-05-12 16:09:15 +08:00
parent bc87fb78ea
commit 4e69eca7cb
6 changed files with 223 additions and 24 deletions

View File

@@ -2,24 +2,30 @@
## Checklist
- [x] Clarify scope, repository boundaries, and validation requirements for a repository-level AGENTS.md.
- [x] Verify that the plan covers the user-specified workflow rules, project structure, and risk points.
- [x] Create a complete AGENTS.md that embeds the requested workflow orchestration rules and repo-specific guardrails.
- [x] Verify the generated AGENTS.md against the current repository structure and required workflow sections.
- [x] Update the Review section with the final result and verification evidence.
- [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: add a repository-root AGENTS.md that governs future modifications across the Go backend, Vue frontend, deployment assets, and embedded Python managed services.
- Risk: omit a repository area or validation command and leave future work under-constrained.
- Risk: copy the requested workflow rules without adapting them to this repo's actual layout and toolchain.
- Risk: finish without writing persistent task evidence for plan, review, and lessons.
- 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: completed.
- Result: added a repository-root `AGENTS.md` plus `tasks/todo.md` and `tasks/lessons.md` to enforce the requested workflow for future non-trivial tasks.
- Verification:
- confirmed `AGENTS.md` exists at the repository root;
- read back `AGENTS.md` and verified it covers workflow orchestration, task management, repo structure, validation matrix, and definition of done;
- matched required repository-specific references including `internal/webdevice/`, `managed/people_flow_project/`, `managed/store_dwell_alert/`, `tasks/todo.md`, and `tasks/lessons.md`.
- Status: in progress.
- Result: pending.
- Verification: pending.