M4 handover: coordinate fixes, detector registry, deploy v2, YOLOv8s, identity lifecycle

- Fix swift_pose/swift_ocr Y-flip bugs (BUG-003~006)
- Add heuristic_scene module + post-processing trigger (replaces Places365)
- YOLOv5nu → YOLOv8s CoreML (+33% detections, +390% scene indicators)
- Per-table SQL export (split 4.7GB single file → 478MB max per table)
- Version/build check in deploy.sh (compare /health vs file_info.json)
- Add file_uuid column to identities table + backfill
- Identity pre-clean step in deploy (avoids UNIQUE conflicts on re-deploy)
- Stranger_xxx naming fix with UUID context
- Add DETECTOR_REGISTRY.md (25 detectors), DETECTOR_SELECTION_SOP.md
- Update SPATIAL_COORDINATE_REGISTRY.md (P layer, 6-layer architecture)
- New IDENTITY_LIFECYCLE.md
- M4 response docs for deploy_script_fix and 111614 test report
This commit is contained in:
Accusys
2026-05-13 20:00:47 +08:00
parent d34bcae145
commit ffc30d7377
25 changed files with 2219 additions and 118 deletions

View File

@@ -17,6 +17,7 @@ use crate::core::db::{
use crate::core::embedding::Embedder;
use crate::worker::config::WorkerConfig;
use crate::worker::processor::{ProcessorPool, ProcessorTask};
use crate::core::processor::heuristic_scene::generate_scene_meta;
use crate::worker::resources::SystemResources;
pub struct JobWorker {
@@ -861,6 +862,26 @@ impl JobWorker {
});
}
// 🚀 P2.7 Trigger: Heuristic Scene Metadata (Face + YOLO → scene attributes)
// Replaces removed Places365 Scene classifier.
if has_face && has_yolo {
info!("📝 Face + YOLO complete, generating heuristic scene metadata...");
let db_clone = self.db.clone();
let uuid_clone = uuid.to_string();
tokio::spawn(async move {
match generate_scene_meta(&db_clone, &uuid_clone).await {
Ok(n) => info!(
"✅ Heuristic scene metadata: {} segments for {}",
n, uuid_clone
),
Err(e) => error!(
"❌ Heuristic scene metadata failed for {}: {}",
uuid_clone, e
),
}
});
}
// 🚀 P3 Trigger: Identity Agent (Face + ASRX)
if has_face && has_asrx {
info!("📝 Prerequisites met for Identity Agent. Starting analysis...");