fix(小宝预警): 稳定风险证据与建议更新
关键改动: - 优化风险证据的日报工时与静默风险计算 - 稳定 AI 触发签名,避免证据细节变化造成重复请求 - 调整预警建议更新状态与相关测试 Co-Authored-By: Codex GPT-5 <codex@openai.com>
This commit is contained in:
@@ -370,8 +370,6 @@ function buildDisplayCompatibilityKey(signature: string): string | undefined {
|
||||
const parsed = JSON.parse(signature) as Record<string, unknown>;
|
||||
const signals = readRecord(parsed.signals);
|
||||
const trend = readRecord(parsed.trend);
|
||||
const dailyEvidence = readRecord(parsed.dailyEvidence);
|
||||
|
||||
return JSON.stringify({
|
||||
versionId: readString(parsed.versionId),
|
||||
riskScore: normalizeInteger(parsed.riskScore),
|
||||
@@ -394,15 +392,6 @@ function buildDisplayCompatibilityKey(signature: string): string | undefined {
|
||||
},
|
||||
reasons: normalizeCompatibilityReasons(parsed.reasons),
|
||||
silentRisks: normalizeCompatibilitySilentRisks(parsed.silentRisks),
|
||||
dailyEvidence: {
|
||||
todayDeliveries: normalizeCompatibilityEvidence(dailyEvidence.todayDeliveries),
|
||||
todayProgress: normalizeCompatibilityEvidence(dailyEvidence.todayProgress),
|
||||
todayCreations: normalizeCompatibilityEvidence(dailyEvidence.todayCreations),
|
||||
todayRisks: normalizeCompatibilityEvidence(dailyEvidence.todayRisks),
|
||||
progressNotes: normalizeCompatibilityEvidence(dailyEvidence.progressNotes),
|
||||
needsProgressItems: normalizeCompatibilityEvidence(dailyEvidence.needsProgressItems),
|
||||
totalActivityCount: normalizeInteger(dailyEvidence.totalActivityCount),
|
||||
},
|
||||
});
|
||||
} catch {
|
||||
return undefined;
|
||||
@@ -430,16 +419,6 @@ function normalizeCompatibilitySilentRisks(rows: unknown) {
|
||||
.sort(compareSignatureRows);
|
||||
}
|
||||
|
||||
function normalizeCompatibilityEvidence(rows: unknown) {
|
||||
return asRecordArray(rows)
|
||||
.map((row) => ({
|
||||
id: readString(row.id),
|
||||
title: readString(row.title),
|
||||
summary: readString(row.summary),
|
||||
}))
|
||||
.sort(compareSignatureRows);
|
||||
}
|
||||
|
||||
function asRecordArray(rows: unknown): Array<Record<string, unknown>> {
|
||||
return Array.isArray(rows) ? rows.map(readRecord).filter((row) => Object.keys(row).length > 0) : [];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user