feat: 安全应用采购规格解析结果 (#257)

This commit is contained in:
chengma
2026-08-17 17:43:25 +08:00
parent 484ce4e8ec
commit afc1cdf719
19 changed files with 1669 additions and 24 deletions
+43 -1
View File
@@ -4,7 +4,7 @@
``MIGRATIONS`` 末尾增加版本,不能修改已经发布的迁移。
"""
SCHEMA_VERSION = 5
SCHEMA_VERSION = 6
MIGRATION_1 = (
@@ -163,6 +163,47 @@ MIGRATION_5 = (
""",
)
MIGRATION_6 = (
"""
CREATE TABLE purchase_spec_resolutions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
task_id INTEGER NOT NULL,
attempt_id TEXT NOT NULL,
idempotency_key TEXT NOT NULL UNIQUE,
request_json TEXT NOT NULL,
request_hash TEXT NOT NULL,
candidate_snapshot_hash TEXT NOT NULL,
status TEXT NOT NULL DEFAULT 'pending'
CHECK (status IN ('pending', 'resolved')),
resolution_id TEXT,
outcome TEXT CHECK (outcome IS NULL OR outcome IN (
'matched', 'uncertain', 'rejected', 'failed'
)),
source TEXT CHECK (source IS NULL OR source IN (
'rule', 'ai', 'reused'
)),
confidence_bps INTEGER CHECK (
confidence_bps IS NULL OR
confidence_bps BETWEEN 0 AND 10000
),
match_candidate_id TEXT,
match_raw_text TEXT,
match_options_json TEXT,
reason TEXT,
resolved_at TEXT,
received_at TEXT,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL,
FOREIGN KEY (task_id) REFERENCES pdd_tasks(id) ON DELETE CASCADE,
UNIQUE (task_id, attempt_id, candidate_snapshot_hash)
)
""",
"""
CREATE INDEX idx_purchase_spec_resolutions_attempt
ON purchase_spec_resolutions(attempt_id, id DESC)
""",
)
MIGRATIONS = {
1: MIGRATION_1,
@@ -170,4 +211,5 @@ MIGRATIONS = {
3: MIGRATION_3,
4: MIGRATION_4,
5: MIGRATION_5,
6: MIGRATION_6,
}