# CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V018 - plan_id: `CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V018` - role_instance_id: `dev.developer.ana.cai` - created_at: `2026-07-26T12:44:42.1189130+08:00` - predecessor_plan: `CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V017` / `27965/a65ff9cebbc7d09ed9566d873936fdec9dbbd3bf70b27df8582cffdfe4048833` - predecessor_review: `AUDIT-DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-PRECONSUMPTION-REPAIR-PLAN-V017=HOLD/4/4` / `184301/9fcbb3ab89f455a08478737dbb430deaaa529210852f8c720a0c4815607696e7` / line `1557` - status: `PENDING_INDEPENDENT_PREFLIGHT_REPAIR_PLAN_REREVIEW` - implementation_authorization: `NOT_ISSUED` - P01-P08/R3/synthetic/database/BATCH-001: `ABSENT/HELD/HELD/HELD/HELD` V018 只补齐 V017 四项审核缺口。V017 已复算通过的 CommandLine `483/5d1ea...3bee`、P07 literal 结构、selector count=15、P08 fixed rows=8、C-state count=20,以及 V016 的 DateTimeOffset/22-property/tool/argv 合同全部继承且不回退。P07 的 plan/schema identity 在本版重绑定为 V018/V003 并重新冻结 bytes/hash。 ## 1. BLOCK-V017-01:provider precedence 的固定 runtime vectors ### 1.1 独立 precedence group P03 顶层新增 `provider_precedence_cases:ARRAY`,恰好 4 行;P06 顶层新增 `provider_precedence_results:ARRAY`,恰好 4 行。该组单独计数,不改变 functional `case_total_count=30`。 PROVIDER_CALL_VECTOR 仍是固定 6-key JCS object:`history,identity,now,plan_hash,process_snapshot,target_state`,每值 INT32 0|1。 PROVIDER_PRECEDENCE_CASE key/type: `actual_provider_behavior:STRING,case_id:STRING,expected_exception_type:STRING|null,expected_provider_call_vector:OBJECT,expected_stage:STRING,expected_status:STRING,expected_stop_code:STRING,provider_id:STRING` PROVIDER_PRECEDENCE_RESULT key/type: `actual_exception_type:STRING|null,actual_provider_call_vector:OBJECT,actual_stage:STRING,actual_status:STRING,actual_stop_code:STRING,case_id:STRING,expected_exception_type:STRING|null,expected_provider_call_vector:OBJECT,expected_stage:STRING,expected_status:STRING,expected_stop_code:STRING,status:MATCH|MISMATCH,stop_code:STRING|null` ### 1.2 四个固定 case | case_id | injected provider/actual | expected terminal | call vector `h,i,n,p,s,t` | |---|---|---|---| | PP-IDENTITY-THROW | IdentityProvider 先输出一个 partial object 后抛 `System.InvalidOperationException`; partial discarded | IDENTITY / STOP / `STOP_PRECONSUMPTION_PREFLIGHT_EXCEPTION`; exception type exact | `0,1,0,0,0,0` | | PP-PLANHASH-TWO-OBJECTS | PlanHashProvider 正常返回两个完整对象 | PLAN_HASH / STOP / `STOP_PRECONSUMPTION_RESULT_CONTRACT_DRIFT`; exception=null | `0,1,1,1,0,0` | | PP-TARGET-MISSING-PROPERTY | TargetStateProvider 正常返回一个 type-correct object,但缺 `target_existing_count` | TARGET_STATE / STOP / `STOP_PRECONSUMPTION_RESULT_CONTRACT_DRIFT`; exception=null | `0,1,1,1,0,1` | | PP-TARGET-COMPOUND-INVALID | TargetStateProvider 正常返回 status=MISMATCH 且 uncertain_fields=["candidate_run_exists"]、candidate_run_exists=null;同时表达 mismatch+unknown | TARGET_STATE / STOP / `STOP_PRECONSUMPTION_RESULT_CONTRACT_DRIFT`; exception=null | `0,1,1,1,0,1` | P04 对每行使用全新 `SemaphoreSlim(1,1)`,因此互不污染。每个 actual 结果必须是 22-property V002 object;后续 provider counters 必须严格为 0。precedence row status=MATCH 仅在 actual/expected 全字段逐字/逐值一致;否则 MISMATCH/`PROVIDER_PRECEDENCE_MISMATCH`。 P06 summary 新增:`precedence_fail_count,precedence_pass_count,precedence_total_count`,total=4,pass+fail=4。顶层 TEST_PASS 同时要求 api_fail=0、functional case_fail=0、precedence_fail=0。 ## 2. BLOCK-V017-02:selector V002 全 cross-field 与 adapter count ### 2.1 P03 selector case V003 SELECTOR_CASE 固定 key 顺序: `adapter_status,case_id,expected_adapter_call_count,expected_confirmed_zero,expected_duplicate_process_id_count,expected_exact_outer_count,expected_matched_process_ids,expected_prohibited_process_count,expected_related_process_count,expected_snapshot_row_count,expected_status,expected_stop_code,expected_uncertain_fields,expected_unknown_relevant_count,rows` 类型: - adapter_status/status/stop=STRING(stop nullable)。 - adapter call/count fields=INT32|null。 - confirmed_zero=BOOL|null。 - matched_process_ids=ARRAY|null;uncertain_fields=ARRAY|null;两数组均 ordinal/numeric sorted、无重复。 - rows=ARRAY|null。 `expected_adapter_call_count=0` 仅适用于 `S-INPUT-BASE64-DRIFT`;其余 14 行恰好为 1。adapter UNKNOWN 行仍是 1,因为 provider 被调用一次但返回 UNKNOWN。 ### 2.2 P06 selector result V003 SELECTOR_RESULT 固定 key 顺序: `actual_adapter_call_count,actual_confirmed_zero,actual_duplicate_process_id_count,actual_exact_outer_count,actual_matched_process_ids,actual_prohibited_process_count,actual_related_process_count,actual_snapshot_row_count,actual_status,actual_stop_code,actual_uncertain_fields,actual_unknown_relevant_count,case_id,expected_adapter_call_count,expected_confirmed_zero,expected_duplicate_process_id_count,expected_exact_outer_count,expected_matched_process_ids,expected_prohibited_process_count,expected_related_process_count,expected_snapshot_row_count,expected_status,expected_stop_code,expected_uncertain_fields,expected_unknown_relevant_count,status,stop_code` actual/expected 类型逐项与 2.1 一致;status=`MATCH|MISMATCH`;row stop=`null|SELECTOR_CASE_MISMATCH`。任何一个 cross-field 不等即 MISMATCH。 15 行 ID 固定为: `S-ADAPTER-UNKNOWN,S-CMD-DIFFERENT,S-COMPOUND-UNKNOWN-PRESENT,S-DUP-PID,S-EMPTY,S-EXACT,S-EXE-DIFFERENT,S-INPUT-BASE64-DRIFT,S-NAME-NULL,S-OUTER-CMD-NULL,S-PROHIBITED-CSC,S-RELEVANT-PATH-NULL,S-SOURCE-SELF,S-SUBSTRING,S-TWO-EXACT` P03/P06/验收正文中 selector count 的唯一权威值均为 `15`;任何历史 `14` 仅属 V017 已关闭文字,不得继承。 compound expected cross-field: - S-COMPOUND-UNKNOWN-PRESENT:adapter=1、duplicate=0、exact=0、prohibited=1、related=1、snapshot_row_count=2、unknown=1、confirmed=null、matched IDs 含已知 prohibited PID、uncertain 非空、status STOP/UNKNOWN。 - S-ADAPTER-UNKNOWN:adapter=1,其余 counts/arrays/confirmed 均 null,uncertain 非空。 - S-INPUT-BASE64-DRIFT:adapter=0、所有 snapshot/selector counts arrays confirmed 均 null、uncertain=`["expected_outer_command_line"]`。 ## 3. BLOCK-V017-03:P06 total=30 与 API failure observation ### 3.1 唯一计数 P06 functional groups:time=7、selector=15、preflight=8,所以: - `case_total_count=30` - `case_pass_count + case_fail_count = 30` provider precedence 是独立 group=4,不进入 case_total。api/negative 也不进入 case_total。P06 最终数组 count:api=4、api_negative=3、preflight=8、selector=15、precedence=4、time=7。SUMMARY 的唯一权威 key/type/status 规则为 3.2 的 `SUMMARY V004`;本节不定义第二套 summary schema。 ### 3.2 API_RESULT V003 固定 key 顺序: `actual_object_count,actual_property_count,actual_property_names,actual_property_sha256,actual_type_names,api_id,expected_object_count,expected_property_count,expected_property_names,expected_property_sha256,expected_type_name,observation_status,status,stop_code` 类型/null: - actual_object_count/expected_object_count=INT32 non-null;expected=1。 - actual_type_names=ARRAY non-null,长度=actual_object_count,按实际 pipeline ordinal;零对象时=[]。 - actual_property_count=INT32|null;actual_property_names=ARRAY|null;actual_property_sha256=STRING|null。只有 actual_object_count=1 且 type 可读取时才能非 null。 - expected_property_count=INT32 non-null;expected_property_names=ARRAY non-null;expected_property_sha256=lowercase64;expected_type_name/api_id=STRING。 - observation_status enum=`SINGLE_VALID|ZERO_OBJECTS|MULTIPLE_OBJECTS|TYPE_MISSING|TYPE_DRIFT|PROPERTY_MISSING|PROPERTY_EXTRA|PROPERTY_ORDER_DRIFT|PROPERTY_TYPE_DRIFT`。 - row status=`MATCH|MISMATCH`;stop=`null|API_RESULT_MISMATCH`。 精确 observation 映射: | observed | actual_object_count | actual_type_names | property fields | observation_status | row status | |---|---:|---|---|---|---| | zero output | 0 | [] | null/null/null | ZERO_OBJECTS | MISMATCH | | two outputs | 2 | 两个实际 type 名;不可读项写空字符串 | null/null/null | MULTIPLE_OBJECTS | MISMATCH | | one object/no PSTypeName | 1 | [""] | null/null/null | TYPE_MISSING | MISMATCH | | wrong type | 1 | [actual] | 若可读则实际值 | TYPE_DRIFT | MISMATCH | | missing property | 1 | [expected type] | 实际 count/names/hash | PROPERTY_MISSING | MISMATCH | | extra/order/type drift | 1 | [expected type] | 实际 count/names/hash | 对应 enum | MISMATCH | | exact single | 1 | [expected type] | expected values | SINGLE_VALID | MATCH | 如果同时存在多个单对象 property defect,优先级:MISSING > EXTRA > ORDER > TYPE;observation_status 只取一个。P04 必须对四 API 各执行 exact success probe,并额外对 Invoke API 固定执行 zero/two/missing-property 三个负向 probe;负向 probe由 P03 的 `api_negative_cases` 驱动,进入独立 `api_negative_results` 数组,不改变 api_results count=4。 API_NEGATIVE_CASE key 顺序:`api_id,case_id,expected_observation_status,probe_behavior`,四项 STRING non-null。恰好三行: 1. `INVOKE-ZERO/ZERO_OBJECTS/SUPPRESS_ALL_OUTPUT` 2. `INVOKE-TWO/MULTIPLE_OBJECTS/EMIT_TWO_VALID_OBJECTS` 3. `INVOKE-MISSING-PROPERTY/PROPERTY_MISSING/REMOVE_STOP_CODE` API_NEGATIVE_RESULT keys:`actual_observation_status,case_id,expected_observation_status,status,stop_code`;恰好 3 行;summary 新增 `api_negative_fail_count,api_negative_pass_count,api_negative_total_count=3`。顶层 TEST_PASS 还要求 api_negative_fail=0。 因此 P06 顶层 key 顺序升级为: `api_negative_results,api_results,preflight_results,process_selector_results,provider_precedence_results,schema_id,status,summary,time_results` SUMMARY V004 key 顺序最终为: `api_fail_count,api_negative_fail_count,api_negative_pass_count,api_negative_total_count,case_fail_count,case_pass_count,case_total_count,precedence_fail_count,precedence_pass_count,precedence_total_count,status` functional case_total 仍唯一为 30。 ## 4. BLOCK-V017-04:native final exit/stop/closure/row 总映射 ### 4.1 native final V002 schema 顶层 key 顺序: `artifact_rows,closure_state,final_exit_code,final_status,final_stop_code,manifest_external_bytes,manifest_external_sha256,prepackage_variant,schema_id` - artifact_rows=exact 8 rows P01-P08。 - closure_state=`MANIFEST_CLOSED|NATIVE_ONLY|MANIFEST_INVALID|STATE_UNCERTAIN`。 - final_exit_code=INT32 non-null,enum `0|11|21|22|23|24|25|26|27`。 - final_status=`PASS|STOP`;final_stop_code=STRING|null。 - manifest external bytes=INT64|null;hash=lowercase64|null。 - prepackage_variant=`PASS|STATIC_FAIL|CONTRACT_FAIL|null`。 - schema_id=`ANA.SEMI.PRECONSUMPTION.NATIVE.FINAL.V002`。 ### 4.2 artifact symbol 的完整 6-field tuple 固定 row 后六字段为 `materialized,exists,status,upstream_stop_code,bytes,sha256`: - `V = true,true,MATERIALIZED_VALID,null,actual_nonnegative_decimal,actual_lowercase64` - `F = true,true,MATERIALIZED_TEST_FAIL,null,actual_nonnegative_decimal,actual_lowercase64` - `A(code) = false,false,ATTEMPTED_NO_OUTPUT,code,null,null` - `I(code) = true,true,MATERIALIZED_INVALID,code,actual_nonnegative_decimal,actual_lowercase64` - `N(code) = false,false,NOT_RUN_UPSTREAM_STOP,code,null,null` - `U = null,null,STATE_UNCERTAIN,PACKAGE_UNCLOSED_STOP,null,null` - `S = true,true,MANIFEST_SELF_EXTERNAL_HASH,null,null,null` 任何 materialized=true 但 bytes/hash 不可安全取得都必须 U,不得使用 I。V/F bytes 允许 0 only if target schema permits;P01-P08 当前 schema 均要求 >0。 ### 4.3 三个 prepackage base vectors | variant | P01 | P02 | P03 | P04 | P05 | P06 | P07 | |---|---|---|---|---|---|---|---| | PASS | V | V | V | V | V | V | V | | STATIC_FAIL | V | V | V | V | F | N(STATIC_TEST_FAILED) | V | | CONTRACT_FAIL | V | V | V | V | V | F | V | ### 4.4 C00-C19 唯一 top-level overlay | C | prepackage_variant | closure_state | final_status | final_stop_code | exit | P08 | manifest external | |---|---|---|---|---|---:|---|---| | C00 | PASS | MANIFEST_CLOSED | PASS | null | 0 | S | nonnull actual | | C01 | STATIC_FAIL | MANIFEST_CLOSED | STOP | STATIC_TEST_FAILED | 11 | S | nonnull actual | | C02 | CONTRACT_FAIL | MANIFEST_CLOSED | STOP | CONTRACT_TEST_FAILED | 11 | S | nonnull actual | | C03 | null | NATIVE_ONLY | STOP | SOURCE_CREATE_STOP | 21 | N(SOURCE_CREATE_STOP) | null | | C04 | null | NATIVE_ONLY | STOP | SOURCE_CREATE_STOP | 21 | N(SOURCE_CREATE_STOP) | null | | C05 | null | NATIVE_ONLY | STOP | SOURCE_CREATE_STOP | 21 | N(SOURCE_CREATE_STOP) | null | | C06 | null | NATIVE_ONLY | STOP | SOURCE_CREATE_STOP | 21 | N(SOURCE_CREATE_STOP) | null | | C07 | null | NATIVE_ONLY | STOP | OUTER_START_STOP | 22 | N(OUTER_START_STOP) | null | | C08 | null | NATIVE_ONLY | STOP | OUTER_NONZERO_NO_OUTPUT | 23 | N(OUTER_NONZERO_NO_OUTPUT) | null | | C09 | null | NATIVE_ONLY | STOP | OUTER_TIMEOUT_KILLED | 24 | N(OUTER_TIMEOUT_KILLED) | null | | C10 | null | STATE_UNCERTAIN | STOP | PACKAGE_UNCLOSED_STOP | 27 | U | null | | C11 | null | NATIVE_ONLY | STOP | PACKAGE_UNCLOSED_STOP | 27 | N(P05_WRITE_STOP) | null | | C12 | null | NATIVE_ONLY | STOP | PACKAGE_UNCLOSED_STOP | 27 | N(P05_WRITE_STOP) | null | | C13 | null | NATIVE_ONLY | STOP | PACKAGE_UNCLOSED_STOP | 27 | N(P06_WRITE_STOP) | null | | C14 | null | NATIVE_ONLY | STOP | PACKAGE_UNCLOSED_STOP | 27 | N(P06_WRITE_STOP) | null | | C15 | B | NATIVE_ONLY | STOP | RECEIPT_CLOSURE_FAILED | 25 | N(RECEIPT_CLOSURE_FAILED) | null | | C16 | B | NATIVE_ONLY | STOP | RECEIPT_CLOSURE_FAILED | 25 | N(RECEIPT_CLOSURE_FAILED) | null | | C17 | B | NATIVE_ONLY | STOP | MANIFEST_CLOSURE_FAILED | 26 | A(MANIFEST_CLOSURE_FAILED) | null | | C18 | B | MANIFEST_INVALID | STOP | MANIFEST_CLOSURE_FAILED | 26 | I(MANIFEST_CLOSURE_FAILED) | nonnull actual invalid | | C19 | PASS | MANIFEST_CLOSED | STOP | OUTER_TIMEOUT_AFTER_CLOSED_PACKAGE | 24 | S | nonnull actual | `B` 必须是 PASS|STATIC_FAIL|CONTRACT_FAIL;C15-C18 与 base vector 组合形成 12 个固定 overlay,不允许其他值。 ### 4.5 C00-C19 八行 artifact vector | C | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | |---|---|---|---|---|---|---|---|---| | C00 | V | V | V | V | V | V | V | S | | C01 | V | V | V | V | F | N(STATIC_TEST_FAILED) | V | S | | C02 | V | V | V | V | V | F | V | S | | C03 | A(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | | C04 | V | A(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | | C05 | V | V | A(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | | C06 | V | V | V | A(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | N(SOURCE_CREATE_STOP) | | C07 | V | V | V | V | N(OUTER_START_STOP) | N(OUTER_START_STOP) | N(OUTER_START_STOP) | N(OUTER_START_STOP) | | C08 | V | V | V | V | N(OUTER_NONZERO_NO_OUTPUT) | N(OUTER_NONZERO_NO_OUTPUT) | N(OUTER_NONZERO_NO_OUTPUT) | N(OUTER_NONZERO_NO_OUTPUT) | | C09 | V | V | V | V | N(OUTER_TIMEOUT_KILLED) | N(OUTER_TIMEOUT_KILLED) | N(OUTER_TIMEOUT_KILLED) | N(OUTER_TIMEOUT_KILLED) | | C10 | V | V | V | V | U | U | U | U | | C11 | V | V | V | V | A(P05_WRITE_STOP) | N(P05_WRITE_STOP) | N(P05_WRITE_STOP) | N(P05_WRITE_STOP) | | C12 | V | V | V | V | I(P05_WRITE_STOP) | N(P05_WRITE_STOP) | N(P05_WRITE_STOP) | N(P05_WRITE_STOP) | | C13 | V | V | V | V | V | A(P06_WRITE_STOP) | N(P06_WRITE_STOP) | N(P06_WRITE_STOP) | | C14 | V | V | V | V | V | I(P06_WRITE_STOP) | N(P06_WRITE_STOP) | N(P06_WRITE_STOP) | | C15 | B.P01-P06 | B.P01-P06 | B.P01-P06 | B.P01-P06 | B.P01-P06 | B.P01-P06 | A(RECEIPT_CLOSURE_FAILED) | N(RECEIPT_CLOSURE_FAILED) | | C16 | B.P01-P06 | B.P01-P06 | B.P01-P06 | B.P01-P06 | B.P01-P06 | B.P01-P06 | I(RECEIPT_CLOSURE_FAILED) | N(RECEIPT_CLOSURE_FAILED) | | C17 | B.P01-P07 | B.P01-P07 | B.P01-P07 | B.P01-P07 | B.P01-P07 | B.P01-P07 | B.P01-P07 | A(MANIFEST_CLOSURE_FAILED) | | C18 | B.P01-P07 | B.P01-P07 | B.P01-P07 | B.P01-P07 | B.P01-P07 | B.P01-P07 | B.P01-P07 | I(MANIFEST_CLOSURE_FAILED) | | C19 | V | V | V | V | V | V | V | S | `B.P01-P06/P07` 表示从 4.3 选择的同一完整 base vector对应位置,不是逐格自由选择。source 写入若产生 materialized partial 但不能满足 V/I 安全证据规则,一律 C10/U/27;因此 C03-C06 不再含 A/I 二义性。 C15-C18 的 12 个 literal overlay 展开如下: | state/base | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | |---|---|---|---|---|---|---|---|---| | C15/PASS | V | V | V | V | V | V | A(RECEIPT_CLOSURE_FAILED) | N(RECEIPT_CLOSURE_FAILED) | | C15/STATIC_FAIL | V | V | V | V | F | N(STATIC_TEST_FAILED) | A(RECEIPT_CLOSURE_FAILED) | N(RECEIPT_CLOSURE_FAILED) | | C15/CONTRACT_FAIL | V | V | V | V | V | F | A(RECEIPT_CLOSURE_FAILED) | N(RECEIPT_CLOSURE_FAILED) | | C16/PASS | V | V | V | V | V | V | I(RECEIPT_CLOSURE_FAILED) | N(RECEIPT_CLOSURE_FAILED) | | C16/STATIC_FAIL | V | V | V | V | F | N(STATIC_TEST_FAILED) | I(RECEIPT_CLOSURE_FAILED) | N(RECEIPT_CLOSURE_FAILED) | | C16/CONTRACT_FAIL | V | V | V | V | V | F | I(RECEIPT_CLOSURE_FAILED) | N(RECEIPT_CLOSURE_FAILED) | | C17/PASS | V | V | V | V | V | V | V | A(MANIFEST_CLOSURE_FAILED) | | C17/STATIC_FAIL | V | V | V | V | F | N(STATIC_TEST_FAILED) | V | A(MANIFEST_CLOSURE_FAILED) | | C17/CONTRACT_FAIL | V | V | V | V | V | F | V | A(MANIFEST_CLOSURE_FAILED) | | C18/PASS | V | V | V | V | V | V | V | I(MANIFEST_CLOSURE_FAILED) | | C18/STATIC_FAIL | V | V | V | V | F | N(STATIC_TEST_FAILED) | V | I(MANIFEST_CLOSURE_FAILED) | | C18/CONTRACT_FAIL | V | V | V | V | V | F | V | I(MANIFEST_CLOSURE_FAILED) | ### 4.6 outer actual exit 与 governance final native final 另引用 parent process result 的 `actual_outer_exit_code:INT32|null`(该字段在 parent result,不重复进 native final)。C07/timeout/liveness 未观察 child exit 时 actual=null;final_exit_code 仍按 governance 表,但不得声称为 child exit。C01/C02 允许 actual outer exit 为 reviewed 11;C00 actual=0;C19 actual 可为 null或非0,必须在 parent result原样记录。 ## 5. P03/P06 schema 升级总表 P03 顶层 key 最终顺序: `api_contracts,api_negative_cases,forbidden_communication_tokens_base64,preflight_cases,process_selector_cases,provider_precedence_cases,result_schema,run_id,schema_id,time_cases` - api=4、api_negative=3、time=7、selector=15、preflight=8、precedence=4。 P06 顶层 key 最终顺序: `api_negative_results,api_results,preflight_results,process_selector_results,provider_precedence_results,schema_id,status,summary,time_results` - api_negative=3、api=4、preflight=8、selector=15、precedence=4、time=7。 - summary functional case_total=30 only;negative/precedence 独立计数。 本版 schema identity: - P03=`ANA-SEMI-PRECONSUMPTION-VECTORS-JCS-V003` - P05=`ANA-SEMI-PRECONSUMPTION-STATIC-RESULT-JCS-V002`(不变) - P06=`ANA-SEMI-PRECONSUMPTION-CONTRACT-RESULT-JCS-V004` - P07=`ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-V003` - P08=`ANA-SEMI-PRECONSUMPTION-MANIFEST-CSV-V002`(列 schema 不变) P08 固定行中 P03/P06/P07 的 schema_id 必须使用上述新值;其他 role/path/media/expected_presence 不变。 ### 5.1 V018 三个 P07 authoritative literals P07 仍是 as-of P06;UTF-8 no BOM/CR/NUL、恰好一个 final LF。以下 code fence 内容加一个 final LF 是完整 preimage。 PASS=`471/37b271c543ec550e620f67c8aec9b7c7c25893091b283b9a13b0ccb64b511bf6` ```text receipt_schema_id: ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-V003 run_id: RUN-DEV-ANA-SEMI-ROOT-PREFLIGHT-PRECONSUMPTION-REPAIR-IMPLEMENTATION-20260726-001 plan_id: CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V018 as_of_artifact_id: P06 prepackage_status: PASS prepackage_stop_code: null P05_status: TEST_PASS P06_status: TEST_PASS outer_process_count: 1 prohibited_process_count: 0 network_access: false credential_access: false database_connection_performed: false ``` STATIC=`502/c95701e4a2a54db22a8dc3af4dd983f8cbf240ab0ee27c9b8f7755b93fbe3017` ```text receipt_schema_id: ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-V003 run_id: RUN-DEV-ANA-SEMI-ROOT-PREFLIGHT-PRECONSUMPTION-REPAIR-IMPLEMENTATION-20260726-001 plan_id: CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V018 as_of_artifact_id: P06 prepackage_status: TEST_FAIL prepackage_stop_code: STATIC_TEST_FAILED P05_status: TEST_FAIL P06_status: NOT_RUN_UPSTREAM_STOP outer_process_count: 1 prohibited_process_count: 0 network_access: false credential_access: false database_connection_performed: false ``` CONTRACT=`492/e795a9fef84901f860c7ecde24440e76f41a27c1a5f826ae89545c6935abcef2` ```text receipt_schema_id: ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-V003 run_id: RUN-DEV-ANA-SEMI-ROOT-PREFLIGHT-PRECONSUMPTION-REPAIR-IMPLEMENTATION-20260726-001 plan_id: CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V018 as_of_artifact_id: P06 prepackage_status: TEST_FAIL prepackage_stop_code: CONTRACT_TEST_FAILED P05_status: TEST_PASS P06_status: TEST_FAIL outer_process_count: 1 prohibited_process_count: 0 network_access: false credential_access: false database_connection_performed: false ``` 数组 count、row key、type/null/enum 任一漂移均使 P06 自身 invalid,禁止 P07,并进入 C10/27 或 C14/27(仅当 invalid bytes/hash 安全可知)。 ## 6. 审核验收与门禁 V018 复审必须验证: 1. 四个 provider precedence runtime cases 的 actual/expected/call vector 和 later-provider=0。 2. selector 15 行记录全部 V002 cross-fields 与 adapter call count,全文不存在权威 count=14。 3. P06 functional case_total 唯一为30;api/negative/precedence 独立计数;API zero/two/missing/property defects 可真实编码。 4. native final 有 final_exit_code;C00-C19 top overlay、base overlay、八行 tuple、upstream/null/external hash 均唯一。 5. V017 已通过 CommandLine/P07 literal/counts 不回退;P01-P08/run/process/database 仍为零。 本 V018 仅允许 `dev.reviewer.ana.cai` 独立计划复审。PASS 也只允许向 management.admin 申请 Stage P P01-P08 的新单次实现/验证授权。在明确授权前,禁止任何 source/test/target 物化、PowerShell/csc/synthetic/proof/config-editor/mysql/SQL/database/network/credential/formal target、R3 或 BATCH-001。