edit | blame | history | raw

CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V003

创建人员:dev.developer.ana.cai
创建时间:2026-07-24T19:56:00+08:00
事项 ID:DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-IMPLEMENTATION-20260724-001
计划 ID:DEV-PLAN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-IMPLEMENTATION-R2
当前状态:PENDING_INDEPENDENT_PLAN_REREVIEW
精确角色:dev.developer.ana.cai
独立审核:dev.reviewer.ana.cai
实现授权:NOT_ISSUED

1. 修订链与适用优先级

本文件是 append-only R2/V003。V001、V002 均保持不可变:

  • V001=13850 bytes / 20e452a7f5bce3ac2bc96105577d1f616bd15c06b8884543cedc2d61b5dd7a6f / review=HOLD/3/3
  • V002=21697 bytes / 858b880753a4c968e9004bf9d956e654e281b055322203bb8fa6ce7faac6bcce / AUDIT-DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-PLAN-V002=HOLD/3/3 / ana-doc/案例审计报告.md:759

V003 继承 V002 已核验关闭的 wrapper/liveness 分离、22-property、public API、工具元数据、双进程模型、V007ExpectedVectors 专业绑定与高层 DAG。与 V002 冲突处仅以本版为准:

  1. 增加唯一 assembly load/call/return/STOP 合同。
  2. 将 csc 直接正式输出改为 compiler staging → exclusive verify → CreateNew publish。
  3. 将 target universe 从 I01-I15 升级为 I01-I16,并用 primary terminal × closure state 冻结全部 PASS/FAIL schema、null/status/upstream 规则。

专业 V007 及审计 hash 继续沿用 V002,不在本版重复解释或修改。

2. Assembly identity、唯一加载和调用图

2.1 固定 identity

I01 C# source 必须包含:

  • [assembly:System.Reflection.AssemblyVersion("1.0.0.0")]
  • [assembly:System.Reflection.AssemblyFileVersion("1.0.0.0")]
  • assembly simple name=AnaSemi.NativeProcessRunnerV006
  • full name=AnaSemi.NativeProcessRunnerV006, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

namespace、六个 public type/method、22-property、Run/ValidateSingle/WriteCreateNew 签名逐字继承 V002。任何额外 public type、method、overload 或 identity 漂移为 STOP_ASSEMBLY_PUBLIC_API_DRIFT

2.2 唯一加载 API 与顺序

implementation validation 与未来 authorized synthetic harness 都只能按下列顺序加载 I09 published DLL:

  1. Path.GetFullPath(RunnerAssemblyPath),ordinal 等于已审核 I09 absolute path;拒绝 relative、UNC、alternate stream、reparse point 和 path escape。
  2. FileMode.Open,FileAccess.Read,FileShare.None 独占只读复开,计算 bytes/SHA-256 并等于 manifest/调用参数。
  3. AppDomain.CurrentDomain.GetAssemblies() 中使用 StringComparer.Ordinal 搜索 simple name;加载前 count 必须为 0,否则 STOP_ASSEMBLY_ALREADY_LOADED
  4. 恰好调用一次 [System.Reflection.Assembly]::LoadFile($resolvedAbsolutePath);禁止 Load、LoadFrom、LoadWithPartialName、Add-Type、反射字节加载或再次 LoadFile。
  5. 返回 assembly 非空后,FullName、Location、ModuleVersionId、target runtime、公开 type/method/property 集按顺序校验;Location 必须 ordinal 等于 I09 path。
  6. 再次枚举 AppDomain,simple name count 必须为 1 且引用相同 assembly;否则 STOP_ASSEMBLY_LOAD_CONFLICT
  7. 仅全部 PASS 后允许 dot-source I02/I04/I05 或读取任何 public member。

LoadFile 抛错/返回空=STOP_ASSEMBLY_LOAD_FAILED;identity/type/method/property 不符=STOP_ASSEMBLY_PUBLIC_API_DRIFT。失败后禁止第二次加载、回退 API 或启动下游。

2.3 模块调用图与输出

implementation validation 唯一调用图:

I07 top-level → precheck → csc once → verify I08 → CreateNew publish I09 → unique LoadFile I09 → dot-source I04 → Invoke-AnaSemiL0StaticValidationV001 → dot-source I05 → Invoke-AnaSemiL1ContractValidationV001 → I15 → I16 → exit

  • I04/I05 顶层只定义各自唯一函数;dot-source success pipeline object count 必须为 0,否则固定 STOP。
  • L0/L1 函数 success pipeline object count 必须为 0;唯一结果在 I13/I14 JCS。失败只抛出一个带固定 StopCode 的 terminating error;禁止 warning/verbose/information/success stream 输出。
  • I07 success pipeline/stdout/stderr 均为 0 bytes,成功 process exit=0;失败 exit 继续使用 V002 11..16,并在可能时生成闭合失败包。

future synthetic harness 唯一调用图:

I02 script top-level param → unique LoadFile I09 → dot-source definitions → Invoke-AnaSemiWrapperSelftestV006 → validate ST01-ST30 → script exit

I02 被 dot-source 时只定义函数且 pipeline count=0;被 -File 执行时调用函数恰好一次。Invoke-AnaSemiWrapperSelftestV006 success pipeline count=0、返回语义=void、唯一成功证据=ST30 external hash、caller exit=0。失败抛一个固定 StopCode;caller 只映射 71=AUTH/PRECHECK,72=ASSEMBLY/API,73=PROCESS/ENVELOPE,74=PACKAGE/NO_OVERWRITE,75=SECRET/NETWORK/DATABASE,不得 retry。

3. STOP 总枚举与触发

3.1 Load/module STOP

  • STOP_ASSEMBLY_PATH_OR_HASH_DRIFT:path、exclusive open、bytes/hash 不符。
  • STOP_ASSEMBLY_ALREADY_LOADED:LoadFile 前 simple-name count 非 0。
  • STOP_ASSEMBLY_LOAD_FAILED:唯一 LoadFile 抛错/空。
  • STOP_ASSEMBLY_LOAD_CONFLICT:加载后 count 非 1、Location/reference 不同。
  • STOP_ASSEMBLY_PUBLIC_API_DRIFT:identity、runtime、type/method/property/22-hash 不符。
  • STOP_MODULE_DOTSOURCE_OUTPUT_DRIFT:I02/I04/I05 dot-source pipeline count 非 0。
  • STOP_MODULE_SUCCESS_OUTPUT_DRIFT:L0/L1/harness success pipeline count 非 0。

3.2 L0 固定顺序与 STOP

8 checks 顺序不变;首个失败停止后续:

  1. SOURCE_CANONICAL → STOP_L0_SOURCE_CANONICAL_DRIFT
  2. CSC_EXIT → STOP_L0_CSC_OR_PUBLISH_DRIFT
  3. PUBLIC_API → STOP_ASSEMBLY_PUBLIC_API_DRIFT
  4. PROPERTY_22 → STOP_L0_PROPERTY_CONTRACT_DRIFT
  5. POWERSHELL_AST → STOP_L0_POWERSHELL_AST_DRIFT
  6. PROHIBITED_API → STOP_L0_PROHIBITED_API
  7. TOP_LEVEL_SIDE_EFFECT → STOP_L0_TOP_LEVEL_SIDE_EFFECT
  8. EXPECTED_VECTOR_BINDING → STOP_L0_EXPECTED_VECTOR_BINDING

3.3 L1 固定顺序与 STOP

  1. ARGV_QUOTING → STOP_L1_ARGV_QUOTING
  2. ARGV_FINGERPRINT → STOP_L1_ARGV_FINGERPRINT
  3. ENVELOPE_EXTRA → STOP_L1_ENVELOPE_EXTRA
  4. ENVELOPE_MISSING → STOP_L1_ENVELOPE_MISSING
  5. RESULT_STATE_MATRIX → STOP_L1_RESULT_STATE_MATRIX
  6. RAW_PREIMAGE → STOP_L1_RAW_PREIMAGE
  7. REAL_13_TARGET_CONTRACT → STOP_L1_REAL_13_TARGET_CONTRACT
  8. SYNTHETIC_30_TARGET_CONTRACT → STOP_L1_SYNTHETIC_30_TARGET_CONTRACT
  9. CREATE_NEW_DECISION → STOP_L1_CREATE_NEW_DECISION

I02 authorized synthetic 另外只允许专业 V007 STOP:STOP_AUTHORIZATION_MISSING_OR_DRIFT|STOP_PROCESS_RESULT_COUNT_TYPE_OR_PROPERTY_DRIFT|STOP_ACTUAL_CHILD_ARGV_ROUNDTRIP_MISMATCH|STOP_CHILD_LIVENESS_UNCERTAIN|STOP_RAW_FINALIZATION_UNCERTAIN|STOP_PROCESS_RESULT_SIDECAR_PERSIST_OR_VERIFY_FAILED|STOP_TARGET_ALREADY_EXISTS|STOP_SYNTHETIC_PAYLOAD_PREIMAGE_MISMATCH|STOP_PACKAGE_CONTRACT_DRIFT|STOP_SECRET_NETWORK_DATABASE_TOUCH。未知 StopCode 一律映射 STOP_UNKNOWN_CODE 并终止,不得吞掉或猜测。

4. csc staging → CreateNew publish

4.1 唯一编译与 argv hash

外层 PowerShell argv 保持 V002 15 tokens,canonical preimage 为:

UTF8("ANA-SEMI-ARGV-V001" + NUL + argv[0] + NUL + ... + argv[14]),无尾随 NUL;count=15、SHA-256=ac99c11e3446bfa4d35867f99818d7836db9c17571960b3b1bfc9474f05a5b64

csc argv 升级为以下 11 tokens,顺序固定:

  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\staging\AnaSemi.NativeProcessRunnerV006.dll
  11. E:\mb-ms-doc\project-info\dev\ana-dev\AnaSemi.NativeProcessRunnerV006.cs

同一 canonical 公式得到 count=11、SHA-256=2d898216b8f1bb95fbc716737915a43e47c57f4d48685da74b392a167dc024df。I12 必须记录完整 count/hash;不得保存拼接 shell command line。

4.2 staging 与 publish

  • run root 必须整体 absent,并由 I07 在授权后一次性新建;staging 目录在该新 root 内创建,禁止其他 writer。
  • I08=staging/AnaSemi.NativeProcessRunnerV006.dll 是唯一 COMPILER_OWNED_STAGING 例外:csc 可按自身 create/write 语义生成;它不是可加载或交付 assembly,不受“正式 publish 必须 CreateNew”声明覆盖。
  • csc 前 I08/I09 必须 absent。csc 后必须先等待 exit、关闭 stdout/stderr、以 exclusive read 复开 I08,校验 PE/.NET identity、bytes/hash;csc exit 非 0、timeout 或 I08 无效时禁止 publish。
  • I09=build/AnaSemi.NativeProcessRunnerV006.dll 是唯一可加载 assembly。发布使用 new FileStream(I09,FileMode.CreateNew,FileAccess.Write,FileShare.None),从 exclusive-read I08 顺序复制、Flush(true)、Dispose,再以 exclusive-read I09 重算 bytes/hash并必须等于 I08。
  • I09 已存在、copy/flush/dispose/reopen/hash 任一失败=STOP_BUILD_PUBLISH_CREATE_NEW_OR_VERIFY_FAILED;I09 可为 partial,绝不删除/覆盖/重试,按实际 bytes/hash 收口。

5. V003 完整 I01-I16 universe

I01-I07 与 V002 相同。V003 从 I08 起完全取代 V002 编号:

ID role path schema success status
I01 WRAPPER_SOURCE dev/ana-dev/AnaSemi.NativeProcessRunnerV006.cs ANA-SEMI-NATIVE-WRAPPER-CS-V001 SOURCE_FROZEN
I02 HARNESS_SOURCE dev/ana-dev/Invoke-AnaSemiWrapperSelftestV006.ps1 ANA-SEMI-WRAPPER-HARNESS-PS1-V001 SOURCE_FROZEN
I03 CHILD_SOURCE dev/ana-dev/synthetic-child.ps1 ANA-SEMI-SYNTHETIC-CHILD-PS1-V001 SOURCE_FROZEN
I04 L0_TEST_SOURCE dev/ana-dev/test/Test-AnaSemiNativeProcessRunnerV006.Static.ps1 ANA-SEMI-L0-VALIDATOR-PS1-V001 SOURCE_FROZEN
I05 L1_TEST_SOURCE dev/ana-dev/test/Test-InvokeAnaSemiWrapperSelftestV006.Static.ps1 ANA-SEMI-L1-VALIDATOR-PS1-V001 SOURCE_FROZEN
I06 EXPECTED_VECTORS dev/ana-dev/test/V007ExpectedVectors.json ANA-SEMI-V007-EXPECTED-VECTORS-JCS-V001 SOURCE_FROZEN
I07 VALIDATION_ENTRY dev/ana-dev/test/Invoke-AnaSemiImplementationValidationV001.ps1 ANA-SEMI-IMPLEMENTATION-VALIDATION-PS1-V001 SOURCE_FROZEN
I08 COMPILER_STAGING staging/AnaSemi.NativeProcessRunnerV006.dll PE-DOTNET48-STAGING-V001 COMPILER_STAGING_READY
I09 PUBLISHED_ASSEMBLY build/AnaSemi.NativeProcessRunnerV006.dll PE-DOTNET48-V001 BUILD_PUBLISHED
I10 CSC_STDOUT process/csc.stdout.bin RAW-BYTES-V001 RAW_CAPTURED
I11 CSC_STDERR process/csc.stderr.bin RAW-BYTES-V001 RAW_CAPTURED
I12 CSC_PROCESS_RESULT process/csc.result.json ANA-SEMI-IMPLEMENTATION-PROCESS-RESULT-JCS-V002 PROCESS_RESULT_PASS
I13 L0_RESULT test/l0-static.json ANA-SEMI-IMPLEMENTATION-L0-JCS-V002 TEST_PASS
I14 L1_RESULT test/l1-contract.json ANA-SEMI-IMPLEMENTATION-L1-JCS-V002 TEST_PASS
I15 IMPLEMENTATION_RECEIPT receipt/implementation-receipt.md ANA-SEMI-IMPLEMENTATION-RECEIPT-MD-V002 RECEIPT_FINALIZED
I16 IMPLEMENTATION_MANIFEST manifest/implementation-source-manifest.csv ANA-SEMI-IMPLEMENTATION-MANIFEST-CSV-V002 MANIFEST_SELF_EXTERNAL_HASH

Canonical encodings 继承 V002。成功包恰好 16 项;I08 保留为审计证据,不删除。

6. I12 完整 JCS 与 null matrix

I12 keys 恰好 27 个: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,staging_path,staging_bytes,staging_sha256,publish_path,publish_bytes,publish_sha256,status,stop_code,child_liveness

类型:bytes/count/id 为 UINT64/UINT16/UINT32;exit=INT32;时间 RFC3339;hash HEX64;BOOL 原生;path/string 非空。status 总枚举=PASS|PROCESS_START_FAILED|TIMED_OUT|NONZERO_EXIT|OUTPUT_INVALID|PUBLISH_FAILED;child_liveness=EXITED|NOT_STARTED;stop_code 在 PASS 必须 null,失败必须为对应固定 STOP。

status started/pid/start finish/exit timed_out/liveness raw metadata staging publish
PASS TRUE/non-null/non-null non-null/0 FALSE/EXITED non-null non-null non-null且hash=staging
PROCESS_START_FAILED FALSE/null/null non-null/null FALSE/NOT_STARTED non-null,均 0/empty hash all null all null
TIMED_OUT TRUE/non-null/non-null non-null/INT32或null TRUE/EXITED;若无法确认退出则不构造 I12 non-null 三元组同空同非空 all null
NONZERO_EXIT TRUE/non-null/non-null non-null/非0 FALSE/EXITED non-null 三元组同空同非空 all null
OUTPUT_INVALID TRUE/non-null/non-null non-null/0 FALSE/EXITED non-null non-null all null
PUBLISH_FAILED TRUE/non-null/non-null non-null/0 FALSE/EXITED non-null non-null 三元组同空同非空,partial 可非空

I12 process 未能确认 child exit/raw close 时不得物化,直接 native PACKAGE_UNCLOSED_STOP。I12 argv preimage/hash只能使用第 4.1 节公式和值。

7. I13/I14 完整 PASS/FAIL JCS

7.1 公共 shape

I13/I14 top-level keys 恰好:schema_id,run_id,source_hashes,toolchain,assembly,checks,check_count,pass_count,fail_count,not_run_count,external_process_count,network_count,database_count,credential_count,status,terminal_stop_code

  • source_hashes:恰好 I01-I07 七 key/HEX64。
  • toolchain:恰好 powershell,csc 两 object;各自 keys=path,bytes,sha256,version,类型 STRING/UINT64/HEX64/STRING。
  • assembly:keys 恰好 staging_path,staging_bytes,staging_sha256,published_path,published_bytes,published_sha256,full_name,public_api_sha256;无 null,published hash=staging hash。
  • checks:固定顺序 array;每项 keys 恰好 check_id,expected,actual,result,stop_code,expected/actual 为 STRING,result=PASS|FAIL|NOT_RUN。PASS 时 stop_code=null;首个 FAIL 使用第 3 节对应 STOP;其后均 result=NOT_RUN、actual=NOT_RUN_UPSTREAM_STOP、stop_code=STOP_UPSTREAM_NOT_RUN
  • counts 为 UINT16 且三数之和=check_count;status=PASS|FAIL。PASS 时 terminal_stop_code=null;FAIL 时等于首个 FAIL stop_code。

public_api_sha256 的唯一 preimage 为 UTF-8:domain ANA-SEMI-PUBLIC-API-V003、assembly full name、V002 第 3.1 节六个 public type/method signature、V002 第 3.2 节 22 个 property:CLR-type,按文档顺序以单个 NUL 分隔、无尾随 NUL;禁止 reflection 默认排序、locale 或额外 member。实现落盘后才计算 actual HEX64,并由 L0 与独立 reviewer 复算。

I13 check_count=8;成功 8/0/0,external_process_count=1(csc 已由同一 outer 启动),其他 0。I14 check_count=9;成功 9/0/0,external_process_count=0,其他 0。失败文件仍完整包含全部 check objects,禁止省略或用 null 替代 NOT_RUN。

7.2 固定执行与 trigger

I13/I14 的 check 顺序、STOP 与触发逐项等于第 3.2/3.3 节。I13 在 unique LoadFile/API 校验后写;I14 复用已加载的同一 assembly reference,禁止再次 LoadFile。任何 JCS CreateNew/write/reopen/hash 失败升级 PACKAGE_UNCLOSED_STOP,不得声称 TEST_FAIL 已闭合。

8. Primary terminal × closure state 总模型

8.1 Primary vector(I01-I14)

M(status)=materialized;A(upstream)=absent/NOT_RUN;C(status)=按实际存在并记录。I01-I07 在 outer 启动前已经成功物化,故下列内部 primary 全部为 M(SOURCE_FROZEN)。

primary I08 I09 I10-I11 I12 I13 I14 stop_code
CSC_START_STOP A A M(RAW_CAPTURED) M(PROCESS_RESULT_FAIL) A A STOP_CSC_PROCESS_START_FAILED
CSC_TIMEOUT_STOP C(COMPILER_STAGING_PARTIAL) A M(RAW_CAPTURED) M(PROCESS_RESULT_FAIL) A A STOP_CSC_TIMEOUT
CSC_NONZERO_STOP C(COMPILER_STAGING_PARTIAL) A M(RAW_CAPTURED) M(PROCESS_RESULT_FAIL) A A STOP_CSC_NONZERO_EXIT
CSC_OUTPUT_INVALID_STOP M(COMPILER_STAGING_INVALID) A M(RAW_CAPTURED) M(PROCESS_RESULT_FAIL) A A STOP_CSC_OUTPUT_INVALID
PUBLISH_STOP M(COMPILER_STAGING_READY) C(BUILD_PUBLISH_PARTIAL) M(RAW_CAPTURED) M(PROCESS_RESULT_FAIL) A A STOP_BUILD_PUBLISH_CREATE_NEW_OR_VERIFY_FAILED
L0_STOP M(COMPILER_STAGING_READY) M(BUILD_PUBLISHED) M(RAW_CAPTURED) M(PROCESS_RESULT_PASS) M(TEST_FAIL) A I13 terminal_stop_code
L1_STOP M(COMPILER_STAGING_READY) M(BUILD_PUBLISHED) M(RAW_CAPTURED) M(PROCESS_RESULT_PASS) M(TEST_PASS) M(TEST_FAIL) I14 terminal_stop_code
PASS M(COMPILER_STAGING_READY) M(BUILD_PUBLISHED) M(RAW_CAPTURED) M(PROCESS_RESULT_PASS) M(TEST_PASS) M(TEST_PASS) null

外部 SOURCE_PRECHECK_OR_CREATE_STOP|VALIDATION_PRECHECK_STOP|OUTER_START_STOP|PACKAGE_UNCLOSED_STOP 不构造 manifest;native terminal 逐 I01-I16 报实际 vector,不启动收口进程。

8.2 Closure state(I15-I16)

每个内部 primary 只允许一个 closure:

closure I15 I16 rule
CLOSED M(RECEIPT_FINALIZED) M(MANIFEST_SELF_EXTERNAL_HASH) primary vector 安全冻结
RECEIPT_CREATE_STOP A A native 报 I01-I14;不得再试
MANIFEST_CREATE_STOP M(RECEIPT_FINALIZED) A native 报 I01-I15;不得再试

I15 在失败 primary 中记录 primary/stop/实际 vector,upstream_stop_code=primary stop;PASS 时为 null。I16 仅 CLOSED 时存在,16 行完整记录 primary vector。

8.3 Manifest 行级 null/status 规则

I16 仍使用 V002 14 列,恰好 16 行 I01→I16:

  • materialized=true ⇒ exists=true、bytes/sha256/created_at 非空;唯一例外 I16 self bytes/sha256=null。
  • materialized=false ⇒ exists=false、bytes/sha256/created_at=null、status=NOT_RUN_UPSTREAM_STOP、upstream_stop_code=primary stop。
  • materialized 成功状态(SOURCE_FROZEN、COMPILER_STAGING_READY、BUILD_PUBLISHED、PROCESS_RESULT_PASS、TEST_PASS)在 primary PASS 或后续失败中均 upstream=null,因为该 target 自身成功。
  • materialized failure/partial 状态(COMPILER_STAGING_PARTIAL、COMPILER_STAGING_INVALID、BUILD_PUBLISH_PARTIAL、PROCESS_RESULT_FAIL、TEST_FAIL)必须 upstream=primary stop。
  • I10/I11 RAW_CAPTURED 在 csc failure 时 upstream=primary stop,在 L0/L1/PASS 时 null。
  • I15/I16 在失败 primary 的 CLOSED 包中 upstream=primary stop;PASS 中 null。

status 总枚举恰好:SOURCE_FROZEN|COMPILER_STAGING_READY|COMPILER_STAGING_PARTIAL|COMPILER_STAGING_INVALID|BUILD_PUBLISHED|BUILD_PUBLISH_PARTIAL|RAW_CAPTURED|PROCESS_RESULT_PASS|PROCESS_RESULT_FAIL|TEST_PASS|TEST_FAIL|RECEIPT_FINALIZED|MANIFEST_SELF_EXTERNAL_HASH|NOT_RUN_UPSTREAM_STOP

9. Hash DAG、自排除与外部返回

DAG 唯一为:V007 design/audit → I01-I07 → csc/I08/I10/I11 → exclusive publish I09 → I12 → unique LoadFile → I13 → I14 → freeze I01-I14 → I15 → I16 → external I16 bytes/hash

  • I06 不引用当前实现 hash;I12 不引用 I15/I16;I13/I14 不引用 I15/I16。
  • I15 记录 I01-I14 hash,排除 I15/I16 hash。
  • I16 记录 I01-I15;I16 self bytes/hash=null。
  • outer native terminal 必须返回 outer argv count/hash、csc argv count/hash、process counts、primary/closure、I01-I16 actual vector、I16 external bytes/hash(若存在)。独立 audit 再记录 I16 external hash;禁止回写。

10. 当前边界与复审目标

当前仍为零源码、零测试、零 run root、零 compiler/harness/child/database。计划复审仅判断:

  1. BLOCK-DEV-PLAN-01 的 load/call/return/exit/STOP 是否关闭。
  2. BLOCK-DEV-PLAN-02 的 compiler staging→CreateNew publish 是否关闭。
  3. BLOCK-DEV-PLAN-03 的 argv preimage、JCS PASS/FAIL、primary×closure、行级 null/status/DAG 是否关闭。

复审 PASS 后只允许申请 I01-I16 的单次实现物化/验证授权;不自动执行。Git 继续 INFORMATIONAL_NON_BLOCKING_BY_HUMAN_OVERRIDE;旧 A001、ana-data/tmp、YAML/.mbx/binding/session、真实 proof/数据库/业务/BATCH-001 均保持禁止或 HELD;root 永不因本计划成为 READONLY_PROVEN