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.mdbefore 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.mdastrigger -> 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 composeonly and explicitly disallowed host environment changes. -
Rule: for remote rollout tasks in this repo, prefer repository-contained
docker composechanges 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
.11OTA bundle host did not have azipexecutable, and the current Python containers no longer exposed the historicallapoverlay 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
zipis 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_projectweights. - Rule: managed-portal OTA releases should ship a minimal ZIP with deploy metadata and managed config only;
people_flow_projectweights 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/weightsby 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.1must be published withroot, notxiaozheng. -
Preventive action: for future managed-portal OTA rollouts, verify publication access against
root@10.8.0.1:/var/www/html/ai_deploybefore treating upload as blocked. -
Trigger: the user clarified that all new installation targets are Ubuntu machines and asked for missing
unzipto be handled automatically, with weights delivered separately. -
Rule: the managed-portal OTA installer should treat Ubuntu as the first-install baseline, auto-install
unzipviaapt-getwhen 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.gzalongside 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.gzartifact and make the installer download it when onlypeople_flow_project/weights/yolo11n.ptis 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.comandota.zhengxinshipin.com:5443are 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:tagreference. -
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 bundleddocker-compose.ota-release.ymlunder/var/www/html/ai_deploy.