# CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V007 - 事项:`DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-REPAIR-20260725-001` - 计划:`DEV-PLAN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-IMPLEMENTATION-R6` - task_id:`TASK-DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-REPAIR-PLAN-20260725-003` - submission_id:`SUBMIT-DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-REPAIR-PLAN-V007` - 当前唯一角色:`dev.developer.ana.cai` - 独立审核角色:`dev.reviewer.ana.cai` - predecessor:`CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V006` - predecessor bytes/SHA-256:`22258/8cbd64e1b764987ea0d142034713398b0be5ad616576cd561a280ccfa6c53c16` - predecessor review:`AUDIT-DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-REPAIR-PLAN-V006=HOLD/3/3` - 当前状态:`PENDING_INDEPENDENT_REPAIR_PLAN_REREVIEW` - implementation authorization:`NOT_ISSUED` ## 1. 本版唯一修订范围 V006 已关闭 `BLOCK-REPAIR-PLAN-03`,且工具、outer/csc argv、R16 12 行、R17 7 行、历史不可变和零物化均已独立复算通过。本版禁止回退这些合同,只关闭: 1. `BLOCK-V006-01=PACKAGE_UNCLOSED_PRECEDENCE_REGRESSION`; 2. `BLOCK-V006-02=PRIMARY_AND_SOURCE_TRUTH_TABLE_NOT_TOTAL`; 3. `BLOCK-V006-03=NATIVE_FINAL_SCHEMA_NOT_UNIQUELY_TYPED`。 V005/V006 的 R01—R20 路径、新 run、R02 单一 JCS writer、R14-before-throw、exact tool/argv/LoadFile/timeout/order、R07/R16/R17 和无环 DAG 全部继承。旧 A001/I01—I16 仍 history-only。本版仍不授权实现、编译、测试、synthetic 或数据库。 ## 2. Final precedence 不可降级 final exit 唯一函数按下列顺序求值,命中后停止,禁止后续 closure 把结果降级: 1. 若 `R18.as_of_exit_code=27`,则任何 `C0—C7` 的 `final_exit_code=27`。 2. 否则若 closure=`C1|C2|C7`,final=27。 3. 否则若 closure=`C3|C4`,final=25。 4. 否则若 closure=`C5|C6`,final=26。 5. 否则 closure=`C0`,final=`R18.as_of_exit_code`。 这保持继承优先级 `PACKAGE_UNCLOSED(27) > RECEIPT(25) > MANIFEST(26) > primary > PASS`。完整 combination table: | as_of class | C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 | |---|---:|---:|---:|---:|---:|---:|---:|---:| | B0 (`as_of=0`) | 0 | 27 | 27 | 25 | 25 | 26 | 26 | 27 | | BP (`as_of=11..24|28`) | primary | 27 | 27 | 25 | 25 | 26 | 26 | 27 | | B27 (`as_of=27`) | 27 | 27 | 27 | 27 | 27 | 27 | 27 | 27 | R07 `closure_vectors` 恰好 24 个 object,按 `B0-C0..C7,BP-C0..C7,B27-C0..C7` 排序;每个 key 恰好: `case_id,as_of_class,closure_id,package_closure_state,prepackage_terminal_state,r19_status,r20_status,final_rule` - `final_rule=ZERO|PRIMARY|EXIT25|EXIT26|EXIT27`,逐格对应上表。 - C0:`package_closure_state=CLOSED`;R19=`RECEIPT_FINALIZED`;R20=`MANIFEST_SELF_EXTERNAL_HASH`。 - C1/C2:state=`R18_ABSENT|R18_INVALID`;prepackage=`ABSENT|INVALID`;R19/R20=`NOT_RUN_UPSTREAM_STOP`。 - C3/C4:state=`RECEIPT_ATTEMPTED_NO_OUTPUT|RECEIPT_PARTIAL_INVALID`;R19 同名 status;R20=N。 - C5/C6:state=`MANIFEST_ATTEMPTED_NO_OUTPUT|MANIFEST_PARTIAL_INVALID`;R19 finalized;R20 同名 status。 - C7:state=`PACKAGE_STATE_UNCERTAIN`;R19/R20 按 actual,final_rule 始终 EXIT27。 新增固定 B27 package-failure vector: - exact UTF-8 preimage(无 BOM/尾 LF):`{"as_of_exit_code":27,"case_id":"ASOF27_RECEIPT_FAILURE","closure_exit_code":25,"final_exit_code":27,"package_closure_state":"RECEIPT_ATTEMPTED_NO_OUTPUT"}` - bytes=`155` - SHA-256=`59241f6d54dfebfa52e69c7769e82a552fe6ced9e6f1d1250117f81aea0a5114` - base64=`eyJhc19vZl9leGl0X2NvZGUiOjI3LCJjYXNlX2lkIjoiQVNPRjI3X1JFQ0VJUFRfRkFJTFVSRSIsImNsb3N1cmVfZXhpdF9jb2RlIjoyNSwiZmluYWxfZXhpdF9jb2RlIjoyNywicGFja2FnZV9jbG9zdXJlX3N0YXRlIjoiUkVDRUlQVF9BVFRFTVBURURfTk9fT1VUUFVUIn0=` R17 增加该第 8 行,expected=`final_exit_code=27`;不匹配则仍按 V006 P01=`STOP_R17_L0_CLOSURE_CONTRACT/11`,csc 不运行。 ## 3. csc exit 0 但 R09 absent V006 P05 拆成两个字面 primary: | ID / primary | csc exit | R09 | R10 | R11-R12 | R13 | stop / primary / as-of | |---|---:|---|---|---|---|---| | P05A CSC_OUTPUT_MISSING | 0 | `ATTEMPTED_NO_OUTPUT` | N | RAW | PRF | `STOP_CSC_OUTPUT_INVALID/15/15` | | P05B CSC_OUTPUT_INVALID | 0 | `COMPILER_STAGING_INVALID` | N | RAW | PRF | `STOP_CSC_OUTPUT_INVALID/15/15` | P05A 只适用于 csc 成功退出、R09 producer 已进入但文件 absent;禁止标记 N。P05B 适用于 R09 materialized 但 PE/.NET identity/bytes/hash 无效。两行 R14/R15=N,R16/R17=CP,R18=PTF;再与 C0—C7 组合。V006 P05 由本表完全替代。 ## 4. SOURCE_CREATE_STOP 总合同 未来新授权中 R01—R08 必须严格按 ID 顺序逐一 CreateNew、write、Flush(true)、close、exclusive reopen/hash 验证;只有当前 target 完全 `SOURCE_FROZEN` 后才进入下一个。外层进程在八项全部完成前不得启动。 状态 enum 增加 `SOURCE_PARTIAL_INVALID`:source 文件已 materialized,但 write/flush/close/reopen/canonical/hash 不完整或不匹配;bytes/hash/created_at 按可安全取得的 actual,upstream 为该 target 固定 source stop。文件 absent 且 producer 已进入用 `ATTEMPTED_NO_OUTPUT`;producer 未进入用 N。 固定 STOP:`STOP_SOURCE_CREATE_NEW_OR_VERIFY_FAILED_R01` 至 `..._R08`,每个只对应同 ID。SOURCE_CREATE_STOP scenario 恰好 16 行: | scenario | R01..R(k-1) | Rk | R(k+1)..R08 | R09-R20 | outer/final | |---|---|---|---|---|---| | S01A—S08A | `SOURCE_FROZEN` | `ATTEMPTED_NO_OUTPUT` | N | N | `not started/null` | | S01P—S08P | `SOURCE_FROZEN` | `SOURCE_PARTIAL_INVALID` | N | N | `not started/null` | 其中 k 由 scenario 数字决定;例如 S04A 的 R01—R03 frozen、R04 attempted absent、R05—R20 N。`upstream_stop_code`:Rk 及其全部下游 N 行均为该 `STOP_SOURCE...Rk`;已 frozen source upstream=null。external native final 固定:`primary_phase=SOURCE_CREATE,primary_exit_code=null,primary_stop_code=STOP_SOURCE...Rk,prepackage_terminal_state=NOT_APPLICABLE,package_closure_state=NOT_APPLICABLE_SOURCE_OR_OUTER_STOP,final_exit_code=null,status=STOP_BEFORE_OUTER`,所有 process/access count=0。 路径预检查在任何 CreateNew 前失败时为 S00:R01—R20 全部 N,stop=`STOP_TARGET_ALREADY_EXISTS_OR_PATH_ESCAPE`,其他字段同 SOURCE_CREATE_STOP。不得为收口创建 R18/R19/R20。 ## 5. Native final 完整类型合同 schema 保持 `NATIVE-ANA-SEMI-IMPLEMENTATION-FINAL-V006`。顶层字段、类型/null 固定如下: | field | type | null/enum | |---|---|---| | schema_id | STRING | exact schema,非空 | | run_id | STRING | exact new run,非空 | | authorization_id,attempt_id | STRING | future management fixed value,非空 | | started_at,finished_at | RFC3339 STRING | `finished_at>=started_at`;pre-write STOP 仍记录 source terminal 时间 | | outer_process_started | BOOL | 非空 | | outer_exit_code | INT32|null | started=true 时等于 final_exit_code 且非空;started=false 时 null | | primary_phase | STRING | `SOURCE_CREATE|OUTER_START|PRECHECK|CSC|PUBLISH|ASSEMBLY|MODULE|L0|L1|PACKAGE|PASS` | | primary_exit_code | INT32|null | `0|11..24|28`;source/outer-start 为 null | | primary_stop_code | STRING|null | PASS 为 null;failure 为 R07 固定 STOP | | prepackage_terminal_state | STRING | `VALID_PASS|VALID_FAILED|ABSENT|INVALID|NOT_APPLICABLE` | | package_closure_state | STRING | V006 九值 enum,非空 | | final_exit_code | INT32|null | `0|11..28` 或 pre-outer null;按第 2 节求值 | | artifact_rows | ARRAY[20] | 恰好 R01—R20、ordinal、无重复/缺项 | | r20_external_bytes | UINT64|null | 仅 C0 非空 | | r20_external_sha256 | HEX64|null | 仅 C0 非空 | | outer_process_count,csc_process_count | UINT16 | outer=`0|1`;csc=`0|1` | | harness_process_count,synthetic_child_process_count,proof_process_count,config_editor_process_count,mysql_process_count,query_count | UINT16 | 本阶段全部 0 | | database_connection_performed,network_access,credential_access | BOOL | 本阶段全部 false | | formal_target_count | UINT16 | exact 0 | | BATCH_001_status | STRING | exact `HELD` | | darkline_restored | BOOL | exact false | | status | STRING | `PASS|PRIMARY_FAILED_CLOSED|PACKAGE_UNCLOSED|STOP_BEFORE_OUTER` | 每个 `artifact_rows` object key 恰好且类型固定: | key | type/null | |---|---| | target_id | STRING enum R01—R20,非空 | | expected_presence | V006 六值 STRING enum,非空 | | materialized,exists | BOOL,必须相等 | | status | V006+`SOURCE_PARTIAL_INVALID` 完整 STRING enum | | bytes | UINT64|null | | sha256 | HEX64|null | | created_at | RFC3339 STRING|null | | upstream_stop_code | R07 STOP STRING|null | 行级联动: - materialized=false:bytes/sha/created_at=null;status 只能 A 或 N;upstream 非空。 - materialized=true:bytes/sha/created_at 非空;仅合法 R20 self 行 bytes/sha=null 且 created_at 非空。 - 成功状态 upstream=null;failure/partial/invalid/attempted/N upstream 非空。 - `SOURCE_PARTIAL_INVALID|COMPILER_STAGING_PARTIAL|COMPILER_STAGING_INVALID|BUILD_PUBLISH_PARTIAL|PROCESS_RESULT_FAIL|TEST_FAIL|TEST_OUTPUT_INVALID|CONTRACT_FAIL|PREPACKAGE_TERMINAL_FAIL|RECEIPT_PARTIAL_INVALID|MANIFEST_PARTIAL_INVALID` 均为 failure 状态。 ## 6. 顶层 cross-field 真值 | status | outer | primary | prepackage | closure | final | R20 external | |---|---|---|---|---|---|---| | STOP_BEFORE_OUTER | false/exit null/count0 | source/outer,exit null,stop non-null | NOT_APPLICABLE | NOT_APPLICABLE_SOURCE_OR_OUTER_STOP | null | null/null | | PASS | true/exit0/count1 | PASS/0/null | VALID_PASS | CLOSED | 0 | non-null/non-null | | PRIMARY_FAILED_CLOSED | true/exit=final/count1 | failure/non-null/stop | VALID_FAILED | CLOSED | primary `11..24|28` | non-null/non-null | | PACKAGE_UNCLOSED | true/exit=final/count1 | PASS/0/null 或 failure/non-null/stop | VALID_PASS|VALID_FAILED|ABSENT|INVALID | C1—C7,或 B27+C0 | `25|26|27`,按第2节 | 仅 B27+C0 可非空;其他 null | 额外约束: - `package_closure_state=CLOSED` ⇔ R19=`RECEIPT_FINALIZED`、R20=`MANIFEST_SELF_EXTERNAL_HASH`、R20 external 非空。 - receipt failure ⇔ R19 为对应 attempted/partial、R20=N、R20 external null。 - manifest failure ⇔ R19 finalized、R20 为对应 attempted/partial、external null。 - R18 absent/invalid ⇔ R19/R20=N、prepackage=`ABSENT|INVALID`、final=27。 - B27 即使 closure=CLOSED,也必须 status=PACKAGE_UNCLOSED、outer/final=27;合法 R20 hash 可存在但不得把状态降为 closed primary。 - `outer_exit_code` 是实际唯一 outer 返回码;不存在“outer 返回 25 但 native final 声称 27”。 ## 7. Literal closure object 合同 R07 除 24 个 closure_vectors 外,固定 `native_final_examples` 恰好 10 行: 1. S00 precheck-before-write; 2. S04A source attempted absent; 3. S04P source partial invalid; 4. B0-C0 PASS; 5. BP-C0 L0 fail closed; 6. BP-C3 receipt absent; 7. BP-C5 manifest absent; 8. B27-C0 R14 absent但 manifest 合法; 9. B27-C3 R14 absent且 receipt failure(固定 155-byte vector); 10. B27-C7 package uncertain。 每行必须逐字段提供第 5 节全部顶层值和 20 个 artifact_rows,不得使用 wildcard、`same as` 或省略 null。实现者从 R07 反序列化这些 literal object 后,使用同一 reducer 重算 actual;10/10 才允许 R16/R17 之后进入 csc。任一 drift=`STOP_R17_L0_CLOSURE_CONTRACT/11`。 ## 8. 权威继承与送审边界 V006 P00—P04、P06—P22 保持;P05 仅由本版 P05A/P05B 替代。V006 C0—C7 的最终值仅由本版第 2 节取代;其 path/status/DAG 不变。source/outer-start 仅使用本版 S00/S01A—S08P external terminal,不创建 package。 权威 DAG 仍为:`R01-R08 → R16 → R17 → csc/R09/R11/R12 → R10 → R13 → LoadFile → R14 → R15 → R18 → R19 → R20 → external native final`。任何 pre-outer stop 在 DAG 之前结束。 独立复审 PASS 后仍只允许向 management 提交 V007 与审核终态,请求全新单次实现授权;本文件不授权 R01—R20、新 run、compiler/test/synthetic/database。旧 A001/run/I01—I16 保持不可变,Git 非阻断且不得 clean/stage/revert,BATCH-001 继续 HELD。