Commit Graph

237 Commits

Author SHA1 Message Date
Accusys
c39805bb8e feat: Phase 2.5 gaze_trace and lip_trace Qdrant migration + Charade Q&A test
Phase 2.5.1: gaze_trace_nodes from Qdrant
- build_gaze_trace_nodes_from_qdrant()
- Read trace_id, frame, bbox from Qdrant payload
- Compute gaze stats (yaw, pitch, roll, gaze direction, blink)
- No PostgreSQL face_detections dependency

Phase 2.5.2: lip_trace_nodes from Qdrant + face.json
- build_lip_trace_nodes_from_qdrant()
- Match trace_id using Qdrant embeddings + face.json bbox
- Compute lip stats (openness, variance, speaking frames)
- Fixed face.json bbox structure (x,y,width,height not bbox object)

Test results:
- 23 gaze_trace nodes from Qdrant
- 23 lip_trace nodes from Qdrant + face.json
- 51 lip_sync edges created
- Charade Q&A: 20 identities, 75 relationship chunks

Docs:
- TKG_PHASE2_NONFACE_MIGRATION_V1.0.md (migration plan)
- 2026-06-21_charade_qa_test.md (Q&A test report)
2026-06-21 02:17:08 +08:00
Accusys
23c440104b feat: Phase 2-3 TKG-only architecture
Phase 2.1: build_face_trace_nodes_from_qdrant()
- Read trace_id, frame, bbox directly from Qdrant payload
- No dependency on face_detections table

Phase 2.3: Rule2 queries TKG nodes
- identity resolution from tkg_nodes.properties.identity_id
- TKG-only architecture (Phase 2.3)

Phase 3: Identity Agent updates TKG nodes
- match_faces_iterative() updates tkg_nodes.properties
- bind_identity_trace() syncs identity_id to TKG
- unbind_identity() removes identity_id from TKG

Test results:
- 23 face_trace nodes from Qdrant (Phase 2.1)
- 75 relationship chunks (Rule2)
- TKG rebuild: Phase0 → Phase1 → Phase2
2026-06-21 01:30:04 +08:00
Accusys
3ad6f8740a feat: Rule2 TKG relationship chunks + Phase0-1 Qdrant integration
Phase 0: TKG builder populate face_detections from face.json
- Fix face.json parser for pose_angle format
- Call store_traced_faces.py to set trace_id
- Skip if trace_id already populated

Phase 1: Qdrant face embeddings integration
- Add FaceEmbeddingDb module (src/core/db/face_embedding_db.rs)
- Create dev_face_embeddings collection (dim=512)
- Store 1122 face embeddings with pose metadata
- API: init_collection, batch_upsert, search_similar

Rule2: TKG edges → relationship chunks
- Design: RULE2_TKG_RELATIONSHIP_V1.0.md
- Implementation: rule2_ingest.rs
- ChunkType::Relationship added
- Edge types: SPEAKS_AS, MUTUAL_GAZE, CO_OCCURS_WITH, HAS_APPEARANCE, WEARS
- Auto-trigger on TKG rebuild

API:
- POST /api/v1/file/:file_uuid/rule2 (vectorization)
- POST /api/v1/file/:file_uuid/tkg/rebuild (auto Rule2)

Test: 75 relationship chunks created + vectorized
2026-06-21 00:22:41 +08:00
Accusys
e1572907ae feat: ASRX hybrid pipeline, identity history, worker fixes, checkpoint system 2026-06-02 07:13:23 +08:00
Accusys
874d688987 feat: deploy hybrid search (semantic+keyword+identity) with RRF fusion
- Replace smart_search with hybrid RRF implementation
- Add speaker_detections table for identity-agent binding
- Fix identity queries: direct SQL to avoid type mismatches
- Add debug logs to job_worker for processor debugging
- Deployed to production (3002) successfully

Key changes:
- search.rs: Complete rewrite with 3 strategies + RRF
- postgres_db.rs: speaker_detections table + identity query fixes
- job_worker.rs: Debug logs for output file checks

Tested:
- Hybrid search works with semantic + keyword + identity
- Identity search: 'identity:Charade' returns correct results
- Chinese keyword search: '調光' matches Charade summaries

Bugs found:
- Case mismatch: 'ASRX' vs 'asrx' in processors field
- Missing CUT dependency for ASRX processor
2026-06-01 15:15:17 +08:00
Accusys
08167d73b2 docs: add Processor State Machine V1.0 design 2026-05-30 10:03:48 +08:00
Accusys
3d13d1390e Merge branch 'main' of http://192.168.110.200:3000/admin/momentry_core 2026-05-29 23:14:14 +08:00
Accusys
04cbb71ca0 docs: save handoff - library page flash & filter fix 2026-05-29 23:12:09 +08:00
Accusys
e96cc8c8de docs: record WordPress API URL update session progress 2026-05-29 19:06:15 +08:00
M5Max128
f5cf12409b docs: expand JPEG validation plan to include Python scripts 2026-05-27 15:55:20 +08:00
M5Max128
ea20e27a4d docs: add JPEG validation implementation plan for M5Max48 2026-05-27 15:40:15 +08:00
M5Max128
a036d985b7 docs: add Thumbnail QA Analysis for M5Max48 implementation 2026-05-27 14:35:53 +08:00
M5Max128
c85794292a docs: add processor refactoring assessment from M5Max128 workspace research 2026-05-27 03:59:13 +08:00
M5Max128
955282e587 docs: add LaunchDaemon architecture reference for M5Max128/M5Max48 collaboration 2026-05-27 01:12:37 +08:00
Accusys
20dae387ee docs: sync case-insensitive variant 2026-05-25 10:31:37 +08:00
Accusys
b9e93c6293 docs: update API Ref (V4.2), CHANGELOG, Release Notes for de88fd4e 2026-05-25 10:31:32 +08:00
Accusys
8fdd1d741b fix: stranger_id=NULL on bind/merge; doc: add traces+mergeinto endpoints 2026-05-25 03:03:27 +08:00
M5Max128
f8bcc0356c feat: frame/time pipeline split + output validation
- Add PipelineType enum + pipeline() to ProcessorType
- Split ProcessorPool into frame_slots (max 2) and time_slots (max 1)
- Add can_start_for() for pipeline-aware scheduling
- Add validate_output_file() — checks JSON validity before marking complete
- Add 3 unit tests for validate_output_file()
- Create DESIGN/FRAME_TIME_PIPELINE_V1.0.md (492 lines)
2026-05-23 21:14:28 +08:00
Accusys
6967b99142 Merge remote-tracking branch 'origin/main' 2026-05-22 17:38:34 +08:00
Accusys
4cd5d63e64 feat: RustDesk 1.4.6 verified and installed 2026-05-22 17:37:35 +08:00
M5Max128
3ccdf403b6 feat: add Ollama to verified sources (Gitea repo + manifest + build from source) 2026-05-22 17:20:14 +08:00
Accusys
c09268f3d3 docs: add go(golang) and ollama verification reports 2026-05-22 16:58:08 +08:00
Accusys
a78b5bc12b docs: add agents/search endpoint to 12_agent.md 2026-05-22 12:26:11 +08:00
Accusys
600ce8e964 fix: await initApp() + fulltextSearch for reliable restore 2026-05-22 10:58:53 +08:00
Accusys
bc04d1c44a fix: persist search query across refresh via sessionStorage 2026-05-22 10:56:29 +08:00
Accusys
832dc2c45b docs: add bind/trace endpoint to 07_identity.md 2026-05-22 10:41:34 +08:00
Accusys
cb5d4aef61 feat: search clear X button 2026-05-22 10:18:44 +08:00
Accusys
37e75bd84f fix: search result click scrolls to first match + highlight; left sidebar unchanged 2026-05-22 10:15:58 +08:00
Accusys
373dea4a0d merge 2026-05-22 10:10:07 +08:00
Accusys
a2042507a3 fix: search results displayed in left sidebar, not content area 2026-05-22 10:09:32 +08:00
M5Max128
e158176fbe Merge branch 'main' of http://192.168.110.200:3000/admin/momentry_core 2026-05-22 10:08:11 +08:00
M5Max128
3e81f7c16b docs: rebuild HTML + WASM doc after identity PATCH update 2026-05-22 10:08:08 +08:00
Accusys
fc338a4b59 fix: sidebar sticky top, independent scroll from content 2026-05-22 10:07:40 +08:00
Accusys
f6a24e8cb5 docs: thumbnail auto-detect + representative-frame endpoint in 08_media.md; sync wasm 2026-05-22 09:56:10 +08:00
M5Max128
2b025a014e docs: add PATCH identity endpoint doc + BCP 47 alias reference 2026-05-22 08:56:07 +08:00
M5Max128
e1619c724a Merge branch 'main' of http://192.168.110.200:3000/admin/momentry_core 2026-05-22 08:51:08 +08:00
M5Max128
701e71463d feat: identity PATCH update, alias system, name UNIQUE removal
- Add PATCH /api/v1/identity/:identity_uuid endpoint
- Migration 030: remove name UNIQUE, add tmdb_id index
- TMDb upsert: ON CONFLICT (name) -> ON CONFLICT (tmdb_id)
- get_or_create_identity: pre-check by name
- upload_identity: ON CONFLICT (name) -> ON CONFLICT (uuid)
- Search: include aliases in identity text search
- Add scripts/llm_metadata_enhancer.py
- Add DESIGN/IdentityUpdateAndAliasSystem.md
2026-05-22 08:35:32 +08:00
Accusys
deb9516796 feat: TKG extension - pose data + mutual gaze detection 2026-05-22 07:09:54 +08:00
Accusys
a9e9285032 docs: add TKG_QUERY_API_V1.0 design document 2026-05-22 06:29:25 +08:00
Accusys
6db29fc0e8 docs: add co-occur-with endpoint to 08_media.md 2026-05-22 05:35:24 +08:00
Accusys
6378d7be89 docs: add thumbnail endpoint to 08_media.md 2026-05-22 04:58:43 +08:00
Accusys
d7e11a394f docs: add representative-face endpoint to 08_media.md 2026-05-22 04:51:16 +08:00
M5Max128
80812128e2 merge: resolve conflicts with M5Max128 local changes 2026-05-21 01:11:44 +08:00
Accusys
8b53e815b8 docs: fix 3003 reference in pipeline module, regenerate HTML/WASM 2026-05-19 23:22:09 +08:00
Accusys
26725dcab7 fix: enable GFM tables in WASM doc renderer (pulldown-cmark ENABLE_TABLES) 2026-05-19 12:54:08 +08:00
Accusys
c9bcdcb56a docs: regenerate HTML/WASM docs with video vs clip comparison + timestamps 2026-05-19 12:51:10 +08:00
Accusys
5b2f9b35bf docs: add video vs clip comparison table + update timestamps to all 14 modules 2026-05-19 12:50:39 +08:00
Accusys
ef64d69be7 feat: add download .md button to doc viewer 2026-05-19 03:29:46 +08:00
Accusys
6da046e831 feat: highlight matched keywords in search results 2026-05-19 03:21:22 +08:00
Accusys
7bc069b806 feat: full-text search across all doc modules 2026-05-19 03:18:46 +08:00