Files
managed-portal/tasks/lessons.md

5.5 KiB

Lessons

2026-05-12

  • Trigger: the user corrected the execution workflow for non-trivial tasks and required persistent task tracking.

  • Rule: for any non-trivial task, create or update tasks/todo.md before substantive implementation, keep progress current, and do not mark done without review evidence.

  • Preventive action: check for tasks/todo.md, tasks/lessons.md, and repository guidance files before editing code; if the user corrects process expectations, record the rule immediately.

  • Trigger: the user required corrections to be persisted for future sessions.

  • Rule: any user correction must be recorded in tasks/lessons.md as trigger -> rule -> preventive action.

  • Preventive action: after any correction, update lessons before closing the task and mention the recorded rule in the final verification summary.

  • Trigger: the user clarified that this repository is meant to run in mainland China environments.

  • Rule: future code, build, deployment, and integration changes must consider mainland China network accessibility and should prefer China-friendly defaults where practical.

  • Preventive action: when adding dependencies, mirrors, external endpoints, or download flows, explicitly check whether the default path works reliably in mainland China and add configuration or fallback when needed.

  • Trigger: the user required deployment to use docker compose only and explicitly disallowed host environment changes.

  • Rule: for remote rollout tasks in this repo, prefer repository-contained docker compose changes and do not install packages, edit host configs, or mutate global environment state unless the user explicitly approves it.

  • Preventive action: when a deployment is blocked, first fix Dockerfiles, compose files, env files, and mounted paths inside the repo before considering any host-level workaround.

2026-05-15

  • Trigger: the .11 OTA bundle host did not have a zip executable, and the current Python containers no longer exposed the historical lap overlay paths.
  • Rule: OTA bundle publication must not assume host archive tools or historical runtime overlay paths are present.
  • Preventive action: when cutting a release, package the ZIP with Python stdlib if zip is unavailable, treat overlay extraction as optional unless the paths are verified live in containers, and validate the final archive contents before upload.

2026-05-18

  • Trigger: the user clarified that OTA installer updates should not keep repackaging and uploading the whole repository tree or fixed people_flow_project weights.
  • Rule: managed-portal OTA releases should ship a minimal ZIP with deploy metadata and managed config only; people_flow_project weights should be reused from a stable host location unless the weights themselves changed or the host is new.
  • Preventive action: when preparing OTA artifacts, use the minimal packaging script, exclude managed/people_flow_project/weights by default, and only publish a weights-bearing bundle for first-time installs or actual weight updates.

2026-05-19

  • Trigger: the user corrected the OTA publication login for 10.8.0.1.

  • Rule: the OTA web host 10.8.0.1 must be published with root, not xiaozheng.

  • Preventive action: for future managed-portal OTA rollouts, verify publication access against root@10.8.0.1:/var/www/html/ai_deploy before treating upload as blocked.

  • Trigger: the user clarified that all new installation targets are Ubuntu machines and asked for missing unzip to be handled automatically, with weights delivered separately.

  • Rule: the managed-portal OTA installer should treat Ubuntu as the first-install baseline, auto-install unzip via apt-get when needed, and use a separate people-flow weights archive instead of forcing weights into the main ZIP.

  • Preventive action: keep the main OTA ZIP minimal, publish people-flow-weights-<RELEASE_VERSION>.tar.gz alongside each release when weights are available, and validate that the installer still reuses shared weights on upgrades.

  • Trigger: the user corrected the YOLO weight repair strategy after a host had DeepFace weights but lacked only yolo11n.pt.

  • Rule: OTA recovery for a missing small model must not force a full 1GB+ weights archive download or fall back to public GitHub downloads.

  • Preventive action: publish a small people-flow-yolo11n-<RELEASE_VERSION>.tar.gz artifact and make the installer download it when only people_flow_project/weights/yolo11n.pt is missing.

2026-06-04

  • Trigger: the user corrected the OTA Docker registry address for the video-recognition rollout on 10.8.0.14.

  • Rule: when updating OTA-hosted Docker images, use the exact registry host and port provided by the user; ota.zhengxinshipin.com and ota.zhengxinshipin.com:5443 are not interchangeable.

  • Preventive action: before concluding a remote image reference is missing, verify whether the intended registry includes a non-default port and test the exact host:port/repo:tag reference.

  • Trigger: the user clarified that the managed-portal four-service rollout must follow the published installer on root@10.8.0.1:/var/www/html/ai_deploy.

  • Rule: for managed-portal release updates, treat the published installer bundle and its embedded Compose/env files as the deployment source of truth instead of reverse-engineering the current host state.

  • Preventive action: before updating the managed-portal stack on a target host, inspect install-managed-portal-*.sh, release-manifest.env, and the bundled docker-compose.ota-release.yml under /var/www/html/ai_deploy.