Commit Graph

74 Commits

Author SHA1 Message Date
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
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
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
e6aa45d7ea fix: /files total count from DB (was hardcoded 0) 2026-05-13 20:45:23 +08:00
Accusys
2e7dd44552 fix: scan extensions add jpg/png, /files status from DB (2/4 M4 items) 2026-05-13 20:43:37 +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
cac60c6093 fix: M4 Phase 1 bugs - dev.chunks refs, search_path, uuid column
Bug fixes from M4 report:
- 4 remaining dev.chunks → dev.chunk in SQL queries
- search_path includes public for pgvector extension
- get_chunk_by_chunk_id_and_uuid: uuid → file_uuid
- New endpoint: GET /api/v1/file/:uuid/chunk/:chunk_id
2026-05-11 10:21:06 +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
b902763d45 feat: trace chunks with co-appearance relationships
- New trace_ingest module: creates chunks for each face trace (time + bbox + ASR text)
- Computes pairwise time overlaps between traces -> co_appearances in metadata
- Worker auto-triggers after face trace store + Qdrant sync
- SearchFilters: chunk_type filter (sentence/cut/trace/visual)
- SearchFilters: co_appears_with_trace_id filter
2026-05-09 06:18:32 +08:00
Accusys
283da8e767 Fix trace/3128: drawtext + filter_complex_script
- Replaced bitmap font (~195K drawbox commands) with drawtext (~2.2K)
- Write filter to temp file, use -/filter_complex to bypass ARG_MAX
- Added ffmpeg stderr logging for debugging
2026-05-08 14:03:30 +08:00
Accusys
1f103e796b Video endpoints: use ffmpeg-full for drawtext, fix ARG_MAX via filter_complex_script
- Added FFMPEG Lazy static + ffmpeg_cmd() with DYLD_LIBRARY_PATH
- Replaced bitmap font rendering with drawtext (1 filter vs 35 per letter)
- Large traces (>1000 detections) may still fail (ARG_MAX with -vf)
2026-05-08 13:55:08 +08:00
Warren
bb3505c91b fix: demo login returns official API key matching docs 2026-05-08 10:40:24 +08:00
Accusys
8405d60797 Fix 5W1H+: max_tokens 2048->4096, skip empty summaries
- max_tokens was too low, truncating LLM JSON output
- Added guard to skip storing empty parent_summary
- Applied fix to all 3 entry points (analyze, batch, pipeline)
2026-05-08 08:12:45 +08:00
Accusys
3caa35e096 Fix 5W1H status endpoint: uuid to file_uuid 2026-05-08 03:05:36 +08:00
Accusys
736b14be15 Fix smart search: use EmbeddingGemma instead of Ollama mxbai 2026-05-08 01:23:34 +08:00