Files
momentry_core/docs_v1.0/V4_ISSUES_TRACKING.md
Warren 4d75b2e251 docs: update docs_v1.0/ documentation
- Fix markdown lint issues (MD030, MD047, MD051, MD028, MD005)
- Update AI agents, architecture, implementation docs
- Add new identity, face recognition, and API documentation
- Remove deprecated face/person API guides
2026-04-30 15:10:41 +08:00

6.3 KiB
Raw Permalink Blame History

V4.0 Migration 问题追踪报告

Date: 2026-04-28 20:50 Status: Phase 1 + Phase 2 完成,数据源问题修复中


已完成工作

Phase 1: 术语统一 (video_uuid → file_uuid)

类别 数量 状态
Rust 代码 11 文件 完成
Portal (PHP) 6 文件 完成
文档 117 处 完成
Migration 025 DB 列重命名 完成

Phase 2: 架构简化 (person_identities 删除)

类别 状态
Migration 026 file_identities 表创建
Migration 027 identities.identity_id 添加
Migration 028 person_identities 删除
SQLx Cache 已更新

今日修复

问题 分析报告 修复状态
UUID 长度问题 UUID_LENGTH_ISSUE.md 分析完成(保持兼容)
Videos 表命名 VIDEOS_TABLE_NAMING_ISSUE.md 分析完成(保持现状)
Rule 1 Face 数据源 RULE1_FACE_DATA_SOURCE_FIX.md 修复完成

发现的问题

问题 1: UUID 长度不一致

现象:

  • 20 个 video 使用 16-char UUID旧格式
  • 7479 个 video 使用 32-char UUIDBirth UUID

示例: 384b0ff44aaaa1f14cb2cd63b3fea966 (16-char)

原因:

  • compute_uuid() 取 SHA256[0:16]
  • compute_birth_uuid() 取 SHA256[0:32]

决策: 保持兼容模式(不强制迁移)

影响:

  • Birth UUID 功能受限(is_birth_uuid() 返回 false
  • 跨设备同步不支持

问题 2: 表命名不一致

现象:

  • 表名: videos
  • 术语: file_uuid

原因: Phase 1 迁移计划缺失表重命名

对比: talents → identities 已完成,但 videos → files 未执行

决策: 短期保持现状,中期添加别名,长期完整重命名

影响:

  • 文档与代码不一致
  • 新开发者困惑

问题 3: Rule 1 数据源不匹配

现象:

  • Face 数据在 face_detections 表
  • rule1_ingest.rs 从 pre_chunks 读取

修复: fetch_face_frames() 改为从 face_detections 读取

验证: 编译通过,数据源正确

遗留: YOLO/ASRX 数据缺失


Processor 状态 (384b0ff44aaaa1f14cb2cd63b3fea966)

Processor processor_results chunks_produced 数据源状态
ASR completed 3664 pre_chunks
CUT completed 1332 pre_chunks
Face failed 0 face_detections 有 78 条 ⚠️
YOLO failed 0 pre_chunks 缺失
OCR failed 0 pre_chunks 缺失
ASRX 未运行 - pre_chunks 缺失

Rule 1 数据可用性

数据类型 可用 Rule 1 可用
ASR segments 3664
CUT segments 1332
Face frames 78 (修复后)
YOLO frames 0 → metadata.yolo_objects = []
ASRX segments 0 → metadata.speaker_id = "UNKNOWN"

待解决问题

高优先级

问题 影响 解决方案
YOLO processor failed YOLO objects 缺失 检查错误日志,修复 processor
ASRX processor 未运行 Speaker ID 缺失 启动 ASRX processor
2 个 Rule1 jobs QUEUED Rule 1 未执行 启动 Job Worker

中优先级

问题 影响 解决方案
Face processor failed processor_results 记录错误 检查错误原因
chunks metadata 空 Face/Speaker 未绑定 重新运行 Rule 1

低优先级

问题 影响 解决方案
20 个 16-char UUID Birth UUID 功能受限 长期迁移计划
videos 表命名 术语不一致 长期重命名计划

Jobs 状态

SELECT id, status, rule, created_at 
FROM dev.jobs 
WHERE asset_uuid = '384b0ff44aaaa1f14cb2cd63b3fea966';

-- Result:
id: 9e5df703... status: QUEUED, rule: rule1, created: 2026-04-21 19:04
id: 751d90b5... status: QUEUED, rule: rule1, created: 2026-04-21 16:54

问题: Job Worker 可能未运行


下一步计划

Phase 1: Processor 启动

  1. 检查 YOLO processor 错误日志
  2. 启动 ASRX processor
  3. 等待 processor_results 完成

Phase 2: Rule 1 测试

  1. 启动 Job Worker
  2. 执行 Rule 1 处理
  3. 验证 chunks metadata:
    • speaker_id (来自 ASRX)
    • yolo_objects (来自 YOLO)
    • face_ids (来自 face_detections)

Phase 3: Identity 绑定

  1. 创建 identity_binding_v4.rs
  2. Face → Identity 直接绑定
  3. Chunk 自动绑定

相关文档

文档 说明
docs_v1.0/UUID_LENGTH_ISSUE.md UUID 长度问题分析
docs_v1.0/VIDEOS_TABLE_NAMING_ISSUE.md 表命名问题分析
docs_v1.0/RULE1_FACE_DATA_SOURCE_FIX.md Face 数据源修复
docs_v1.0/RULE1_CHUNK_INGESTION_CHECK.md Rule 1 问题分析
docs_v1.0/RULE1_TRIGGER_MECHANISM.md Rule 1 启动机制
docs_v1.0/V4_MIGRATION_COMPLETE.md Migration 完成报告

统计数据

数据库记录

记录数 备注
videos 7499 20 个 16-char UUID
face_detections 78 (384b0ff44...) 通用数据
chunks 3664 sentence 类型
pre_chunks 4996 ASR + CUT

Migration 文件

文件 说明 状态
025_rename_video_uuid_to_file_uuid.sql 列重命名
026_create_file_identities_table.sql file_identities 表
027_add_identity_id_to_identities.sql identity_id 列
028_drop_person_identities_table.sql 删除旧表

代码质量

编译验证

cargo check --lib   # ✅ Passed (warnings only)
cargo test --lib    # ✅ 178 tests passed
cargo clippy --lib  # ✅ Passed

未修改文件

  • identity_binding_v4.rs已删除待重写
  • Job Worker待检查运行状态

结论

已完成:

  • V4.0 Migration Phase 1 + Phase 2
  • UUID 长度问题分析(决策:保持兼容)
  • Videos 表命名问题分析(决策:保持现状)
  • Rule 1 Face 数据源修复

待处理:

  • 🔧 YOLO/ASRX processor 启动
  • 🔧 Job Worker 启动
  • 🔧 Rule 1 测试验证

建议: 先解决 Processor 问题,再测试 Rule 1 完整流程。