# Memories ## User and Workflow - User wants Chinese responses. - Project path for subagent headers is `/Users/yoilun/Code/cold_display_guard`. - Current workflow batch is `v1.2 轨迹识别`. - User requested following `/Users/yoilun/Code/goal-subagents-workflow-prompt.md`. - Every subagent task must begin with: ```text [项目: /Users/yoilun/Code/cold_display_guard] [工作流批次: v1.2 轨迹识别] [阶段: 阶段 x] [角色: 对应智能体角色] ``` ## Technical Direction - First implement lightweight motion trajectory detection without YOLO dependencies. - Preserve a stable `disposal_evidence` contract for a future trained YOLO product detector. - Keep ROI occupancy timing as the source of zone occupied/empty state. - Use trajectory evidence before generic trash-motion FIFO fallback. - Current runtime writes top-level `disposal_evidence` and nested `diagnostics.trajectory` into runtime diagnostics JSONL. ## v1.2 Completed Facts - Stage 1 established the backend contract: `Observation.disposal_evidence` normalizes backend-neutral disposal evidence, and the engine can discard a pending batch only when evidence targets `trash`, meets confidence, and matches the pending `source_zone_id`. - Stage 2 added the lightweight motion trajectory runtime path: ROI occupancy still drives occupied/empty state, `TrajectoryTracker` emits source-zone-to-trash evidence, and generic trash-motion count remains as a fallback. - Stage 3 added diagnostics and tests for runtime evidence propagation, trajectory sampling interval behavior, capture-failure schema, and trajectory/yolo runtime config parsing. - Final review fixes: matched evidence now only subtracts the trash fallback budget by the number of batches it actually closed, and trajectory candidates reject outside-before-source motion with `motion_started_outside_source`. - Current v1.2 does not use YOLO. `yolo_enabled`, `yolo_model_path`, and `yolo_min_confidence` are reserved for a future trained model backend that should keep emitting the same `disposal_evidence` shape. ## Remote Deployment Notes - Remote deployment target is `xiaozheng@192.168.5.206:/home/xiaozheng/cold_display_guard`. - Preserve the remote `config/example.toml`; it may contain camera, calibration, threshold, and deployment-specific runtime settings that must not be overwritten blindly. - When syncing code remotely, verify that runtime diagnostics still show top-level `disposal_evidence` and `diagnostics.trajectory` before evaluating v1.2 trajectory behavior from `logs/events.jsonl`. - The latest v1.2 deployment was verified with `cold-display-guard-runtime` and `cold-display-guard-api` up, API health `status=ok`, and diagnostics schema showing `has_disposal_evidence=True` plus `has_trajectory=True`.