refactor: remove unused AI columns from messages table
Drop 3 columns that were written but never read: - ai_moderation_raw: raw LLM JSON response (~KB per message, never consumed) - ai_policy_version: hardcoded 'default-2026-05-30', never used for decisions - ai_evidence: JSON evidence array, never read after write Changes: - schema.ts: remove columns from both Postgres and SQLite table definitions - messageStore.ts: remove from AIAnalysisUpdate interface and SET clauses - aiAnalyzer.ts: remove from individual fallback update calls - aiAnalysisWorker.ts: remove raw write, add missing fields (categories, severity, etc.) - types.ts: remove from MessageRecord interface - analysisRoutes.ts: remove from reset analysis call - New migration: src/database/migrations/001_drop_unused_ai_columns.sql - Migration applied to live DB: 27 columns → 24 columns Kept ai_error (useful for future debugging, currently 0 non-null) Kept metadata (1.9MB total, used for AI sticker/embed evidence analysis) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
551d11ba82
commit
a00a5a508f
@@ -76,7 +76,6 @@ export const pgMessagesTable = pgTable(
|
||||
.default("pending"),
|
||||
ai_moderation_flags: pgText("ai_moderation_flags"),
|
||||
ai_moderation_score: pgReal("ai_moderation_score"),
|
||||
ai_moderation_raw: pgText("ai_moderation_raw"),
|
||||
ai_analysis: pgText("ai_analysis"),
|
||||
ai_categories: pgText("ai_categories"),
|
||||
ai_severity: pgText("ai_severity", {
|
||||
@@ -86,8 +85,6 @@ export const pgMessagesTable = pgTable(
|
||||
ai_recommended_action: pgText("ai_recommended_action", {
|
||||
enum: ["none", "monitor", "warn", "review", "delete", "escalate"],
|
||||
}),
|
||||
ai_policy_version: pgText("ai_policy_version"),
|
||||
ai_evidence: pgText("ai_evidence"),
|
||||
ai_analyzed_at: pgBigint("ai_analyzed_at", { mode: "number" }),
|
||||
ai_error: pgText("ai_error"),
|
||||
},
|
||||
@@ -306,7 +303,6 @@ export const sqliteMessagesTable = sqliteTable(
|
||||
.default("pending"),
|
||||
ai_moderation_flags: sqliteText("ai_moderation_flags"),
|
||||
ai_moderation_score: sqliteReal("ai_moderation_score"),
|
||||
ai_moderation_raw: sqliteText("ai_moderation_raw"),
|
||||
ai_analysis: sqliteText("ai_analysis"),
|
||||
ai_categories: sqliteText("ai_categories"),
|
||||
ai_severity: sqliteText("ai_severity", {
|
||||
@@ -316,8 +312,6 @@ export const sqliteMessagesTable = sqliteTable(
|
||||
ai_recommended_action: sqliteText("ai_recommended_action", {
|
||||
enum: ["none", "monitor", "warn", "review", "delete", "escalate"],
|
||||
}),
|
||||
ai_policy_version: sqliteText("ai_policy_version"),
|
||||
ai_evidence: sqliteText("ai_evidence"),
|
||||
ai_analyzed_at: sqliteInteger("ai_analyzed_at"),
|
||||
ai_error: sqliteText("ai_error"),
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user