fix(小宝预警): 透传风险日报证据

This commit is contained in:
Script Generator
2026-06-29 17:42:06 +08:00
parent 7b3638c915
commit ffe7001b42
2 changed files with 28 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import { calcXiaobaoVersionRisk } from './xiaobao-risk';
import type { DevTask } from './dev-task';
import type { TestCase } from './test-case';
import type { Bug } from './bug';
import type { VersionDailyEvidence } from './xiaobao-risk-evidence';
function version(patch: any = {}) {
return {
@@ -104,3 +105,26 @@ test('calcXiaobaoVersionRisk marks blocked when critical Bug / blocked dev task
assert.ok(risk.reasons.some((reason: { key: string }) => reason.key === 'critical_bug'));
assert.ok(risk.reasons.some((reason: { key: string }) => reason.key === 'blocked_work'));
});
test('calcXiaobaoVersionRisk preserves daily evidence on the returned risk object', () => {
const dailyEvidence: VersionDailyEvidence = {
todayDeliveries: [{ id: 'ev-1', title: '提交提测', summary: '完成核心流程', occurredAt: '2026-07-02T02:00:00.000Z' }],
todayProgress: [],
todayRisks: [],
progressNotes: [],
needsProgressItems: [],
recentActivityCount: 1,
lastActivityAt: '2026-07-02T02:00:00.000Z',
};
const risk = calcXiaobaoVersionRisk({
version: version(),
devTasks: [],
testCases: [],
bugs: [],
dailyEvidence,
now: new Date('2026-07-02T01:00:00.000Z'),
});
assert.equal(risk.dailyEvidence, dailyEvidence);
});

View File

@@ -3,6 +3,7 @@ import type { DevTask } from './dev-task';
import { STATUS_PROGRESS, getEstimateHours } from './dev-task';
import type { TestCase } from './test-case';
import { getTestCaseEstimateHours } from './test-case';
import type { VersionDailyEvidence } from './xiaobao-risk-evidence';
import { WORK_HOURS, addWorkHours } from './work-hours';
export type XiaobaoRiskLevel = 'on_track' | 'attention' | 'at_risk' | 'likely_delayed' | 'blocked';
@@ -55,6 +56,7 @@ export interface XiaobaoVersionRisk {
remainingWorkHours: number;
reasons: RiskReason[];
silentRisks: SilentRisk[];
dailyEvidence?: VersionDailyEvidence;
signals: XiaobaoRiskSignals;
trend: {
direction: 'up' | 'down' | 'flat' | 'unknown';
@@ -71,6 +73,7 @@ export interface CalcXiaobaoVersionRiskInput {
now?: Date;
snapshots?: Array<{ riskScore: number; createdAt?: string; date?: string }>;
silentRisks?: SilentRisk[];
dailyEvidence?: VersionDailyEvidence;
recentActivityCount?: number;
lastActivityAt?: string;
}
@@ -197,6 +200,7 @@ export function calcXiaobaoVersionRisk(input: CalcXiaobaoVersionRiskInput): Xiao
remainingWorkHours,
reasons,
silentRisks,
dailyEvidence: input.dailyEvidence,
signals,
trend,
};