守住 RAG embedding signature migration
This commit is contained in:
@@ -51,6 +51,7 @@
|
||||
- DB migration / ORM 覆蓋已有 `tests/test_migration_metadata_coverage.py` 守門,`Base.metadata.tables - migrations CREATE TABLE` 必須為空;`tests/test_ai_observability_models.py` 也鎖住 v5 observability ORM stub。
|
||||
- V2 BLOCKED migration 守門已補:`031-037` 必須存在且 group/world-readable,`database/momo.db` / `momo_data.db` / `momo_database.db` 迷惑檔不得回來。
|
||||
- `host_health_probes.chk_host_label_029` 不一致已有 migration 033 修補並補測試:必須重建 CHECK,且接受 `GCP-SSD`、`GCP-SSD-2`、`111 備援` 與兩個 110 Nginx proxy runtime labels。
|
||||
- `rag_query_log` / `learning_episodes` 缺 `embedding_signature` 已由 migration 034、ORM 欄位、RAG/learning 寫入路徑與 migration metadata 測試覆蓋。
|
||||
- `incidents` 雙欄相容與 `action_plans` source/status guardrails 已在 migration 036/037 與 `tests/test_auto_heal_safety.py` 覆蓋。
|
||||
- `services/agent_actions.py` 不是死碼:`services/event_router.py` 透過 `SAFE_ACTIONS` registry 動態執行 ADR-012 L2 actions,`tests/test_agent_actions.py` 與 `tests/test_event_router.py` 已覆蓋並通過。
|
||||
|
||||
|
||||
@@ -65,6 +65,22 @@ def test_host_health_probe_label_check_accepts_runtime_labels():
|
||||
assert f"'{label}'" in migration
|
||||
|
||||
|
||||
def test_rag_embedding_signature_migration_covers_query_and_learning_tables():
|
||||
migration = (ROOT / "migrations" / "034_add_embedding_signature_to_rag_tables.sql").read_text(encoding="utf-8")
|
||||
|
||||
expected_snippets = [
|
||||
"ALTER TABLE IF EXISTS rag_query_log",
|
||||
"ADD COLUMN IF NOT EXISTS embedding_signature VARCHAR(64)",
|
||||
"idx_rag_query_log_embedding_signature",
|
||||
"WHERE query_embedding IS NOT NULL AND embedding_signature IS NOT NULL",
|
||||
"ALTER TABLE IF EXISTS learning_episodes",
|
||||
"idx_le_embedding_signature",
|
||||
"WHERE embedding IS NOT NULL AND embedding_signature IS NOT NULL",
|
||||
]
|
||||
for snippet in expected_snippets:
|
||||
assert snippet in migration
|
||||
|
||||
|
||||
def test_legacy_zero_byte_database_decoys_do_not_return():
|
||||
for filename in ["momo.db", "momo_data.db", "momo_database.db"]:
|
||||
assert not (ROOT / "database" / filename).exists()
|
||||
|
||||
Reference in New Issue
Block a user