fix: face group name read consistency, sync_file_status fix, cleanup ghost records, identity_agent replaced with face_dedup

- get_face_groups_handler: COALESCE(tp.name, tn.label) for name consistency
- sync_file_status: compare JSON vs pre_chunks (not chunk table)
- face consistency: compare frames.len() not total_faces
- cleanup 2 ghost records with NULL file_name/file_path
- replace identity_agent with face_dedup in pipeline stages
- remove identity_agent_api.rs and all references
- update required_processors to match actual processors
- update AGENTS.md with team responsibilities
- add Studio pipeline changes documentation
This commit is contained in:
Accusys
2026-07-27 02:15:51 +08:00
parent fcdeab82e6
commit 39a2cbc65b
118 changed files with 19386 additions and 2964 deletions
+26 -4
View File
@@ -121,8 +121,19 @@ def _convert_asr_segments_to_asrx(asr_segments, output_path):
try:
with open(probe_path) as pf:
probe_data = json.load(pf)
if "fps" in probe_data:
fps = float(probe_data["fps"])
# Extract fps from streams array (video stream)
for stream in probe_data.get("streams", []):
if stream.get("codec_type") == "video":
if "r_frame_rate" in stream:
fps_str = stream["r_frame_rate"]
# Parse "24000/1001" format
if "/" in fps_str:
num, den = fps_str.split("/")
if float(den) > 0:
fps = float(num) / float(den)
else:
fps = float(fps_str)
break
except Exception:
pass
@@ -154,8 +165,19 @@ def _convert_result(result, output_path):
try:
with open(probe_path) as pf:
probe_data = json.load(pf)
if "fps" in probe_data:
fps = float(probe_data["fps"])
# Extract fps from streams array (video stream)
for stream in probe_data.get("streams", []):
if stream.get("codec_type") == "video":
if "r_frame_rate" in stream:
fps_str = stream["r_frame_rate"]
# Parse "24000/1001" format
if "/" in fps_str:
num, den = fps_str.split("/")
if float(den) > 0:
fps = float(num) / float(den)
else:
fps = float(fps_str)
break
except Exception:
pass