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