# CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V002 创建人员:dev.developer.ana.cai 创建时间:2026-07-24T19:11:00+08:00 事项 ID:`DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-IMPLEMENTATION-20260724-001` 计划 ID:`DEV-PLAN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-IMPLEMENTATION-R1` 任务 ID:`TASK-DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-IMPLEMENTATION-20260724-001` 当前状态:`PENDING_INDEPENDENT_PLAN_REREVIEW` 精确开发角色:`dev.developer.ana.cai` 精确审核角色:`dev.reviewer.ana.cai` 实现授权:`NOT_ISSUED` ## 1. 修订依据与不回退声明 本文件是 V001 的 append-only R1/V002 替代计划,不修改或覆盖 V001。V001 固定为 `13850` bytes / SHA-256 `20e452a7f5bce3ac2bc96105577d1f616bd15c06b8884543cedc2d61b5dd7a6f`,其审核 `AUDIT-DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-PLAN-V001=HOLD/3/3`,入口为 `ana-doc/案例审计报告.md:718`。 本版仅关闭: - `BLOCK-DEV-PLAN-01`:结果状态与模块入口合同漂移。 - `BLOCK-DEV-PLAN-02`:L0 编译与零外部进程合同冲突。 - `BLOCK-DEV-PLAN-03`:实现证据包 schema、状态矩阵与 hash DAG 缺失。 专业 V007、开发目录恢复、旧 A001 不可变、Git 非阻断、秘密/数据库/业务禁令均不回退。专业绑定仍为: - `DESIGN-ANA-SEMI-ROOT-IDENTITY-GRANT-PREFLIGHT-V007` / bytes `279657` / SHA-256 `5906c63008a2366ebf9b3519df85b9e421e8f706fb916d1749c12af43f99a801`。 - `AUDIT-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-DESIGN-001=PASS/0/0` / bytes `176812` / SHA-256 `1053a77b49f92d6989c79e7e6ee82b9ef97a103849be69177d8ce095bea5c20b`。 ## 2. 角色与阶段门 - 计划/实现所有者:`dev.developer.ana.cai`。 - 独立计划/实现审核:`dev.reviewer.ana.cai`,审计入口 `ana-doc/案例审计报告.md`。 - 本 V002 必须先取得独立计划复审 PASS;之后仍须 management 单独签发源码/测试物化和实现验证授权。 - 实现包完成后须独立实现审核 PASS;正式 9 场景、30-target synthetic selftest 另需 management single-use 授权。 - synthetic 审核 PASS 也不自动授权真实 proof、config-editor、MySQL、SQL、数据库或 `BATCH-001`。 ## 3. 精确模块与调用合同 ### 3.1 C# assembly assembly 文件名固定 `AnaSemi.NativeProcessRunnerV006.dll`,target framework 固定 .NET Framework 4.8,namespace 固定 `AnaSemi`。公开类型和公开入口只允许: 1. `public sealed class NativeProcessResultV006` 2. `public sealed class NativeProcessContractExceptionV006 : System.Exception` - 公开只读属性:`public string StopCode { get; }` 3. `public static class WindowsCommandLineV006` - `public static string QuoteAndJoin(string[] logicalArgv)` - `public static string Fingerprint(string[] logicalArgv)` 4. `public static class NativeProcessRunnerV006` - `public static NativeProcessResultV006 Run(string processKind, string[] logicalArgv, string stdoutPath, string stderrPath, int timeoutMilliseconds, int killWaitMilliseconds, string syntheticFaultMode)` 5. `public static class ProcessResultEnvelopeValidatorV006` - `public static NativeProcessResultV006 ValidateSingle(object[] items)` 6. `public static class ProcessResultSidecarCsvV006` - `public static void WriteCreateNew(NativeProcessResultV006 result, string sidecarPath)` 禁止额外 public type/method、重载、默认参数、动态调用或第二套 runner/validator/sidecar writer。`Run` 的 `syntheticFaultMode` 只允许 `NONE|FAIL_STDOUT_AFTER_86`;后者必须同时要求 `processKind=SYNTHETIC_COPYFAIL`,对 `PROOF|IDENTITY|GRANTS` 或任何其他 kind 一律抛出固定 STOP。 ### 3.2 22-property 固定合同 `NativeProcessResultV006` 恰好按下列声明顺序公开 22 个属性,名称大小写、CLR 类型和 nullability 逐字固定: | property | CLR type | contract | |---|---|---| | schema_id | System.String | `ANA-SEMI-NATIVE-PROCESS-RESULT-V005` | | process_kind | System.String | 非空审核枚举 | | process_started | System.Boolean | 非空 | | process_id | System.Nullable<System.UInt32> | 状态矩阵 | | argv_count | System.UInt16 | 非空 | | argv_fingerprint | System.String | HEX64 | | command_line_sha256 | System.String | HEX64 | | roundtrip_argv_fingerprint | System.String | HEX64 | | started_at | System.Nullable<System.DateTimeOffset> | 状态矩阵 | | finished_at | System.DateTimeOffset | 非空 | | exit_code | System.Nullable<System.Int32> | 状态矩阵 | | timed_out | System.Boolean | 非空 | | copy_state | System.String | `PASS|FAIL|NOT_STARTED` | | child_liveness | System.String | `EXITED|NOT_STARTED` | | stdout_path | System.String | 非空 relative PATH | | stdout_bytes | System.UInt64 | 非空 | | stdout_sha256 | System.String | HEX64 | | stderr_path | System.String | 非空 relative PATH | | stderr_bytes | System.UInt64 | 非空 | | stderr_sha256 | System.String | HEX64 | | result_contract_version | System.String | `V005-001` | | wrapper_status | System.String | `RETURNED|PROCESS_START_FAILED|TIMED_OUT|COPY_FAILED` | property preimage/count/hash 固定沿用 V007:`22` / `92c089153161a08a2327667befda342f4949ae6e2657eca51ad462a763614a2f`。`EXITED` 只属于 `child_liveness`,绝不属于 `wrapper_status`;合法 result 不允许 `UNKNOWN` liveness。 ### 3.3 四状态调用与返回 PowerShell 调用唯一为: `$items=@([AnaSemi.NativeProcessRunnerV006]::Run($ProcessKind,[string[]]$LogicalArgv,$StdoutPath,$StderrPath,$TimeoutMilliseconds,$KillWaitMilliseconds,$SyntheticFaultMode))` 随后依次且只能: 1. `$result=[AnaSemi.ProcessResultEnvelopeValidatorV006]::ValidateSingle([object[]]$items)`; 2. `[AnaSemi.ProcessResultSidecarCsvV006]::WriteCreateNew($result,$SidecarPath)`。 所有辅助 API 返回均以 `[void]` 抑制。合法映射: | wrapper_status | child_liveness | process_started | exit_code | copy_state | |---|---|---:|---|---| | RETURNED | EXITED | TRUE | non-null,可 0/非 0 | PASS | | PROCESS_START_FAILED | NOT_STARTED | FALSE | null | NOT_STARTED | | TIMED_OUT | EXITED | TRUE | non-null INT32 | PASS 或 FAIL | | COPY_FAILED | EXITED | TRUE | non-null INT32 | FAIL | child 无法确认退出或 raw 无法最终化时不得返回对象,必须抛出 `NativeProcessContractExceptionV006`,StopCode 分别为 `STOP_CHILD_LIVENESS_UNCERTAIN` 或 `STOP_RAW_FINALIZATION_UNCERTAIN`。 ### 3.4 PowerShell modules - `Invoke-AnaSemiWrapperSelftestV006.ps1`:顶层只允许 StrictMode、常量和函数定义;唯一公开函数 `Invoke-AnaSemiWrapperSelftestV006`。参数恰好为 `RunId,RunRoot,RunnerAssemblyPath,ExpectedVectorsPath,ChildPowerShellPath,AuthorizationId,Mode`,其中 Mode 只允许 `AUTHORIZED_SYNTHETIC`。未提供审核通过的单次 AuthorizationId 即 STOP,禁止 contract-only 隐式执行。 - `synthetic-child.ps1`:可执行入口为脚本本身,恰好接受一个原始 token `--mode=EXIT0|EXIT7|SLEEP_TIMEOUT|COPYFAIL|SIDECAR_CONFLICT`;其他 argc/token STOP。只输出 V007 固定 bytes,不读取 credential/network/database。 - `Test-AnaSemiNativeProcessRunnerV006.Static.ps1`:顶层只定义 `Invoke-AnaSemiL0StaticValidationV001`,参数恰好 `ProjectRoot,RunnerAssemblyPath,ExpectedVectorsPath,OutputPath`;无 success pipeline output,失败抛出固定 STOP。 - `Test-InvokeAnaSemiWrapperSelftestV006.Static.ps1`:顶层只定义 `Invoke-AnaSemiL1ContractValidationV001`,参数同 L0;无 success pipeline output,失败抛出固定 STOP。 - `Invoke-AnaSemiImplementationValidationV001.ps1`:唯一实现验证入口,参数恰好 `ProjectRoot,RunRoot,CscPath,ExpectedVectorsPath`;只允许 dot-source L0/L1 定义并在当前 PowerShell 进程调用,禁止启动 harness/child。 ## 4. 完整 15-target universe 实施 run 固定为 `RUN-DEV-ANA-SEMI-ROOT-PREFLIGHT-V007-IMPLEMENTATION-20260724-001`。I01-I07 使用 project-root-relative locator;I08-I15 位于 `dev/ana-dev/tmp//`。成功包恰好 15 项: | ID | role | path | media type | schema_id | success status | |---|---|---|---|---|---| | I01 | WRAPPER_SOURCE | `dev/ana-dev/AnaSemi.NativeProcessRunnerV006.cs` | text/x-csharp | ANA-SEMI-NATIVE-WRAPPER-CS-V001 | SOURCE_FROZEN | | I02 | HARNESS_SOURCE | `dev/ana-dev/Invoke-AnaSemiWrapperSelftestV006.ps1` | text/x-powershell | ANA-SEMI-WRAPPER-HARNESS-PS1-V001 | SOURCE_FROZEN | | I03 | CHILD_SOURCE | `dev/ana-dev/synthetic-child.ps1` | text/x-powershell | ANA-SEMI-SYNTHETIC-CHILD-PS1-V001 | SOURCE_FROZEN | | I04 | L0_TEST_SOURCE | `dev/ana-dev/test/Test-AnaSemiNativeProcessRunnerV006.Static.ps1` | text/x-powershell | ANA-SEMI-L0-VALIDATOR-PS1-V001 | SOURCE_FROZEN | | I05 | L1_TEST_SOURCE | `dev/ana-dev/test/Test-InvokeAnaSemiWrapperSelftestV006.Static.ps1` | text/x-powershell | ANA-SEMI-L1-VALIDATOR-PS1-V001 | SOURCE_FROZEN | | I06 | EXPECTED_VECTORS | `dev/ana-dev/test/V007ExpectedVectors.json` | application/json | ANA-SEMI-V007-EXPECTED-VECTORS-JCS-V001 | SOURCE_FROZEN | | I07 | VALIDATION_ENTRY | `dev/ana-dev/test/Invoke-AnaSemiImplementationValidationV001.ps1` | text/x-powershell | ANA-SEMI-IMPLEMENTATION-VALIDATION-PS1-V001 | SOURCE_FROZEN | | I08 | COMPILED_ASSEMBLY | `build/AnaSemi.NativeProcessRunnerV006.dll` | application/octet-stream | PE-DOTNET48-V001 | BUILD_READY | | I09 | CSC_STDOUT | `process/csc.stdout.bin` | application/octet-stream | RAW-BYTES-V001 | RAW_READY | | I10 | CSC_STDERR | `process/csc.stderr.bin` | application/octet-stream | RAW-BYTES-V001 | RAW_READY | | I11 | CSC_PROCESS_RESULT | `process/csc.result.json` | application/json | ANA-SEMI-IMPLEMENTATION-PROCESS-RESULT-JCS-V001 | PROCESS_RESULT_READY | | I12 | L0_RESULT | `test/l0-static.json` | application/json | ANA-SEMI-IMPLEMENTATION-L0-JCS-V001 | TEST_PASS | | I13 | L1_RESULT | `test/l1-contract.json` | application/json | ANA-SEMI-IMPLEMENTATION-L1-JCS-V001 | TEST_PASS | | I14 | IMPLEMENTATION_RECEIPT | `receipt/implementation-receipt.md` | text/markdown | ANA-SEMI-IMPLEMENTATION-RECEIPT-MD-V001 | RECEIPT_FINALIZED | | I15 | IMPLEMENTATION_MANIFEST | `manifest/implementation-source-manifest.csv` | text/csv | ANA-SEMI-IMPLEMENTATION-MANIFEST-CSV-V001 | MANIFEST_SELF_EXTERNAL_HASH | source/test 文本一律 UTF-8 无 BOM、LF、恰好一个尾 LF;JSON 一律 RFC 8785 JCS、UTF-8 无 BOM、无尾随 bytes;raw/DLL 按原始 bytes;Markdown UTF-8 无 BOM、LF、恰好一个尾 LF;CSV RFC4180、UTF-8 无 BOM、LF、恰好一个尾 LF。 ## 5. V007ExpectedVectors.json 唯一绑定 I06 top-level key 恰好且顺序不具语义:`schema_id,professional_design,property_contract,implementation_descriptors,scenario_contract,raw_preimages,manifest_contract`。 - `schema_id=ANA-SEMI-V007-EXPECTED-VECTORS-JCS-V001`。 - `professional_design` 恰好包含 `id,path,bytes,sha256,start_line`,值为第 1 节固定向量。 - `property_contract` 恰好包含 `result_type,property_count,property_set_sha256,wrapper_status,child_liveness`;状态数组顺序分别为 `RETURNED,PROCESS_START_FAILED,TIMED_OUT,COPY_FAILED` 与 `EXITED,NOT_STARTED`。 - `implementation_descriptors` 恰好三 key/HEX64:wrapper=`bce657782982efe2314ccc0d6eb569170e2690d739c56c94ab71c3094597e019`;harness=`ffaa17dd858d4201dac14e08afa4db789d6f61fd637c6176cee125f1f2b4e0f6`;child=`252386b0b88ec664a3b60d706da114aa917b5b443ff3c9d13f7e9c932949c5cf`。 - `scenario_contract` 固定 schema=`ANA-SEMI-WRAPPER-SELFTEST-SCENARIO-CSV-V007`、15 列顺序及 9 行。每行必须逐值等于专业 V007 lines 2684-2692,关键状态为:EXIT0/EXIT7/SIDECAR_CONFLICT=`RETURNED`;START=`PROCESS_START_FAILED`;TIMEOUT=`TIMED_OUT`;COPY=`COPY_FAILED`;三个 probe wrapper=null。 - 九行 argv hash、exit rule/value、stdout/stderr bytes/hash、result/property hash、STOP/process count 必须逐值复制专业 V007;禁止缩写 `EMPTY_SHA256` 或 property hash。 - `raw_preimages` 恰好包含 EXIT0、EXIT7、PROCESS_START_FAILED、TIMED_OUT、COPY_FAILED、SIDECAR_CONFLICT 的 stdout/stderr escaped preimage、decoded bytes 与 SHA-256,逐值等于 V007 lines 2702-2712。 - `manifest_contract` 固定 schema=`ANA-SEMI-WRAPPER-SELFTEST-MANIFEST-CSV-V007`、target_count=30、status counts=`3/1/12/5/4/2/1/1/1` 和专业 V007 ST01-ST30 literal matrix 的 30 个 `(id,role,path,media,schema,status)`;不得新增、遗漏或从扩展名推断。 I06 不包含当前实现 hash、I14/I15 hash 或运行时 timestamp,避免自引用;L0 必须逐项验证其 shape、类型和值与 V007 design hash 的绑定。 ## 6. L0/L1 工具、命令和进程合同 ### 6.1 固定工具 - PowerShell:`C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe` / bytes `455680` / SHA-256 `9785001b0dcf755eddb8af294a373c0b87b2498660f724e76c4d53f9c217c7a3` / version `10.0.19041.1 (WinBuild.160101.0800)`。 - C# compiler:`C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe` / bytes `2569696` / SHA-256 `aae1db57f898ca8bda18590c56f86ced6d0ead80c22033b76fdfe9119706f116` / version `4.8.9232.0 built by: NET481REL1LAST_C`。 任一 path/bytes/hash/version 漂移即 STOP 并重新审核,不得临时替换工具。 ### 6.2 唯一外层命令 在单独 management 授权后,只允许一个 PowerShell 验证进程: `powershell.exe -NoProfile -NonInteractive -ExecutionPolicy Bypass -File E:\mb-ms-doc\project-info\dev\ana-dev\test\Invoke-AnaSemiImplementationValidationV001.ps1 -ProjectRoot E:\mb-ms-doc\project-info -RunRoot E:\mb-ms-doc\project-info\dev\ana-dev\tmp\RUN-DEV-ANA-SEMI-ROOT-PREFLIGHT-V007-IMPLEMENTATION-20260724-001 -CscPath C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe -ExpectedVectorsPath E:\mb-ms-doc\project-info\dev\ana-dev\test\V007ExpectedVectors.json` 外层 exit code 总枚举:`0=PASS,11=PRECHECK_STOP,12=CSC_START_STOP,13=CSC_EXIT_OR_TIMEOUT_STOP,14=L0_STOP,15=L1_STOP,16=PACKAGE_STOP`。禁止其他参数、环境秘密、stdout success output 或第二次启动。 ### 6.3 唯一 csc 子进程 外层进程内部最多启动一次 csc,argv 顺序固定: 1. `C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe` 2. `/nologo` 3. `/target:library` 4. `/optimize+` 5. `/debug-` 6. `/checked+` 7. `/platform:anycpu` 8. `/warnaserror+` 9. `/utf8output` 10. `/out:E:\mb-ms-doc\project-info\dev\ana-dev\tmp\RUN-DEV-ANA-SEMI-ROOT-PREFLIGHT-V007-IMPLEMENTATION-20260724-001\build\AnaSemi.NativeProcessRunnerV006.dll` 11. `E:\mb-ms-doc\project-info\dev\ana-dev\AnaSemi.NativeProcessRunnerV006.cs` `UseShellExecute=false,CreateNoWindow=true`;I09/I10 在 Start 前 CreateNew,直接从 BaseStream 异步复制。成功要求 exit=0、timed_out=false、I09/I10 均 0 bytes/empty SHA-256、I08 存在且可作为 .NET Framework 4.8 assembly 加载。csc timeout 固定 60 秒,只 kill/wait 一次;任何不确定 STOP。 成功总 external process count=`2`(外层 PowerShell 1 + csc 1);L0/L1 在同一外层进程内 dot-source 并调用,不产生额外进程。harness_process_count=0、synthetic_child_process_count=0、network/database/credential/config_editor/mysql=0。 ## 7. 证据 schema ### 7.1 I11 csc result JCS key 恰好:`schema_id,tool_path,tool_bytes,tool_sha256,argv_count,argv_sha256,process_started,process_id,started_at,finished_at,exit_code,timed_out,stdout_path,stdout_bytes,stdout_sha256,stderr_path,stderr_bytes,stderr_sha256,assembly_path,assembly_bytes,assembly_sha256,status`。 类型:bytes/count/id 为非负整数;时间为 RFC3339;exit_code=INT32|null;path/string/hash 非空;status=`PASS|PROCESS_START_FAILED|TIMED_OUT|NONZERO_EXIT|OUTPUT_INVALID`。成功行全部非空、exit=0、status=PASS。I11 不引用自身、I14 或 I15 hash。 ### 7.2 I12 L0 JCS key 恰好:`schema_id,run_id,source_hashes,toolchain,assembly,checks,check_count,pass_count,fail_count,external_process_count,network_count,database_count,credential_count,status`。`source_hashes` 恰好 I01-I07 七 key/HEX64;`toolchain` 恰好 powershell/csc path+bytes+hash;`assembly` 恰好 path+bytes+hash。 `checks` 恰好 8 个对象,字段 `check_id,expected,actual,pass,stop_code`:SOURCE_CANONICAL、CSC_EXIT、PUBLIC_API、PROPERTY_22、POWERSHELL_AST、PROHIBITED_API、TOP_LEVEL_SIDE_EFFECT、EXPECTED_VECTOR_BINDING。成功 count/pass/fail=`8/8/0`、external_process_count=1(csc)、其余 0、status=PASS。 ### 7.3 I13 L1 JCS key 与 I12 相同但不含 toolchain/assembly,`checks` 恰好 9 项:ARGV_QUOTING、ARGV_FINGERPRINT、ENVELOPE_EXTRA、ENVELOPE_MISSING、RESULT_STATE_MATRIX、RAW_PREIMAGE、REAL_13_TARGET_CONTRACT、SYNTHETIC_30_TARGET_CONTRACT、CREATE_NEW_DECISION。成功 count/pass/fail=`9/9/0`、external_process_count=0、其余 0、status=PASS。 L1 只调用 `WindowsCommandLineV006` 和 `ProcessResultEnvelopeValidatorV006` 的纯内存路径;绝不调用 `NativeProcessRunnerV006.Run`、harness 或 child。 ### 7.4 I14 receipt Markdown heading 顺序固定:Metadata、Toolchain、Source And Test Hashes、Compiler Process、L0 Result、L1 Result、Counts And Boundaries、Stop Or Pass。只记录 I01-I13 bytes/hash、精确命令/argv、exit/count/status、no-secret/network/database/Git/business attestation;排除 I14 自身和 I15 hash。 ### 7.5 I15 manifest CSV 恰好 15 行,列顺序:`run_id,target_id,artifact_role,project_relative_path,media_type,schema_id,expected_presence,materialized,exists,bytes,sha256,status,created_at,upstream_stop_code`。 - 主键 `(run_id,target_id)`,path 唯一,顺序 I01→I15。 - expected_presence 全部 ALWAYS。 - 成功包 I01-I14 materialized/exists=true 且 bytes/hash/created_at 非空;I15 materialized/exists=true、bytes/hash=null、created_at 非空、status=`MANIFEST_SELF_EXTERNAL_HASH`。 - I15 外部 bytes/hash 仅进入 native terminal 与独立审计,不回写 I14/I15。 - status 总枚举:`SOURCE_FROZEN|BUILD_READY|RAW_READY|PROCESS_RESULT_READY|TEST_PASS|TEST_FAIL|RECEIPT_FINALIZED|MANIFEST_SELF_EXTERNAL_HASH|NOT_RUN_UPSTREAM_STOP`。 ## 8. 物化真值表与失败收口 `M`=必须物化,`A`=必须 absent,`C`=按实际存在性报告。任何 safe-close 文件创建失败升级 `PACKAGE_STOP`,不得补造。 | terminal | I01-I07 | I08 | I09-I11 | I12 | I13 | I14 | I15 | |---|---|---|---|---|---|---|---| | SOURCE_PRECHECK_OR_CREATE_STOP | C | A | A | A | A | A | A | | VALIDATION_PRECHECK_STOP | M | A | A | A | A | A | A | | OUTER_START_STOP | M | A | A | A | A | A | A | | CSC_START_STOP | M | A | M | A | A | M | M | | CSC_EXIT_OR_TIMEOUT_STOP | M | C | M | A | A | M | M | | L0_STOP | M | M | M | M(TEST_FAIL) | A | M | M | | L1_STOP | M | M | M | M(TEST_PASS) | M(TEST_FAIL) | M | M | | RECEIPT_CREATE_STOP | M | M | M | M | M | A | A | | MANIFEST_CREATE_STOP | M | M | M | M | M | M | A | | PASS | M | M | M | M(TEST_PASS) | M(TEST_PASS) | M | M | SOURCE_PRECHECK_OR_CREATE_STOP/OUTER_START_STOP 由 native terminal 枚举实际,不允许为收口而再启动进程。`VALIDATION_PRECHECK_STOP` 发生在 I01-I07 已完成物化之后,故 I01-I07 必须存在且 I08-I15 必须 absent。CSC_START/EXIT、L0/L1 失败仅在 outer 仍确定存活且 I14/I15 CreateNew 可安全完成时生成失败包;否则按实际向量 `PACKAGE_STOP`,I14/I15 可 absent。未运行下游 target 物理 absent,在 materialized manifest 中记录 `NOT_RUN_UPSTREAM_STOP` 与固定 upstream code,不伪造零字节文件。 ## 9. no-overwrite 与 hash DAG - I01-I07 及 run root 在授权前必须全部不存在;I01-I07 只以 apply_patch Add File/CreateNew 等价语义创建,禁止覆盖。 - I08-I15 均 FileMode.CreateNew;任何既存、重解析点、路径逃逸或 hash 后修改 STOP/no-retry。 - DAG 唯一为:`V007 design/audit → I01-I07 → I08-I11 → I12 → I13 → freeze I01-I13 → I14 → I15 → external I15 bytes/hash`。 - I06 不引用当前实现 hash;I11 不引用 I14/I15;I12/I13 不引用 I14/I15;I14 排除 I14/I15;I15 self row bytes/hash=null。禁止其他环或外部补写。 - 旧 A001 T01-T04 永久不可变,T05-T10 不补造;本 run 不读取其正文,只在 native terminal 保留历史隔离声明。 ## 10. 验收与后续门禁 计划复审必须确认三项 blocker 均关闭。后续实现验收要求: - 15-target success 包或合同允许的唯一失败包可独立复算。 - public API、22 properties、wrapper/liveness、module entry 与调用参数完全匹配本版。 - 成功验证仅 2 个外部进程;harness/child/proof/config-editor/mysql/query/database 均 0。 - I12=8/8、I13=9/9、csc exit=0、I15 external hash 已回传。 - source/test/证据均在 `dev/ana-dev` 治理范围,全部 `NOT_BUSINESS_EVIDENCE`。 计划复审 PASS 后只允许向 management 申请 I01-I15 对应的单次实现物化/验证授权,不得直接执行。实现审核 PASS 后另行申请正式 synthetic 授权;真实 preflight 与业务仍需更后的独立链。 ## 11. STOP 与当前零执行事实 角色、路径、V007/audit、工具、API、argv、target、schema、状态矩阵、canonical bytes、DAG 或授权任一漂移;出现秘密、network、database、Git 修改、ana-data/tmp 可执行源码、正式 target、业务/BATCH;进程/child liveness/raw/sidecar 不确定;任何未列文件或进程——均 STOP/no-retry。 当前事实: - `implementation_source_materialization=false` - `test_materialization=false` - `dev/ana-dev_recursive_file_count=0` - `external_process_count=0` - `synthetic_selftest=false` - `database_execution=false` - `formal_target_count=0` - `BATCH-001=HELD` - `darkline_restored=false` 本 V002 是计划修订,不是源码、测试、synthetic、数据库或业务授权。