Accusys
088aefdac7
fix: pipeline timeline log, chunk lookup, face processor no fallback, Qdrant UUID script, delete safety rules
2026-05-18 00:36:14 +08:00
Accusys
c41f7e0c6e
feat: schema version tracking, SHA256 integrity, setup scripts, bug fixes
2026-05-15 18:06:36 +08:00
Accusys
0e73d2a2ce
test: add unified probe unit tests (8 Rust + 6 Python), fix pre-existing test compilation errors
2026-05-15 14:58:44 +08:00
Accusys
29eca5a224
feat: unified probe — dispatcher detects category, runs ffprobe/Python/meta per file type
2026-05-15 14:38:47 +08:00
Accusys
37747466e8
fix: deploy_package.sh — add content_hash column migration before import
2026-05-14 20:35:22 +08:00
Accusys
c90394897d
fix: trace debug — show Stranger_NNN for unnamed traces instead of unknown
2026-05-14 15:12:21 +08:00
Accusys
2c4e32f14a
fix: deploy.sh normalizes schema prefix in data.sql too (format normalization)
2026-05-14 14:46:53 +08:00
Accusys
c45bd3bb0f
fix: deploy script schema integrity — normalize COPY schema prefix via sed + drop identities_name_key constraint
2026-05-14 14:45:53 +08:00
Accusys
31d113f23a
test: add face tracker unit tests — 27 tests for IoU, distance, embedding sim, match logic, and tracking pipeline
2026-05-14 14:44:39 +08:00
Accusys
4864c57d4c
fix: executor scene/object trace time range for GDINO
2026-05-14 14:02:49 +08:00
Accusys
159684331e
feat: GDINO A+B — time-bounded search (9s vs 130s) + parameterized interval
2026-05-14 13:57:25 +08:00
Accusys
39888ce3cc
feat: eye filter flag + QA fixes (Gemma4 prompt, YOLO boundary, PaliGemma score, GDINO skip)
2026-05-14 12:24:25 +08:00
Accusys
f60a59b280
feat: QA self-check agent — 15 prompts, 5 judges, weighted scoring
2026-05-14 10:53:30 +08:00
Accusys
64bcfd716e
feat: merge traces within same cut — centroid similarity threshold 0.75
2026-05-14 03:04:03 +08:00
Accusys
3a7facdc10
fix: face tracker — add iou>0.35+dist<100 condition for same-position matching
2026-05-14 02:26:37 +08:00
Accusys
1023930f73
feat: deploy.sh --force flag to skip overwrite confirmation
2026-05-14 01:53:59 +08:00
Accusys
b66d7963c2
fix: store_traced_faces — embed from DB, UPDATE not INSERT, dedup
2026-05-14 00:32:39 +08:00
Accusys
74f00d3baa
fix: face traces split at scene cuts — even same person, different cut
2026-05-14 00:21:17 +08:00
Accusys
690254a5b2
fix: face tracker — reject cross-person match on bbox size + edge exit
2026-05-14 00:05:57 +08:00
Accusys
70a796e16c
fix: face tracker embedding threshold — reject similarity < 0.5, tighten fallback to >0.75
2026-05-14 00:02:39 +08:00
Accusys
6cd41ed71f
fix: deploy.sh pre-clean all tables + SCHEMA var for public/dev
2026-05-13 22:05:35 +08:00
Accusys
edb0e0bf7a
fix: bundle vec0.dylib in package + deploy install (4/4 M4 items)
2026-05-13 20:46:29 +08:00
Accusys
fcaaeadf06
fix: deploy.sh missing REQUIRED_FILES variable
2026-05-13 20:20:26 +08:00
Accusys
1d69a88741
fix: deploy.sh build check lenient + per-file import order (M4 feedback)
...
- Accept SRV_BUILD=unknown (skip build check, only compare version)
- Per-table import with explicit FK order (nodes before edges)
2026-05-13 20:15:44 +08:00
Accusys
ffc30d7377
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
2026-05-13 20:00:47 +08:00
Accusys
c0c0e6e8ea
feat: self-contained deploy/verify scripts in release package
...
- Add deploy.sh: imports data.sql, copies video, copies output files, verifies
- Add verify.sh: checks file integrity + DB/offline status
- Both scripts included in tar.gz via release package command
- Package now deployable standalone without release CLI
2026-05-13 04:35:43 +08:00
Accusys
48c3b13c37
fix: restore identity_id after face_dedup, rebuild package v20260512
...
- Re-ran identity_bind.py to restore identity_id on face_detections
- Dedup cleanup had removed rows with identity_id, kept NULL rows
- 70691 face_detections now have identity_id, 428 identities
- Full package rebuild: 169MB sqlite, 1358MB tar.gz
- identities.json: 428 identities + 5483 bindings + 5483 trace maps
- TMDB matching complete: Audrey Hepburn 843 traces, Cary Grant 482
2026-05-13 04:30:18 +08:00
Accusys
fff2af8ad1
fix: identity names now show in all trace tooltips (online + offline)
...
- Online: remove IDENTITY filter gating on identity_note — always show
- Offline: fix id_names scope bug — was overwritten by top10-only dict
- Both reports now show 'identity: PERSON_xxx' for all 2000 timeline traces
- All 5483 traces have identity mapping (verified in SQLite)
2026-05-13 03:19:26 +08:00
Accusys
8d4d29ce6e
fix: offline report shows identity names in trace tooltips
...
- Load trace_to_identity mapping from SQLite face_detections
- Query identity names from identities table
- Show 'identity: PERSON_xxx' in each trace bar tooltip
- Works in both full view and --identity filtered view
2026-05-13 03:14:49 +08:00
Accusys
bbf8e64752
feat: offline report from SQLite, no PostgreSQL needed
...
- Add render_offline_report.py — reads .sqlite directly
- Reports include: DB contents, TKG breakdown, density histogram,
trace timeline, top identities, identity details card
- Supports --identity filter (like online mode)
- Add release visualize-offline <sqlite> [-i identity] [-o output]
- Works with exported .sqlite from export_sqlite.py
- Uses sqlite-vec vec0 tables for vector metadata
2026-05-13 03:10:59 +08:00
Accusys
007fe10c2e
feat: TKG completion, PG audit, SQLite backup with Qdrant voice vectors
...
- Add voice_embeddings vec0 table (192D) from Qdrant to SQLite export
- Add tkg_nodes + tkg_edges tables to SQLite export
- Clean orphan TKG data (2414 nodes, 64 chunks)
- Rebuild TKG for both Charade files with speaker nodes
- Create asrx.json from chunk speaker metadata for TKG builder
- PG audit: pre_chunks 1.8GB (largest), 3 empty tables found
- Update release package to include all output files (not just JSON)
- Full backup: 9 SQLite tables + 3 vec0 vector tables
2026-05-13 03:03:38 +08:00
Accusys
2992a0e650
feat: service inventory, ERP reports, sqlite-vec integration, visualize tool
...
- Add SERVICE_INVENTORY_V1.0.0.md (25 source-verified tools, 3.7GB)
- Add ERP_SELECTION_REPORT.md (Odoo CE vs ERPNext comparison)
- Add SFTPGO_ODOO_REPLACEMENT.md (SFTPGo migration plan)
- Add SERVICE_GO_GITEA_BUILD.md (Go compiler + Gitea build report)
- Add release visualize command (face trace heatmap + identity filter)
- Add sqlite-vec integration (160MB SQLite with vec0 vector tables)
- Add export_identities.py, export_sqlite.py, render_face_heatmap.py
- Add Go, Gitea, Rust/Cargo, Swift, yt-dlp, SQLite, sqlite-vec to service CLI
- Fix package to include identities and identity_bindings in data.sql
- Update release list to show all deployed video stats
- Add V1.0.0 YAML frontmatter to all docs (DOCS_STANDARD compliant)
2026-05-13 02:37:45 +08:00
Accusys
39ba5ddf76
feat: Phase 1 handover - schema migration, correction mechanism, API fixes
...
Schema changes: dev.chunks->dev.chunk, remove old_chunk_id/chunk_index
Correction: asr-1.json format, generate/apply scripts
API: 37/37 endpoints fixed and tested
Docs: HANDOVER_V2.0.md for M4
2026-05-11 07:03:22 +08:00
Accusys
d043b6adae
docs: Phase 1 completion report + LLM reasoning off fix
2026-05-09 22:03:34 +08:00
Accusys
e7f311e7b8
docs: Phase 1 checklist 6 sections (含 face trace + TKG + identities)
...
release_pack.py: identities 併入 phase 1(不限 phase >= 2)
2026-05-09 18:14:22 +08:00
Accusys
6fc1d2b54d
dashboard: copy button, dedup files, /api/all single call
2026-05-09 18:00:46 +08:00
Accusys
4f1e546104
feat: Momentry Dashboard web app (Flask)
...
- Realtime dashboard on port 5050
- Pipeline checklist (8 stages ✅ /❌ )
- System health: CPU, memory, disk, GPU, 4 services
- Redis metrics: memory, clients, hit rate, keys
- DB table counts: videos, chunks, face_detections, identities, TKG
- Processor timing chart
- Auto-refresh every 15 seconds + manual refresh button
Usage: python3 scripts/dashboard.py
Open: http://localhost:5050
2026-05-09 17:43:26 +08:00
Accusys
06caea51e7
feat: pipeline status dashboard (checklist + health + timing)
...
Usage:
python3 scripts/pipeline_status.py # formatted table
python3 scripts/pipeline_status.py --json # machine-readable JSON
Shows:
- 8-stage checklist with pass/fail per stage
- System health: CPU, memory, disk, GPU, 4 services
- Processor timing from DB
- All in under 1 second
2026-05-09 17:29:38 +08:00
Accusys
fc16e7b1c3
fix: Phase 1 pipeline fully operational
...
- store_traced_faces.py: add --uuid arg for PythonExecutor compat
- tkg_builder.py: add --uuid arg + timestamp_secs column fix
- release_pack.py: fix pg_dump/psql paths, proper JSON escaping
- pipeline_checklist.py: new independent verification tool
Phase 1 checklist 8/8 PASS:
ASR ✅ ASRX ✅ sentence chunks ✅ vector embeddings ✅
face trace ✅ TKG graph ✅ trace chunks ✅ Phase 1 release ✅
2026-05-09 17:21:17 +08:00
Accusys
19669a1f91
refactor: model naming v1(base)/v2, Qdrant collection naming
...
- Phase 1 = v1 (base model, sentence chunk embedding)
- Phase 2 = v2 (full pipeline + 5W1H)
- Naming leaves room for v3, v4, etc.
- Qdrant collection: momentry_dev_v1 (active model under dev)
- Release packaging exports Qdrant points snapshot
2026-05-09 14:14:04 +08:00
Accusys
28652f5b76
feat: phased release packaging (Phase 1 + Phase 2)
...
- scripts/release_pack.py: packages output_json + schema + chunks + vectors
- Phase 1: triggered after ASR+ASRX+Rule 1+vectorization (sentence chunk delivery)
- Phase 2: triggered after full pipeline + 5W1H Agent (full delivery)
- Both phases include all available {uuid}.*.json files
- Non-overlapping directories: release/phase1/ and release/phase2/
2026-05-09 13:58:55 +08:00
Accusys
a0774cb9ab
feat: wire TKG builder into worker pipeline + face-face edges
...
- Auto-run tkg_builder.py after face trace store + Qdrant sync + trace chunks
- Add face-face CO_OCCURS_WITH edges (two traces in same frame)
- docs: TKG integration report for M4
2026-05-09 06:22:27 +08:00
Accusys
9f5afd1b86
fix: file-based source of truth for worker + backup protocol
...
- Worker: check {uuid}.{processor}.json existence before starting processor
- Worker: timestamp-copy backup existing output files before re-run (no delete, no overwrite)
- Executor: partial output saved as .json.partial (not .json) to avoid false completion
- Start script: removed set-e, log dir changed to momentry/logs, Qdrant collection status fix
- docs: M4 release incident report + M4/M5 collaboration protocol
2026-05-09 05:32:13 +08:00
Warren
6d82131589
M4: trace API, portal embed client, EmbeddingGemma sync, release plan
2026-05-08 01:04:23 +08:00
Warren
65a1f77e65
feat: trace quality agent selection report, identity clustering runner_v2 DB write, age/gender CoreML selection, updated experiment config UUID
2026-05-06 14:41:48 +08:00
Warren
74b6182eba
feat: media API (video/bbox/thumbnail), UUID unification, dot matrix text, portal fixes, API dictionary V1.3
2026-05-06 13:34:49 +08:00
Warren
e75c4d6f07
cleanup: remove dead code and duplicate docs
...
- Remove session-ses_2f27.md (161KB raw session log)
- Remove 49 ROOT_* duplicate files across REFERENCE/
- Remove 14 duplicate files between REFERENCE/ root and history/
- Remove asr_legacy.rs (dead code, replaced by asr.rs)
- Remove src/core/worker/ (duplicate JobWorker)
- Remove src/core/layers/ (empty directory)
- Remove 4 .bak files in src/
- Remove 7 dead private methods in worker/processor.rs
- Remove backup directory from git tracking
2026-05-04 01:31:21 +08:00
Warren
8f05a7c188
feat: update Python processors and add utility scripts
...
- Update ASR, face, OCR, pose processors
- Add release pre-flight check script
- Add synonym generation, chunk processing scripts
- Add face recognition, stamp search utilities
2026-04-30 15:07:49 +08:00
Warren
59809dae1f
chore: backup before migration to new repo
2026-04-23 16:46:02 +08:00
Warren
395f74bf07
feat: 添加場景識別 Playground API 整合
...
新增:
- scripts/test_scene_api.py - API 測試腳本
- docs_v1.0/IMPLEMENTATION/SCENE_API_INTEGRATION.md - API 整合指南
功能:
- ✅ GET /api/v1/scene/:uuid endpoint 設計
- ✅ Python 測試腳本
- ✅ 完整使用文檔
- ✅ Python 整合範例
使用方式:
```bash
# 啟動 Playground (port 3003)
cargo run --bin momentry_playground -- server --port 3003
# 測試場景識別
python3 scripts/test_scene_api.py <video_uuid>
```
目前狀態:
- ✅ Python 場景識別功能正常
- ✅ API endpoint 設計完成
- ⏳ Rust 完整實作進行中
- 📄 完整文檔已建立
2026-04-01 02:55:52 +08:00