feat(rectification): 出卡加精度门槛,补经历改成系统点名
宽度超过 10 分钟或头名并列时不再出交付卡,改为按大运边界逐条问、 用类型芯片和年/月选择器录入。跳过的线换问法再问一次;答「这类事 都没有过」的不再问。用户说「没有了」仍立刻给目前范围。Skill 10.0.27。 BUG-740~743
This commit is contained in:
@@ -687,6 +687,7 @@ export function engineRequestBody(input: {
|
||||
candidateRange: { start_time: string; end_time: string };
|
||||
events: readonly V9EngineEvent[];
|
||||
askedProbeKeys?: readonly string[];
|
||||
declinedDomains?: readonly string[];
|
||||
columnTimes?: readonly string[];
|
||||
refreshProbes?: boolean;
|
||||
}): Record<string, unknown> {
|
||||
@@ -722,11 +723,38 @@ export function engineRequestBody(input: {
|
||||
timezone_source: snapshot.timezone_source,
|
||||
local_time_status: snapshot.local_time_status,
|
||||
...(askedProbeKeys.length ? { asked_probe_keys: askedProbeKeys } : {}),
|
||||
...(sanitizeDeclinedDomainsForEngine(input.declinedDomains).length
|
||||
? { declined_domains: sanitizeDeclinedDomainsForEngine(input.declinedDomains) }
|
||||
: {}),
|
||||
...(columnTimes.length ? { column_times: columnTimes } : {}),
|
||||
...(input.refreshProbes === true ? { refresh_probes: true } : {}),
|
||||
};
|
||||
}
|
||||
|
||||
const ENGINE_COLLECT_DOMAINS = new Set([
|
||||
"education",
|
||||
"career",
|
||||
"relocation",
|
||||
"relationship",
|
||||
"family",
|
||||
"finance",
|
||||
"health_pressure",
|
||||
]);
|
||||
|
||||
export function sanitizeDeclinedDomainsForEngine(
|
||||
domains: readonly string[] | null | undefined,
|
||||
): string[] {
|
||||
const seen = new Set<string>();
|
||||
const next: string[] = [];
|
||||
for (const raw of domains ?? []) {
|
||||
const domain = raw.trim();
|
||||
if (!ENGINE_COLLECT_DOMAINS.has(domain) || seen.has(domain)) continue;
|
||||
seen.add(domain);
|
||||
next.push(domain);
|
||||
}
|
||||
return next;
|
||||
}
|
||||
|
||||
export type V9VedastroValidateResult = Readonly<{
|
||||
status: "passed" | "failed" | "not_evaluated";
|
||||
canConfirmExactMinute: boolean;
|
||||
@@ -840,6 +868,7 @@ export async function runV9CandidateScore(input: {
|
||||
candidateRange: { start_time: string; end_time: string };
|
||||
events: readonly V9EngineEvent[];
|
||||
askedProbeKeys?: readonly string[];
|
||||
declinedDomains?: readonly string[];
|
||||
columnTimes?: readonly string[];
|
||||
refreshProbes?: boolean;
|
||||
}): Promise<V9EngineScoreResult> {
|
||||
|
||||
Reference in New Issue
Block a user