Commit Graph

149 Commits

Author SHA1 Message Date
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
3a4fd4136d docs: wiki vs RAG distinction in model lifecycle
wiki is not traditional RAG:
- RAG: ephemeral query-time augmentation
- Wiki: permanent model corrections, versioned, packaged with model
- Edits accumulate across versions as ground truth
2026-05-09 14:28:47 +08:00
Accusys
e2509a650c docs: wiki mechanism for model adjustability
Each momentry model includes a wiki/ directory for user-contributed knowledge:
- identity labels, object labels, ASR corrections
- Edits feed back into next model version
- TKG edges enriched by wiki data
2026-05-09 14:24:40 +08:00
Accusys
076af4cba1 docs: Phase 3 object identity design (v3 model)
- Object instance tracking (similar to face trace)
- Custom detector for stamps, guns, etc.
- TKG integration for object-face-speaker graph
- Upgrade path: yolov5nu → yolov8m, fine-tune, zero-shot
2026-05-09 14:22:37 +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
227c647a43 docs: momentry model vs core architecture
Pipeline = training → produces momentry model per video
Core = inference engine → serves APIs from model
Phase 1 = tiny model (sentence chunks)
Phase 2 = full model (complete + 5W1H)
2026-05-09 14:03:00 +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
7237a1811e feat: verification agent for processor output validation
- New src/verification/ module: verify_output() checks JSON structure/completeness per processor type
- Worker: after processor succeeds, verification agent gates the result
- Passed -> mark completed + cleanup_temp_files (remove .tmp/.partial/.err/timestamp backups)
- Failed -> mark failed with verification details, preserve files for inspection
- cleanup_temp_files() keeps only the canonical {uuid}.{proc}.json
2026-05-09 13:30:00 +08:00
Accusys
e068b70777 docs: git bundle instructions for M4 (SSH disabled) 2026-05-09 06:25:45 +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
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
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
Accusys
b220920e64 Visual scene classification: Phase 1+2 complete
- Extracted visual_stats per scene (face count, size, objects, duration, density)
- Classified 1130 scenes into 18 types (establishing/close_up/medium/long/two/group × dialogue/sparse/silent)
- All from existing data, no LLM needed
- Scene type stored in cut chunk metadata
2026-05-08 14:38:00 +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
7d89ff77d0 docs: add purpose/use case for each visualization type 2026-05-08 13:50:10 +08:00
Warren
6234972f37 docs: add trace visualization catalog V1-V5 with priority 2026-05-08 13:49:06 +08:00
Warren
77598a4713 docs: add XY trajectory visual encoding guide with color/size/fade 2026-05-08 13:45:35 +08:00
Warren
bb8e79cbc2 docs: add X-axis + xy trajectory modes, API request format 2026-05-08 13:43:12 +08:00
Warren
a0f3382d13 docs: expanded trajectory section with interpretation guide and SQL 2026-05-08 13:40:10 +08:00
Warren
e5f252a3ec docs: heatmap as full-pipeline visual search visualization layer 2026-05-08 13:37:53 +08:00
Warren
2058599e63 docs: trace heatmap spec v1.0.0 — spatial + temporal + combined 2026-05-08 13:33:57 +08:00
Warren
f469197ce6 M4: add ffmpeg-full licensing evaluation for M5's doc 2026-05-08 13:28:16 +08:00
Warren
3ff783e4aa docs: full demo script with narration (10 steps) 2026-05-08 13:24:32 +08:00
Warren
606405b941 M4: suggest replace bitmap font with drawtext filter 2026-05-08 13:21:40 +08:00
Warren
ac59789f6e Merge branch 'main' of 192.168.110.201:/Users/accusys/momentry_core_0.1/ 2026-05-08 13:16:28 +08:00
Accusys
14d95cab8e Notify M4: video endpoints root cause 2026-05-08 13:16:05 +08:00
Accusys
485dc4010c Fix video endpoints: DB file_path did not match actual file
Root cause: video file was renamed on disk but DB still had old path.
Old: ...Charade ... │ Comedy ...mp4
New: ...Old_Time_Movie_Show_-_Charade_1963.HD.mov

All 3 endpoints (trace/video, video/bbox, thumbnail) now return 200.
2026-05-08 13:14:00 +08:00
Warren
6ee2607f67 M4: add ffmpeg-full install status to response 2026-05-08 13:11:06 +08:00
Accusys
0cf9ca56d4 Fix ARG_MAX overflow: use filter_complex_script instead of -vf
- trace_video filter string can exceed macOS 256KB limit
- Write filter to temp file, pass with -filter_complex_script
2026-05-08 13:08:23 +08:00
Warren
ebe8722e1f M4: response to ffmpeg evaluation - ARG_MAX is the root cause 2026-05-08 13:06:27 +08:00
Warren
cfd4159b30 Merge branch 'main' of 192.168.110.201:/Users/accusys/momentry_core_0.1/ 2026-05-08 13:04:17 +08:00
Warren
6a8b534239 M4: update bug report - found root cause ARG_MAX overflow 2026-05-08 13:03:21 +08:00
Accusys
0366eb0f04 FFmpeg drawtext technical evaluation 2026-05-08 13:03:15 +08:00
Accusys
0977a04002 Fix guide for M4 video endpoints 500 2026-05-08 12:52:12 +08:00
Warren
d6ba74a61a M4: bug report - video endpoints 500 (trace, bbox, thumbnail) 2026-05-08 12:49:32 +08:00
Warren
047f6c4b2b docs: demo sequence v1.0.0 - curl POST + browser video 2026-05-08 12:32:56 +08:00
Warren
1bdc94c1ac docs: single-line curl for cross-platform (bash/PowerShell/cmd) 2026-05-08 11:57:45 +08:00
Warren
b63fe58751 docs: hardcode curl examples, remove shell vars 2026-05-08 10:58:06 +08:00
Warren
bb3505c91b fix: demo login returns official API key matching docs 2026-05-08 10:40:24 +08:00
Warren
653387a557 docs: fix API_REFERENCE key to official format 2026-05-08 09:55:34 +08:00
Warren
f122a1ebca docs: fix RELEASE_API_REFERENCE with correct API key 2026-05-08 09:50:50 +08:00
Warren
1f6cc7a631 docs: update API key to official format 2026-05-08 09:47:38 +08:00
Warren
e502e8248b Merge branch 'main' of 192.168.110.201:/Users/accusys/momentry_core_0.1/ 2026-05-08 09:31:01 +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