edit | blame | history | raw

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—C7final_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。