CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V020dev.developer.ana.cai2026-07-26T14:07:29.6346599+08:00CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V019 / 16404/b49de51253d4c740e3c0e664ebf3135dfcd75693dc1adb50cf5ff82c3073359dAUDIT-DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-PRECONSUMPTION-REPAIR-PLAN-V019=HOLD/2/2 / 197470/359ec9d4ceb5853785ee9dc0c0b891b8472711d92b988e2c35a4de4b8bf24f9d / line 1635PENDING_INDEPENDENT_PREFLIGHT_REPAIR_PLAN_REREVIEWNOT_ISSUEDABSENT/HELD/HELD/HELD/HELDV020 只关闭 BLOCK-V019-01/02。V019 已独立复算通过的 22-property name/type/rule 与 mutation hashes、API negative actual evidence、source A/I、C18 equality、P07 literals、C10 unknown boundary及 V018 之前全部已关闭合同均继承且不得回退。
V019 API_RESULT/API_NEGATIVE_RESULT V004 的字段顺序与 object/type/property evidence 全部继承;schema identity 升级为 V005。expected property rule enum 完整升级为:
STRING_NONNULL|STRING_OR_NULL|INT64_OR_NULL|INT32_OR_NULL|BOOL_OR_NULL|ARRAY_UINT32_OR_NULL|ARRAY_STRING_OR_NULL
验证顺序固定为:object count → expected custom schema type → ordinal/case-sensitive property names → property count → 每项 value rule → actual name/type vector/hash。实际非 null 数组的 CLR FullName 必须分别为 System.UInt32[] 或 System.String[];实际 null 仍记录 <null>。禁止把 System.Object[]、ArrayList、scalar 或其他 enumerable 解释为 reviewed array。
所有 preimage 均为表中 ordered vector 各元素 strict UTF-8、单一 LF 连接、无尾 LF。API success probe 的 producer 必须构造下表指定的实际 CLR 类型;nullable 字段在 sentinel 为 null 时 actual type 为 <null>。
| api_id / expected type | property count | names bytes/hash | actual types bytes/hash | expected rules bytes/hash |
|---|---|---|---|---|
CONVERT / ANA.SEMI.AUTHORIZATION.WINDOW.V001 |
7 | 104/7f4433249dd9701ceeaa398eac966cc0e6cd4ca223306f3ea634796b1628f23f |
88/f9dc71beb1a36b25739303f652bd81e3394540585072e0207c30f7022ede76cd |
102/df47afa24888ccca46ee7458c4638ab6f6e0f6106c3ba0748fbd097ff37520ec |
TEST / ANA.SEMI.AUTHORIZATION.WINDOW.TEST.V001 |
7 | 99/7301aa3efc985cded8fc118f7bf2f6ac95538ab51d7b9b25f3acc9686965c44a |
88/ba1be1eb1de37bc66399789c734ec39db91865a66646c9ea07f549b79e738984 |
99/b555dc7a69374f7ab48692b1d516e5f84db44414957daf95dedcc7589c67e94b |
SELECTOR / ANA.SEMI.PROCESS.SELECTOR.RESULT.V001 |
12 | 212/813f027476cd41d85483af03563344093792ac46712e4c52930ed3264c653198 |
150/8ad7da1e0a011180021d477d1566abed1d83b1be6a4e473aa4c273abc4241165 |
183/b0f88a82f26e2ba98235fd7f8bf851a30ea92318fd3605e278dd5558a0938575 |
INVOKE / ANA.SEMI.PRECONSUMPTION.RESULT.V002 |
22 | 403/4c3f8d873a6be20c0e449c6c6d1f196204ec8c3dfa399e3a5ee0e19f5fa153a2 |
283/f57a1652d597b9cdea4dda4075701e2447e41d3d59261809f434ab62d9927cdd |
311/e885db2cbe8b0b81f858c539da5c6f310a4db7501690f6481976e7704ac4ceaa |
四组 ordered vectors 为:
CONVERT.names=authorized_at_raw|authorized_at_utc_ticks|expires_at_raw|expires_at_utc_ticks|schema_id|status|stop_code
CONVERT.types=System.String|System.Int64|System.String|System.Int64|System.String|System.String|<null>
CONVERT.rules=STRING_NONNULL|INT64_OR_NULL|STRING_NONNULL|INT64_OR_NULL|STRING_NONNULL|STRING_NONNULL|STRING_OR_NULL
TEST.names=authorized_at_utc_ticks|expires_at_utc_ticks|inside_window|now_utc_ticks|schema_id|status|stop_code
TEST.types=System.Int64|System.Int64|System.Boolean|System.Int64|System.String|System.String|<null>
TEST.rules=INT64_OR_NULL|INT64_OR_NULL|BOOL_OR_NULL|INT64_OR_NULL|STRING_NONNULL|STRING_NONNULL|STRING_OR_NULL
SELECTOR.names=confirmed_zero|duplicate_process_id_count|exact_outer_count|matched_process_ids|prohibited_process_count|related_process_count|schema_id|snapshot_row_count|status|stop_code|uncertain_fields|unknown_relevant_count
SELECTOR.types=System.Boolean|System.Int32|System.Int32|System.UInt32[]|System.Int32|System.Int32|System.String|System.Int32|System.String|<null>|<null>|System.Int32
SELECTOR.rules=BOOL_OR_NULL|INT32_OR_NULL|INT32_OR_NULL|ARRAY_UINT32_OR_NULL|INT32_OR_NULL|INT32_OR_NULL|STRING_NONNULL|INT32_OR_NULL|STRING_NONNULL|STRING_OR_NULL|ARRAY_STRING_OR_NULL|INT32_OR_NULL
INVOKE.names_hash=4c3f8d873a6be20c0e449c6c6d1f196204ec8c3dfa399e3a5ee0e19f5fa153a2
INVOKE.types_hash=f57a1652d597b9cdea4dda4075701e2447e41d3d59261809f434ab62d9927cdd
INVOKE.rules_hash=e885db2cbe8b0b81f858c539da5c6f310a4db7501690f6481976e7704ac4ceaa
该 code block 的 | 仅为展示分隔;hash preimage 必须使用每组元素间 LF。SELECTOR success sentinel 固定使用 [uint32[]]@() 作为 matched_process_ids,因此 actual FullName=System.UInt32[];uncertain_fields=$null,因此 actual type=<null>。在 UNKNOWN/STOP 业务对象中非 null uncertain_fields 必须由 producer 显式 cast [string[]],不得隐式成为 Object[]。
V019 INVOKE-TYPE-MISSING 的 expected actual_type_names=[""] 被 supersede。probe 仍只执行一次 PSTypeNames.RemoveAt(0),移除 expected custom type;其后 PSCustomObject 的首个可见基础类型必须精确为:
System.Management.Automation.PSCustomObject
因此 V020 的 expected actual_type_names=["System.Management.Automation.PSCustomObject"]。TYPE_MISSING 的精确定义改为:expected custom schema type 不存在,且第一个可见类型只属于固定 generic allowlist {System.Management.Automation.PSCustomObject,System.Object},并且不存在任何以 ANA.SEMI. 开头的 remaining type。它表示“可接受的自定义 schema type 缺失”,不表示 CLR/base type 列表为空。
若首个可见类型是其他 custom type、或存在非 expected ANA.SEMI.* type,则必须 TYPE_DRIFT;如果无法读取 PSTypeNames,则 result contract drift/STOP,不能写 TYPE_MISSING。该 probe 的 object_count=1,property count/names/types/hash 仍为 valid sentinel 全量值,不得丢失。
八个 negative runtime cases、api_negative_total=8、functional case_total=30 均不变;只有 TYPE_MISSING expected actual_type_names 从 [""] 升级为上述 base type。
V019 native final V003 升级为 ANA.SEMI.PRECONSUMPTION.NATIVE.FINAL.V004。顶层 keys 不变;state_id enum 从 C00-C39 升级为 C00-C40,state count=41。C00-C39 全部保持 V019 值。
新增唯一状态 C40:
| state | prepackage_variant | closure | final | stop | exit | P01-P04 | P05 | P06 | P07 | P08 | external manifest |
|---|---|---|---|---|---|---|---|---|---|---|---|
| C40 | null | NATIVE_ONLY | STOP | OUTER_TIMEOUT_KILLED_KNOWN_PREFIX | 24 | V,V,V,V | V | N | N | N | null |
C40 的 P06/P07/P08 row 均为 false,false,NOT_RUN_UPSTREAM_STOP,OUTER_TIMEOUT_KILLED_KNOWN_PREFIX,null,null。P01-P05 row 均 V,upstream=null,actual bytes/hash 非 null。C40 仅在 P05 已关闭、只读复开、bytes/hash 完成,而 P06 writer-open 尚未发生时合法。
timeout-known prefix 权威集合因此恰好 18 个:C09,C24-C40。它们在 (P05,P06,P07) 上依次覆盖:
NNN,ANN,INN,FNN,FNA,FNI,FNV,VAN,VIN,VFN,VFA,VFI,VFV,VVN,VVA,VVI,VVV,VNN
集合必须无重复且无额外组合。C10/U/27 仍只用于真实 liveness/handle/close/hash/writer-stage unknown;C19 仍只用于完整 closed package 后 timeout。
本版 schema identity:
ANA-SEMI-PRECONSUMPTION-VECTORS-JCS-V005ANA-SEMI-PRECONSUMPTION-STATIC-RESULT-JCS-V002(不变)ANA-SEMI-PRECONSUMPTION-CONTRACT-RESULT-JCS-V006ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-V005ANA-SEMI-PRECONSUMPTION-MANIFEST-CSV-V002(列 schema 不变)P08 固定八行中的 P03/P06/P07 schema_id 必须使用本节值。P07 仍是 as-of P06;UTF-8 no BOM/CR/NUL、恰好一个 final LF。以下 code fence 内容加一个 final LF 是完整 preimage。
PASS=471/c56b188d5c6591c215d8109f5901218b5280fa188c52cc64f9239d66d275798b
receipt_schema_id: ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-V005
run_id: RUN-DEV-ANA-SEMI-ROOT-PREFLIGHT-PRECONSUMPTION-REPAIR-IMPLEMENTATION-20260726-001
plan_id: CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V020
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/b54fa7e9e9429c53471da958dfc6e0fbdd23376cd34aa3a0bee2d52492dc0b90
receipt_schema_id: ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-V005
run_id: RUN-DEV-ANA-SEMI-ROOT-PREFLIGHT-PRECONSUMPTION-REPAIR-IMPLEMENTATION-20260726-001
plan_id: CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V020
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/241d2db0a168009ea28d92a59015a8151725a44003324378a8a4b9d9627724aa
receipt_schema_id: ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-V005
run_id: RUN-DEV-ANA-SEMI-ROOT-PREFLIGHT-PRECONSUMPTION-REPAIR-IMPLEMENTATION-20260726-001
plan_id: CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V020
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
V020 独立复审必须验证:
本 V020 只允许 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。