17 Commits

Author SHA1 Message Date
administrator 0b883afcc5 notebook 2026-06-19 11:28:11 +02:00
administrator f0bd210198 notebook 2026-06-19 05:24:29 +02:00
administrator 42c42688de notebook 2026-06-16 19:38:48 +02:00
administrator f94573ea6e notebook 2026-06-13 21:45:28 +02:00
administrator 6bcb721eb4 Přílohy ze všech 3 email pipeline → SeaweedFS (globální SHA-256 dedup)
Sjednocení ukládání příloh do jednoho blob storu na Tower1 (SeaweedFS Filer),
content-addressed cesta /mail-attachments/ab/cd/<sha256> přes sdílený
seaweed_store.py. Tři zdroje, jeden dedup:

- mailstore: mailstore_attachments_poc.py (pole seaweed_attachments[])
- Graph: 3_download_attachments v1.4→v1.5 (upload při stažení nové přílohy;
  attachments_index dostává seaweed_path/url/synced_at) + backfill graph
- JNJ: jnj_tower_ingest v1.2→v1.3 (upload při parse .msg; attachments[]
  dostává sha256/seaweed_path/url + doc-level seaweed_synced_at) + backfill jnj

Backfill skripty jsou idempotentní (batch+resume, --retry-errors). Výpadek
SeaweedFS žádnou pipeline neshodí (jen warning, doplní backfill).

Ověřeno: 114 726 objektů / 53.3 GB, 0 nesynchronizovaných dokumentů,
globální dedup mezi větvemi funguje.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 21:43:01 +02:00
administrator 9c675459fa Sjednoceni MCP cest na U:\janssen + trilium hostname fallback
.mcp.json: vsechny repo MCP servery na U:\janssen (na Z230 vyresi junction
U:\janssen -> U:\PythonProject\Janssen), owa/vbcz-email zustavaji Z230-only.
TrilliumMCP: COMPUTERNAME fallback na socket.gethostname().

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 07:16:05 +02:00
administrator 8ef7d1cfd1 notebook 2026-06-11 21:49:04 +02:00
administrator 96f3b2c280 notebook 2026-06-09 15:46:34 +02:00
administrator 915357cca9 z230 2026-06-09 08:22:49 +02:00
administrator 70899149e4 notebook 2026-06-08 07:20:37 +02:00
administrator f9dc61e32c Add Knowledgebase MCP server — persistent memory for Claude conversations
PostgreSQL-backed knowledge store with hybrid search:
- Full-text search via tsvector (always available)
- Semantic reranking via Voyage AI embeddings + Python cosine similarity
- Tables: kb_memories, kb_sessions, kb_messages
- Tools: store_memory, store_conversation, search, get_context, get_recent, stats

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 11:55:26 +02:00
administrator a347051145 notebook 2026-06-05 21:21:30 +02:00
administrator 9b12745e1d notebook 2026-06-04 07:15:17 +02:00
administrator ea9d611719 Migrate IWRS from MySQL to MongoDB
- Add IWRS/common/mongo_writer.py with shared connection, indexes,
  upsert+snapshot helpers
- Add IWRS/Patients/import_to_mongo.py (subject_summary + visits)
- Add IWRS/Patients/import_notifications_to_mongo.py: parse PDF/JSON
  directly to Mongo (incl. PDF as BinData), replaces 2-step MySQL flow
- Add IWRS/Drugs/import_to_mongo.py (shipments, items, inventory,
  destruction)
- Add IWRS/backfill_mysql_to_mongo.py: one-shot history backfill
- Switch IWRS/Patients/run_all.py and IWRS/Drugs/run_all.py to Mongo
- Rewrite IWRS/Drugs/create_report.py data loaders to read from Mongo
- 8 main collections (upsert = latest state) + 5 snapshot collections
  (append-only with import_id) under studie database; notifications and
  destruction are immutable and need no snapshots

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-03 07:24:36 +02:00
administrator 681095d557 notebook 2026-06-03 07:10:15 +02:00
administrator 9ed9f97140 Document memory sync setup in memory store
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 22:58:36 +02:00
administrator 2d65ad2988 Add Claude memory store synced via Gitea
Move ~/.claude/projects/U--janssen/memory into repo (claude-memory/)
linked back via a directory junction so memory persists across machines.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 22:57:44 +02:00