M10: harden knowledge trust and telemetry

This commit is contained in:
NuklearRabbit
2026-08-10 02:51:07 +02:00
parent e577c16db5
commit de151914b6
5 changed files with 151 additions and 5 deletions
+18 -4
View File
@@ -80,9 +80,17 @@ def _read_csv(name: str) -> list[dict[str, str]]:
return list(csv.DictReader(handle))
def clear_all(db: Session) -> None:
_PERSISTENT_TELEMETRY_ACTIONS = (
"mcp_tool_request",
"n8n_return_followup_recorded",
"n8n_workflow_failure_registered",
"n8n_procedures_synced",
"knowledge_question_asked",
)
def clear_all(db: Session, *, preserve_integration_telemetry: bool = False) -> None:
for model in (
AuditEvent,
OutboxEvent,
IdempotencyRecord,
DataQualityIssue,
@@ -94,6 +102,10 @@ def clear_all(db: Session) -> None:
User,
):
db.execute(delete(model))
if preserve_integration_telemetry:
db.execute(delete(AuditEvent).where(AuditEvent.action.not_in(_PERSISTENT_TELEMETRY_ACTIONS)))
else:
db.execute(delete(AuditEvent))
def load_seed(db: Session) -> SeedResult:
@@ -428,10 +440,12 @@ def load_seed(db: Session) -> SeedResult:
return SeedResult(counts=counts, anchor_date=today, seeded_at=seeded_at)
def reset_and_seed(db: Session) -> SeedResult:
def reset_and_seed(
db: Session, *, preserve_integration_telemetry: bool = False
) -> SeedResult:
from app.services.data_quality import run_scan
clear_all(db)
clear_all(db, preserve_integration_telemetry=preserve_integration_telemetry)
result = load_seed(db)
db.commit()
scan = run_scan(db)