This commit is contained in:
2026-06-09 15:46:34 +02:00
parent 8c01fd6e1a
commit 96f3b2c280
4 changed files with 29 additions and 5 deletions
+12 -5
View File
@@ -411,7 +411,8 @@ def search(
try:
# ── Full-text search ──
conditions = ["deleted = FALSE", "fts @@ plainto_tsquery('simple', %s)"]
conditions = ["deleted = FALSE",
"fts @@ plainto_tsquery('simple', kb_immutable_unaccent(%s))"]
params: list[Any] = [query]
if types:
@@ -427,14 +428,17 @@ def search(
conditions.append("importance >= %s")
params.append(min_importance)
if not include_sessions:
conditions.append("mem_type != 'summary' OR session_id IS NOT NULL")
# Vyřaď session summaries (summary + session_id), ale ponech
# samostatné summary záznamy. POZOR na závorky — bez nich by se
# OR navázalo na celý WHERE a obešlo všechny ostatní filtry.
conditions.append("(mem_type != 'summary' OR session_id IS NULL)")
where = " AND ".join(conditions)
rows = conn.execute(
f"""
SELECT id, mem_type, title, content, summary, tags,
project, source, session_id, importance, created_at,
ts_rank(fts, plainto_tsquery('simple', %s)) AS score
ts_rank(fts, plainto_tsquery('simple', kb_immutable_unaccent(%s))) AS score
FROM kb_memories
WHERE {where}
ORDER BY score DESC, importance DESC
@@ -446,8 +450,11 @@ def search(
fts_ids = {r["id"] for r in rows}
results = [_row_to_dict(r) for r in rows]
# ── Vector search (pouze pokud semantic=True) ──
query_emb = get_embedding(query) if semantic else None
# ── Vector search ──
# Spustí se když semantic=True, NEBO jako automatický fallback,
# pokud full-text nic nenašel (synonyma / významová shoda).
need_semantic = semantic or not rows
query_emb = get_embedding(query) if need_semantic else None
if query_emb:
try:
import numpy as np
+1
View File
@@ -2,6 +2,7 @@
- [Pracovat v maintree](feedback_worktree.md) — vždy pracuj v `U:/janssen/`, ne ve worktree větvích
- [Proaktivně navrhuj lepší API](feedback_proactive_suggestions.md) — když vidím optimalizovatelný kus pipeline a znám lepší standard (delta, CDC, webhooks…), nabídnu to, ne čekám
- [Průběžně komentovat postup](feedback_narrate_progress.md) — nemizet do tichých tool callů, psát co dělám a proč
- [Statistiky emailů přes MCP, ne SSH](feedback_use_mcp_emaily.md) — pro dotazy nad `emaily` db první volba MCP `emaily`, ne paramiko gymnastika
- [Projekt Covance UCO3001](project_covance.md) — report vzorků studie 77242113UCO3001, skript `create_report.py`, zdroj + logika OK statusů
- [EDC import do MongoDB](project_edc_mongo.md) — skript `medidata/edc_import.py`, import Data Listing + QueryDetails CSV do MongoDB (192.168.1.76), kolekce `queries` + `queries_snapshots` pro tracking vývoje queries v čase
@@ -0,0 +1,14 @@
---
name: feedback_narrate_progress
description: "Průběžně komentovat co dělám, nemizet na dlouho do tichých tool callů"
metadata:
node_type: memory
type: feedback
originSessionId: 82eef5d6-e90f-4973-8006-61d79b0c640f
---
Uživatel psychicky špatně snáší dlouhé ticho během práce. Když něco dělám déle (víc tool callů, SSH, delší příkaz), průběžně píšu co zrovna dělám a proč — krátká věta před každou akcí — místo dlouhého tichého bloku, po kterém se ptá „co se děje?".
**Why:** Bez průběžného komentáře neví, jestli pracuju nebo to zamrzlo, a stresuje ho to.
**How to apply:** Před delší akcí napiš jednu větu co se chystám udělat. U sekvence tool callů krátce hlásej postup. Nenech ho čekat naslepo. Souvisí s [[feedback_proactive_suggestions]].
+2
View File
@@ -30,4 +30,6 @@ Klíčové: `msal`, `asn1crypto`, `pymongo`, `psycopg`, `extract-msg`, `beautifu
**Logy:** `/mnt/user/Scripts/logs/pipeline_YYYYMMDD_HHMM.log`, symlink `pipeline_latest.log`, retence 30 dní.
**Centrální logging (2026-06-09):** wrapper `0_run_pipeline` posílá do Grafana Loki (přes [[central-logging]] gateway) **každý řádek konzole** každého kroku — `app="email_pipeline"`, pole `logger=step.<id>`. Klient `central_logging*.py` zkopírován do `/scripts/`. Token+gateway NEjsou v kontejneru — dány přes `os.environ.setdefault` přímo ve wrapperu (kroky je dědí jako subprocesy). Grafana dotaz: `{app="email_pipeline"}`.
Souvisí s [[graph-email-import]], [[project-mcp-emaily]].