fix: full_replace очищает spec_current (не дублирует строки) + clear_current; v2.0.16
Deploy contracts-flask / validate (push) Canceled after 0s
Deploy contracts-flask / validate (push) Canceled after 0s
This commit is contained in:
+1
-1
@@ -1,7 +1,7 @@
|
||||
"""Конфигурация приложения — все настройки в одном месте."""
|
||||
import os
|
||||
|
||||
VERSION = "2.0.15"
|
||||
VERSION = "2.0.16"
|
||||
|
||||
LLM_URL = os.getenv("LLM_API_URL", "https://api.aillm.ru/v1/chat/completions")
|
||||
LLM_KEY = os.getenv("LLM_API_KEY", "")
|
||||
|
||||
@@ -9,6 +9,11 @@ def reset(contract_id):
|
||||
execute("DELETE FROM spec_events WHERE contract_id = %s", (contract_id,))
|
||||
|
||||
|
||||
def clear_current(contract_id):
|
||||
"""Очистить ТОЛЬКО текущее состояние спецификации (история spec_events сохраняется). Для full_replace."""
|
||||
execute("DELETE FROM spec_current WHERE contract_id = %s", (contract_id,))
|
||||
|
||||
|
||||
def get_next_seq(contract_id):
|
||||
"""Get next sequence number. WAL serializes writers — no explicit lock needed."""
|
||||
conn = get_conn()
|
||||
|
||||
@@ -98,6 +98,11 @@ def run_pipeline(contract_id, order_ids, build_prompt_fn):
|
||||
"time_s": round(time.time() - t1, 1),
|
||||
}
|
||||
|
||||
# full_replace: очистить текущее состояние, чтобы ADD-строки новой редакции
|
||||
# не дублировали старые (reset на старте пайплайна это не покрывает).
|
||||
if mode == "full_replace":
|
||||
spec_events.clear_current(contract_id)
|
||||
|
||||
# Apply ops to DB via apply_ops
|
||||
try:
|
||||
summary = spec_events.apply_ops(
|
||||
|
||||
Reference in New Issue
Block a user