feat(check): 文件要在、扫描件兜底(C10);响应方式存进清单并可改(C12)
- check/presence.py:「提供《授权委托书》」「须提交投标函」这类要求按标题里有没有这个文件名判断,不调模型。
- 扫描件兜底:要附证明材料的要求没找到、投标文件里有扫描件页时,改为提示级「可能在扫描件里,请人工核对」。
- 响应方式解析时识别、带依据句子存进 checklist.response_modes(迁移 0008);清单页显示、可改(写审计,
重新解析不覆盖人工改过的);查标用存下来的。新接口 PUT /projects/{id}/checklist/response-modes/{category}。
- check_item_result.layer 加 presence(迁移 0007);契约同步默认接受的两种结论。
开发集 17 份:规矩投标文件的致命问题 120 → 51,致命级召回不变(22 / 32)(docs/architecture/check-eval.md §5)。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
81
packages/api-client/src/schema.d.ts
vendored
81
packages/api-client/src/schema.d.ts
vendored
@@ -826,6 +826,26 @@ export interface paths {
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/projects/{project_id}/checklist/response-modes/{category}": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
project_id: components["parameters"]["ProjectId"];
|
||||
category: "technical" | "commercial";
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
get?: never;
|
||||
/** 改招标文件某一类要求的响应方式(C12 的人工确认点) */
|
||||
put: operations["setResponseMode"];
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/projects/{project_id}/checklist/versions": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -1783,6 +1803,8 @@ export interface components {
|
||||
citation: components["schemas"]["Citation"];
|
||||
};
|
||||
Checklist: {
|
||||
/** @description 招标文件对技术、商务要求的响应方式(C12)。识别出来的(origin = rule)可以改(origin = human,人工确认点);查标按它判没找到响应算不算问题 */
|
||||
response_modes?: components["schemas"]["ResponseMode"][];
|
||||
/** @enum {string} */
|
||||
status: "draft" | "confirmed";
|
||||
/** @description 最近一次确认的版本号;没确认过为 0 */
|
||||
@@ -2059,21 +2081,41 @@ export interface components {
|
||||
resolved_by?: components["schemas"]["UserRef"] | null;
|
||||
resolved_at?: components["schemas"]["Timestamp"] | null;
|
||||
};
|
||||
ResponseMode: {
|
||||
/** @enum {string} */
|
||||
category: "technical" | "commercial";
|
||||
/**
|
||||
* @description 逐条响应 / 默认接受(只列偏离)
|
||||
* @enum {string}
|
||||
*/
|
||||
mode: "explicit" | "implicit";
|
||||
/**
|
||||
* @description 写明了 / 两处写法冲突(按逐条处理)/ 没写明(按逐条处理)
|
||||
* @enum {string}
|
||||
*/
|
||||
status: "found" | "conflict" | "unknown";
|
||||
/** @enum {string} */
|
||||
origin: "rule" | "human";
|
||||
citations: components["schemas"]["Citation"][];
|
||||
set_by?: components["schemas"]["UserRef"] | null;
|
||||
set_at?: components["schemas"]["Timestamp"] | null;
|
||||
};
|
||||
CheckItemResult: {
|
||||
checklist_item_id: components["schemas"]["Id"];
|
||||
title?: string | null;
|
||||
/**
|
||||
* @description 已响应 / 未找到 / 负偏离未说明 / 疑似不满足 / 未给出具体值 / 未判定(模型漏答或暂时不可用)/ 扫描件请人工核对。
|
||||
* @description 已响应 / 未找到 / 负偏离未说明 / 疑似不满足 / 未给出具体值 / 未判定(模型漏答或暂时不可用)/ 扫描件请人工核对 /
|
||||
* 按招标文件默认接受(未列入偏离表的视为接受,不出问题)/ 默认接受的实质性要求、请人工核对(C12)。
|
||||
* 没有校验通过的投标侧证据,不会是 responded(架构 §3.6)
|
||||
*
|
||||
* @enum {string}
|
||||
*/
|
||||
verdict: "responded" | "not_found" | "negative_deviation" | "suspected_unmet" | "no_value" | "undetermined" | "scanned";
|
||||
verdict: "responded" | "not_found" | "negative_deviation" | "suspected_unmet" | "no_value" | "undetermined" | "scanned" | "implicit_accepted" | "implicit_review";
|
||||
/**
|
||||
* @description 结论来自哪一层(m3-plan §2.1)
|
||||
* @description 结论来自哪一层(m3-plan §2.1;presence 是按文件在不在判断)
|
||||
* @enum {string}
|
||||
*/
|
||||
layer: "deviation_table" | "rule_compare" | "model" | "retrieval";
|
||||
layer: "deviation_table" | "rule_compare" | "model" | "retrieval" | "presence";
|
||||
/** @enum {string} */
|
||||
evidence_status: "verified" | "unverified" | "none";
|
||||
/** @description 证据没通过、漏答、模型错误等的原因码 */
|
||||
@@ -3820,6 +3862,37 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
setResponseMode: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
project_id: components["parameters"]["ProjectId"];
|
||||
category: "technical" | "commercial";
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody: {
|
||||
content: {
|
||||
"application/json": {
|
||||
/** @enum {string} */
|
||||
mode: "explicit" | "implicit";
|
||||
};
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description 返回清单概况 */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["Checklist"];
|
||||
};
|
||||
};
|
||||
409: components["responses"]["ProjectReadOnly"];
|
||||
};
|
||||
};
|
||||
listChecklistVersions: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
|
||||
Reference in New Issue
Block a user