创建人员:dev.developer.ana.cai
文件职责:append-only 关闭 V010 的 pre-Z U、T01/T02 precedence、T04 reachable/public-null 三项。
predecessor:V010=4760/a8a2524bab871e8ab076e3e6e5dc4630f6cd7a904b7da9f4e3f7ba5425c4d694;review=AUDIT-DEV-ANA-HIBOR-FAST-COLLECTION-DESIGN-V010=HOLD/3/3,audit snapshot=415511/5b96c40ddfe18298b0ea584c54c8dd3108adae5ba5a4a4ea7ca96b385d6e85d8。
继承:V009 的七个 Z outcome/51-key wire、V008 receipt、V007 no-U-to-P10、V006 package matrix 及 V001–V005 已关闭合同不变。V011 替换 V010 第 2–3 节中有歧义的 P06–P08/T01/T02/T04 映射。
内部 EvidenceUncertaintyReceipt 固定 6 键:object_kind,source_state,presence,operation_completed,liveness_unknown,error_code。类型:object_kind=M|D|T;source_state=P06_PUBLISHED|P07_MANIFESTED|P08_DELIVERY;presence=U;其余类型同 V009。
仅允许六个 literal:
| object/state | file/evidence facts unknown,writer 已完成 | writer liveness unknown |
|---|---|---|
| M / P06 | U,true,false,RECOVERY_UNKNOWN |
U,null,true,PROCESS_LIVENESS_UNKNOWN |
| D / P07 | U,true,false,RECOVERY_UNKNOWN |
U,null,true,PROCESS_LIVENESS_UNKNOWN |
| T / P08 | U,true,false,RECOVERY_UNKNOWN |
U,null,true,PROCESS_LIVENESS_UNKNOWN |
六行均为 T00U→STATE_UNCERTAIN/27,保持 source state、Z=N、Z writer call=0。PERSIST_LATE 只表示 known N/I 或已知超时/晚到事实,不允许 presence=U;因此 V010 T00U 的 P06/P07/P08=P 正式废止。P09 的 pre-Z M/D/T U 仍 X,因为进入 P09 已证明 T=V。
内部 TerminalOperationCause=DEADLINE|ENVIRONMENT|VALIDATION|INTERNAL。terminal candidate 唯一映射:
| Z outcome/cause | terminal candidate internal status | public | exit | code |
|---|---|---|---|---|
| T01/DEADLINE | TIME_BUDGET_STOP | TIME_BUDGET_STOP | 10 | DEADLINE_EXPIRED |
| T01/ENVIRONMENT | BLOCKED_ENVIRONMENT | BLOCKED_ENVIRONMENT | 14 | PERSIST_LATE |
| T01/INTERNAL | INTERNAL_ERROR | INTERNAL_ERROR | 20 | PERSIST_LATE |
| T01/VALIDATION | X | X | X | X |
| T02/DEADLINE | TIME_BUDGET_STOP | TIME_BUDGET_STOP | 10 | DEADLINE_EXPIRED |
| T02/ENVIRONMENT | BLOCKED_ENVIRONMENT | BLOCKED_ENVIRONMENT | 14 | PERSIST_LATE |
| T02/VALIDATION | VALIDATION_FAILED | VALIDATION_FAILED | 16 | PERSIST_LATE |
| T02/INTERNAL | INTERNAL_ERROR | INTERNAL_ERROR | 20 | PERSIST_LATE |
original_status 必须是 V004 11 个 internal TerminalStatus 之一。最终 top-level status 为 resolve_precedence(original_status,terminal_candidate):按 V004 precedence 1..11 选 rank 较小者;若原 outcome 是 SUCCESS 且 Z 失败,仅 terminal candidate 生效。status→public/exit 只再调用 V004 唯一表一次。于是 access-control、state-uncertain、deadline 等原始高优先级不会被 T01/T02 覆盖,T01/T02 也不再无条件 INTERNAL_ERROR/20。
item overlay 使用最终 status 的精确 stop source:若 original 赢,保留 original code;若 terminal candidate 赢,使用上表 code;同 rank 只允许同 status,code 优先保留 original non-NONE,否则 terminal code。所有 11×7 合法 Cartesian 组合必须测试,T01/VALIDATION 的 11 个组合全部 X。
内部字段明确分开:internal_item_code:ErrorCode 永不 null;public_stop_code:ErrorCode|null。唯一投影:NONE→null;任何非 NONE 合法 ErrorCode→同枚举值。receipt error_code=null 只表示 Z 写入成功,不参与 item code 投影。
T04 只允许下列 10 行,不存在 default:
| closure | lane | source_state | item status | internal_item_code | public_stop_code |
|---|---|---|---|---|---|
| C01 | NEW | P06|P07|P08|P09 | SUCCESS | NONE | null |
| C02 | NEW | P05|P06|P07|P08|P09 | DUPLICATE | DUPLICATE_EXISTING_ARTIFACT | DUPLICATE_EXISTING_ARTIFACT |
| C03 | PURE | P06|P07|P08|P09 | SUCCESS | NONE | null |
| C04 | PURE | P06|P07|P08|P09 | DUPLICATE | DUPLICATE_EXISTING_ARTIFACT | DUPLICATE_EXISTING_ARTIFACT |
| C05 | NEW|PURE | P00 | STOPPED | V006 P00 STOP_CODES only | same non-null code |
| C06 | NEW | P01|P02 | STOPPED | V006 source STOP_CODES only | same non-null code |
| C07 | NEW | P02|P03 | STOPPED | V006 source STOP_CODES only | same non-null code |
| C08 | NEW | P03|P04|P05 | FAILED | FAIL_CODES∩V006 allowed[source] |
same non-null code |
| C09 | NEW | P06|P07|P08|P09 | STOPPED|FAILED | V006 allowed[source] 且 status/code 分类一致 | same non-null code |
| C10 | PURE | P06|P07|P08|P09 | STOPPED|FAILED | V006 allowed[source] 且 status/code 分类一致 | same non-null code |
精确排除:P00–P05 的 SUCCESS;PURE P01–P05;C01/C03 的 DUPLICATE;C02/C04 的 SUCCESS;C05–C10 的 NONE;STOPPED 携 FAIL_CODES;FAILED 携 STOP_CODES;任一 closure/lane/source 不在表中。故 T04 不再把所有 ITEM(Pxx) 泛化为可达。
T04 top-level status/public/exit 由合法 item status 按 V004 映射:SUCCESS→SUCCESS/ACCEPTED/0,DUPLICATE item 在 batch top-level 由实际 aggregate 决定 SUCCESS 或 PARTIAL_SUCCESS,不由 receipt 自选;STOPPED/FAILED 进入全局 aggregate precedence。无论 aggregate 如何,item public_stop_code 都按本节投影。
ITEM(Pxx) 单元。当前状态:PENDING_INDEPENDENT_DESIGN_REREVIEW。V011 PASS 前不创建候选源码/测试/quota ledger,不运行 Python/ADB/APP/dry-run,不触发下载;新增 trigger=0。