Files
managed-portal/tasks/todo.md

4.2 KiB

Task Plan

Checklist

  • Confirm the changed people_flow_project slice is locally validated before deploy.
  • Verify the plan covers remote sync, service rebuild, health verification, and post-deploy output inspection.
  • Sync the updated people_flow_project runtime files to 10.8.0.11 and verify remote hashes.
  • Rebuild and restart only the people-flow-project service on the remote host.
  • Verify the remote container is healthy after deployment.
  • Print the actual new output structure from the deployed remote code path and note any limitation versus waiting for the next live half-hour webhook.
  • Record deployment and verification evidence in the Review section.

Scope And Risks

  • Scope: deploy the people_flow_project output-label changes to 10.8.0.11 and inspect the newly available output structure from the remote deployed code.
  • Expected touch points: managed/people_flow_project/src/people_flow/queue_analytics.py, managed/people_flow_project/src/people_flow/manage_api.py, remote deployment under /home/xiaozheng/managed-portal, and the people-flow-project docker compose service.
  • Risk: the currently saved live webhook/window JSON files on the remote host will not gain the new label fields until the next real half-hour window is emitted after restart, so immediate inspection may need to use a direct code-path sample or manage API response rather than a freshly emitted live webhook file.
  • Risk: restarting people-flow-project resets the current rolling half-hour window boundary; that is acceptable for deployment but should be stated explicitly.

Validation Intent

  • Verify remote file parity before rebuilding.
  • Check container health and startup logs after deployment.
  • Print an actual structure from the deployed remote code path immediately, and distinguish it from the next live webhook file that will only appear after the next rollover.

Review

  • Status: completed.
  • Result: the updated people_flow_project code is deployed on 10.8.0.11, the rebuilt people-flow-project container is healthy, and the deployed remote code path now exposes the new human-readable queue level and change labels. The currently saved live window/webhook files were generated before the next post-restart half-hour rollover, so the most immediate proof comes from the deployed manage API response and a direct runtime-code simulation inside the container.
  • Verification:
    • synced managed/people_flow_project/src/people_flow/queue_analytics.py and managed/people_flow_project/src/people_flow/manage_api.py to /home/xiaozheng/managed-portal/managed/people_flow_project/src/people_flow/ on 10.8.0.11 and verified SHA256 parity with local files:
      • queue_analytics.py: dd12c0a7af2d7c1bf68e3496560fe2ea0fb5c1d582bea7c4dada0caf105711c8
      • manage_api.py: c723fd570a29b43cd055dfaca4a5fc9ce1459b55754d2dbd0b8edcdef7da4cf1
    • rebuilt and restarted only people-flow-project with docker compose --env-file managed-portal.10.8.0.11.env up -d --build people-flow-project on the remote host;
    • confirmed remote status after deploy: people-flow-project is Up and healthy;
    • queried the deployed manage API summary endpoint inside the container and observed these actual metrics keys/values from the live response: { "queue_level": "normal", "queue_level_label": "人数正常", "previous_queue_level": "few", "previous_queue_level_label": "人少", "status_change": "queue_normalized", "status_change_label": "人数变正常" };
    • executed a direct simulation inside the deployed container using the updated QueueWindowTracker code path and printed the actual new queue_metrics JSON:
      • queue_level: crowded
      • queue_level_label: 人多
      • previous_queue_level: null
      • previous_queue_level_label: ""
      • status_change: initial
      • status_change_label: 初始
      • plus the existing queue_time_threshold_seconds, over_threshold_count, under_threshold_count, and people[] fields;
    • noted deployment side effect: restarting people-flow-project resets the current rolling 1800-second window, so the next real live half_hour_report file/webhook emitted after this restart will be the first persisted artifact that contains the new label fields.