Commit Graph

97 Commits

Author SHA1 Message Date
Accusys
5317cb4bec feat: schema tracking, SHA256 integrity, identity UUID fix, 3-angle face match, cuts table, trace stranger_id 2026-05-16 03:10:50 +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
7686ed0df7 fix: use mtime (not birthtime) for UUID birthday — rsync preserves mtime across systems 2026-05-15 13:26:36 +08:00
Accusys
5af8df9201 fix: watcher is detection-only — pre_process_file is now explicit, not automatic 2026-05-15 13:18:22 +08:00
Accusys
43cf702d05 feat: add 'unregistered' status — all incomplete files migrated to unregistered 2026-05-15 13:17:31 +08:00
Accusys
9fef5fb70d fix: move DEMO_USER_API_KEY from hardcoded to env var, add .env.example 2026-05-15 13:14:59 +08:00
Accusys
8a7ffc94e4 fix: register uses birthday from pre.json (not DB registration_time) for UUID stability
- Step 4 UUID computation now reuses birthday from pre.json or file creation time
- Removed DB birthday query that overwrote the correct birthday with NOW()
- End-to-end verified: watcher UUID now matches registration UUID
2026-05-15 13:07:45 +08:00
Accusys
cdbd205972 feat: file pre-processor in watcher — SHA256 + probe + UUID → .pre.json for all file types 2026-05-15 12:51:43 +08:00
Accusys
e86aebccee feat: register INSERT now uses status='registered' + registration_time=NOW() 2026-05-15 12:46:42 +08:00
Accusys
37799fff4e fix: add identity_uuid to /identities list + /file/:uuid/identities responses 2026-05-15 10:14:22 +08:00
Accusys
fdcec82274 fix: file/identities — replace NULL first/last_appearance with actual start_frame/end_frame + start_time/end_time + fps 2026-05-15 10:07:35 +08:00
Accusys
fc1d7751dd feat: register non-video files — graceful probe fallback for svg/pdf/docx/pages etc 2026-05-15 03:17:57 +08:00
Accusys
263f017972 revert: remove /api/v1/register alias — not a valid endpoint, corrected M4 to use /api/v1/files/register 2026-05-15 03:12:32 +08:00
Accusys
e5f2bba248 fix: add /api/v1/register alias for backward compatibility 2026-05-15 03:08:56 +08:00
Accusys
53d64677d0 fix: rsync pipeline check looks for source-built binary at ~/bin/rsync 2026-05-15 01:22:54 +08:00
Accusys
1c07136ef1 feat: add rsync as managed resource — registered in DB + pipeline health check 2026-05-15 01:13:57 +08:00
Accusys
194a3b161a feat: registration accepts optional content_hash from client — checksum at birth 2026-05-14 20:44:33 +08:00
Accusys
4d1fe2d26f feat: file dedup — content_hash SHA256 + /files/lookup API + auto-rename on name collision 2026-05-14 20:24:21 +08:00
Accusys
189bec929a feat: all video endpoints support mode=normal|debug + audio=on|off 2026-05-14 19:04:42 +08:00
Accusys
d2bc7c0e2d fix: trace debug cut query — use chunk table (no separate 'cut' table exists), show '-' when unavailable 2026-05-14 18:48:27 +08:00
Accusys
7fb6745c27 fix: trace debug — move overlay to top-left, double font sizes 2026-05-14 18:44:27 +08:00
Accusys
93d87f0582 fix: trace video normal mode — remove -an to preserve audio 2026-05-14 18:38:11 +08:00
Accusys
b5215f13e3 fix: progress route :uuid → :file_uuid (consistency with API docs) 2026-05-14 17:58:57 +08:00
Accusys
a9d0228a72 fix: unregister — rename request/response uuid → file_uuid 2026-05-14 17:46:38 +08:00
Accusys
4494935cc9 feat: dual input (start_frame/end_frame + start_time/end_time) + all outputs include frames, time, fps 2026-05-14 17:36:18 +08:00
Accusys
513b9e72fc feat: health/detailed — add pipeline status section (scripts, models, ffmpeg, embed, gdino, llm) 2026-05-14 17:01:54 +08:00
Accusys
1f7daf9e8b fix: escape colons in drawtext text values for ffmpeg 8.1.1 filter parser compatibility 2026-05-14 15:55:32 +08:00
Accusys
6728c2bb90 feat: trace debug — actual bbox thickness=4, interpolated bbox thickness=1 at first known position 2026-05-14 15:24:11 +08:00
Accusys
d8dddda970 fix: trace debug bbox thickness 1 (thinner) 2026-05-14 15:21:04 +08:00
Accusys
cfb0cfbb37 fix: trace debug info panel moved to bottom-left corner 2026-05-14 15:20:05 +08:00
Accusys
94122f5371 fix: trace debug bbox transparency 0.5 2026-05-14 15:18:12 +08:00
Accusys
a8d7361a97 fix: trace debug — green bbox + trace_id label per face detection 2026-05-14 15:17:06 +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
8f013cbdbc fix: trace debug mode — show all traces in frame range with interpolation
Debug overlay now lists every trace visible in the current frame range,
including interpolated frames (continuous from first to last detection).
Format per trace line:
  Trace {id}: start_frame={n}  Identity={name}
2026-05-14 15:09:34 +08:00
Accusys
c51d6f6f2d fix: trace debug mode — text overlay only, no bounding boxes
Debug overlay now shows:
  File UUID: {uuid}
  Trace {id}: start_frame={n}  Identity: {name}
  Cut: {id}
  Frame: {n}  Time: {t}s
2026-05-14 15:07:28 +08:00
Accusys
1497b53e82 fix: trace video default mode changed from 'debug' to 'normal' 2026-05-14 15:00:35 +08:00
Accusys
6927415c41 feat: health API — add build_timestamp + detailed resource status list
- build.rs: BUILD_TIMESTAMP from build time via `date -u`
- GET /health: now returns build_timestamp
- GET /health/detailed: returns build_timestamp + resources block
  (cpu_used/cpu_idle/memory/gpu usage)
2026-05-14 14:59:30 +08:00
Accusys
df47ed1417 feat: identity inactive cleanup — migration script + release.rs excludes status='inactive'
- New SQL migration: mark auto identities with no face references as inactive
- release.rs identities export now filters out status='inactive'
2026-05-14 14:46:30 +08:00
Accusys
301a95e2bc refactor: remove all dev.* and public.* schema hardcodes from runtime code
14 files updated to use schema::table_name() instead of hardcoded schema
prefixes. Only src/bin/release.rs intentionally retains dev.* references.
2026-05-14 14:40:14 +08:00
Accusys
5a9b34f1c2 feat: identity text search endpoints — /search/identity_text + /identities/search 2026-05-14 12:27:08 +08:00
Accusys
e8f44d7357 fix: trace_agent_api.rs — replace all dev.* hardcodes with schema::table_name() 2026-05-14 02:56:43 +08:00
Accusys
8f877b474f feat: trace video normal/debug mode — normal=raw, debug=bbox+frame+identity+cut 2026-05-14 02:41:22 +08:00
Accusys
ac96a4242b fix: correct frame number expression in trace video 2026-05-14 02:31:29 +08:00
Accusys
605d02a674 feat: trace video shows frame number overlay 2026-05-14 02:30:40 +08:00
Accusys
9007e46b9f fix: trace video bbox no longer extends beyond last detection 2026-05-14 00:14:52 +08:00
Accusys
adae263065 fix: add audio (aac) to trace video API 2026-05-13 23:46:06 +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
e6aa45d7ea fix: /files total count from DB (was hardcoded 0) 2026-05-13 20:45:23 +08:00