# CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V022 - plan_id: `CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V022` - role_instance_id: `dev.developer.ana.cai` - created_at: `2026-07-26T19:13:59.9078142+08:00` - predecessor: `CODE-DESIGN-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-V021` / `14491/f58cf05e58a9d098c539e18da4f9155557c0d0340f11406907da48674dcd3630` - predecessor_review: `AUDIT-DEV-ANA-SEMI-ROOT-PREFLIGHT-ORCHESTRATION-V007-PYTHON-STAGE-P-REPAIR-PLAN-V021=HOLD/5/4` / `217531/d036ea3ede335ddff82d83886867bc6dbaad625efac4201081a16d5b9dd8c31c` / line `1743` - status: `PENDING_INDEPENDENT_PYTHON_ARCHITECTURE_REPAIR_PLAN_REREVIEW` - implementation_authorization: `NOT_ISSUED` - database_execution_authorization: `NOT_ISSUED` V022 只修复 V021 四个 blocking findings,并关闭一个目录登记问题。V021、V020、V007 与历史失败包均保持 append-only 不变。 ## 1. 对外兼容矩阵(关闭 BLOCK-V021-01) ### 1.1 消费者与兼容结论 | consumer | V020 可观察合同 | V022 处理 | compatibility | |---|---|---|---| | case-analysis V007 | implementation gate 的 PASS/STOP、零数据库、root never readonly、BATCH-001 HELD | 值域与判定不变 | exact | | management authorization | run/authorization/attempt、target paths、process counts、time window、STOP/no-retry | 每条新链本来就动态绑定;仅 runtime/paths 更新 | exact-by-new-binding | | dev reviewer | API 结果、test totals、artifact rows、native closure、bytes/hash | wire schema/field/status/state 均保持;实现语言字段另行附加 | backward compatible | | future root preflight | confirmed-zero、time-window、single invocation、native byte capture 可用性 | 同名字段、同状态语义;不消费 PowerShell CLR 名称 | exact | | database/auth layer | 不从 Stage P 读取密码;只在独立授权后使用 named login-path | 不变 | exact | 因此无需修改 case-analysis 专业设计。V022 不改变任何 formal case target、SQL、业务结论或数据库权限;它只替换开发实现证据的内部 runtime。 ### 1.2 API 字段映射 四个 API 的外部 `api_id/schema_id/property order/status/stop_code` 继承 V020;Python wire object 使用 JSON,不删除、不重命名、不重排字段。 | API | V020 fields(ordinal) | Python value mapping | |---|---|---| | CONVERT | `authorized_at_raw,authorized_at_utc_ticks,expires_at_raw,expires_at_utc_ticks,schema_id,status,stop_code` | string/int/string/int/string/string/null-or-string | | TEST | `authorized_at_utc_ticks,expires_at_utc_ticks,inside_window,now_utc_ticks,schema_id,status,stop_code` | int/int/bool/int/string/string/null-or-string | | SELECTOR | `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` | bool/int/int/list[int]/int/int/string/int/string/null-or-string/null-or-list[string]/int | | INVOKE | V020 authoritative 22-name vector/hash=`403/4c3f8d873a6be20c0e449c6c6d1f196204ec8c3dfa399e3a5ee0e19f5fa153a2` | exact same names/order; CLR evidence becomes non-authoritative `runtime_type_evidence` adjunct | `runtime_type_evidence` 是 test evidence 的新增旁路字段,不进入上述 API wire object,也不被 V007/management/root preflight 消费。V020 的 `System.UInt32[]/System.String[]` 验证只属于旧 PowerShell implementation test;Python 等价验证为 `list[int]/list[str]`,wire JSON 仍是相同 array number/string。 ### 1.3 状态兼容 - V020 `functional_case_total=30`、provider precedence=`4`、API negative=`8`、selector=`15` 保持。 - V020 native `state_id=C00-C40`、state count=`41`、timeout-known=`18` 保持。 - `C00-C40` 的 top-level `status,stop_code,final_exit_code,prepackage_terminal_state,package_closure_state` 值逐项不变。 - artifact 映射为纯重命名:`P01..P08 -> Y01..Y08`;每个 state 的八行 A/I/N/U/V tuple、upstream stop、external manifest nullability 均不变。 - 变换函数唯一为 `T(state)=V020_state.replace_target_id(Pnn,Ynn).replace_run_id(future_run).replace_plan_id(V022)`;除此之外任何字段差异为 `STOP_COMPATIBILITY_DRIFT/27`。 ## 2. bootstrap、loader 与 Windows 原子 I/O(关闭 BLOCK-V021-02) ### 2.1 exact bootstrap 以下 marker 之间、UTF-8、无 BOM/CR、含最后一行 LF 的字节是唯一 executable bootstrap preimage。其 bytes/hash 与 base64 在本文件结尾“固定向量”登记;不得由 management 临时改写。 ```python import ast,base64,hashlib,json,os,pathlib,runpy,sys SCHEMA="ANA-SEMI-PYTHON-SOURCE-BUNDLE-JCS-V002" ROOT=pathlib.Path(r"E:\mb-ms-doc\project-info").resolve() ALLOW={ "Y01":pathlib.Path("dev/ana-dev/ana_semi_preconsumption_v002.py"), "Y02":pathlib.Path("dev/ana-dev/test/test_ana_semi_preconsumption_v002.py"), "Y03":pathlib.Path("dev/ana-dev/test/ana_semi_preconsumption_vectors_v002.json"), "Y04":pathlib.Path("dev/ana-dev/test/run_ana_semi_preconsumption_validation_v002.py")} def die(code,msg): sys.stderr.buffer.write((msg+"\n").encode("utf-8"));raise SystemExit(code) def canonical(obj): return json.dumps(obj,ensure_ascii=False,allow_nan=False,sort_keys=True,separators=(",",":")).encode("utf-8") def validate_py(data,name): if data[:3]==b"\xef\xbb\xbf" or b"\r" in data or b"\x00" in data: die(11,"SOURCE_BYTES_INVALID:"+name) try: text=data.decode("utf-8",errors="strict");tree=ast.parse(text,filename=name,mode="exec") except Exception as e: die(11,"SOURCE_AST_INVALID:"+name+":"+type(e).__name__) denied_imports={"subprocess","socket","urllib","http","requests","pymysql","mysql","sqlalchemy"} for n in ast.walk(tree): if isinstance(n,(ast.Import,ast.ImportFrom)): names=[a.name.split(".")[0] for a in n.names] if isinstance(n,ast.Import) else [(n.module or "").split(".")[0]] if any(x in denied_imports for x in names): die(11,"SOURCE_IMPORT_DENIED:"+name) if isinstance(n,ast.Call) and isinstance(n.func,ast.Name) and n.func.id in {"eval","exec","compile","__import__"}: die(11,"SOURCE_CALL_DENIED:"+name) def create_new_verified(path,data): import ctypes from ctypes import wintypes k=ctypes.WinDLL("kernel32",use_last_error=True) CreateFileW=k.CreateFileW;CreateFileW.argtypes=[wintypes.LPCWSTR,wintypes.DWORD,wintypes.DWORD,wintypes.LPVOID,wintypes.DWORD,wintypes.DWORD,wintypes.HANDLE];CreateFileW.restype=wintypes.HANDLE WriteFile=k.WriteFile;WriteFile.argtypes=[wintypes.HANDLE,wintypes.LPCVOID,wintypes.DWORD,ctypes.POINTER(wintypes.DWORD),wintypes.LPVOID] ReadFile=k.ReadFile;ReadFile.argtypes=[wintypes.HANDLE,wintypes.LPVOID,wintypes.DWORD,ctypes.POINTER(wintypes.DWORD),wintypes.LPVOID] FlushFileBuffers=k.FlushFileBuffers;CloseHandle=k.CloseHandle GENERIC_READ=0x80000000;GENERIC_WRITE=0x40000000;CREATE_NEW=1;OPEN_EXISTING=3;FILE_ATTRIBUTE_NORMAL=0x80;FILE_FLAG_WRITE_THROUGH=0x80000000 p=str(path);h=CreateFileW(p,GENERIC_WRITE,0,None,CREATE_NEW,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_WRITE_THROUGH,None) if h==wintypes.HANDLE(-1).value: die(11,"CREATE_NEW_FAILED:"+p) try: off=0 while off4194304 or raw[:3]==b"\xef\xbb\xbf" or b"\r" in raw or b"\x00" in raw or raw.endswith(b"\n"): die(11,"BUNDLE_BYTES_INVALID") try: bundle=json.loads(raw.decode("utf-8",errors="strict")) except Exception as e: die(11,"BUNDLE_JSON_INVALID:"+type(e).__name__) if canonical(bundle)!=raw or bundle.get("schema_id")!=SCHEMA: die(11,"BUNDLE_CANONICAL_DRIFT") items=bundle.get("targets") if not isinstance(items,list) or [x.get("artifact_id") for x in items]!=["Y01","Y02","Y03","Y04"]: die(11,"BUNDLE_TARGET_ORDER_DRIFT") decoded={} for x in items: aid=x["artifact_id"];rel=pathlib.Path(x["relative_path"]) if rel!=ALLOW[aid] or rel.is_absolute() or ".." in rel.parts: die(11,"BUNDLE_PATH_DRIFT:"+aid) try: data=base64.b64decode(x["content_base64"],validate=True) except Exception: die(11,"BUNDLE_BASE64_INVALID:"+aid) if len(data)!=x["bytes"] or hashlib.sha256(data).hexdigest()!=x["sha256"]: die(11,"BUNDLE_HASH_DRIFT:"+aid) if aid in {"Y01","Y02","Y04"}: validate_py(data,aid) else: try: obj=json.loads(data.decode("utf-8",errors="strict")) except Exception as e: die(11,"Y03_JSON_INVALID:"+type(e).__name__) if canonical(obj)!=data: die(11,"Y03_CANONICAL_DRIFT") decoded[aid]=data if ROOT!=pathlib.Path.cwd().resolve(): die(11,"CWD_DRIFT") for aid in ["Y01","Y02","Y03","Y04"]: path=(ROOT/ALLOW[aid]).resolve() if ROOT not in path.parents: die(11,"PATH_ESCAPE:"+aid) create_new_verified(path,decoded[aid]) ns=runpy.run_path(str((ROOT/ALLOW["Y04"]).resolve()),run_name="__ana_semi_stage_p__") main=ns.get("main") if not callable(main): die(11,"Y04_MAIN_MISSING") rc=main(str(ROOT),bundle["run_id"],str((ROOT/pathlib.Path(bundle["output_relative_path"])).resolve())) if type(rc) is not int: die(27,"Y04_RETURN_TYPE_DRIFT") raise SystemExit(rc) ``` 固定 API 只允许 `ast/base64/hashlib/json/os/pathlib/runpy/sys/ctypes`。bootstrap 自身只允许一次 `runpy.run_path(Y04)`;Y01/Y02/Y04 AST 禁止 `eval/exec/compile/__import__` 与所有外部进程、网络和 database import。 ### 2.2 exact argv、stdin 与 loader lifecycle - argv tokens 固定为 5 项:`python.exe,-I,-B,-c,`。 - `` 唯一形式:`import base64;exec(compile(base64.b64decode(''),'','exec'))`。 - exact `Arguments`、Win32 `CommandLine`、token preimage/hash 在“固定向量”中登记;管理只能复算,不能生成新值。 - stdin writer 只写一次 canonical bundle,必须先写满全部 bytes、flush、close;child 只 `read(4194305)` 一次到 EOF;stdout/stderr 是分离的内存 byte stream;任何 short write、父端 pipe 异常、child read >4MiB、EOF 不确定均 STOP/27。 - module graph:bootstrap → exactly one `runpy.run_path(Y04,run_name='__ana_semi_stage_p__')` → Y04 通过 exact `importlib.util.spec_from_file_location` 各加载 Y01/Y02 一次 → `Y04.main` 一次。Y03 只作为 bytes/JSON 读取,不加载。 - `sys.modules` keys 固定为 `ana_semi_preconsumption_v002` 与 `test_ana_semi_preconsumption_v002`;加载前必须 absent,加载后 identity/path/hash 必须匹配;禁止 reload、第二 spec、第二 main、第二 provider 调用。 ### 2.3 Windows 原子 I/O bootstrap/Y01 共用唯一 writer primitive,直接调用 Win32: - create:`CreateFileW(GENERIC_WRITE,share=0,CREATE_NEW,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_WRITE_THROUGH)`; - write:`WriteFile` 循环,逐次 `written==chunk_length`; - durable:`FlushFileBuffers`; - close:`CloseHandle`; - verify:`CreateFileW(GENERIC_READ,share=0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL)` → `ReadFile` 到 EOF → `CloseHandle` → bytes/hash equal。 每个 API 的 false/invalid handle/close uncertainty 都映射 27;不得以 Python `open('w')`、`Path.write_text`、rename、replace、temp file 或非排他 reopen 替代。run root 下 `test/receipt/manifest` 目录必须由 `CreateDirectoryW` 逐层创建;future run 预存在或 `ERROR_ALREADY_EXISTS` 为 STOP,已存在的 `dev/ana-dev`、`test`、`tmp` 只读验证不创建。 ## 3. process snapshot provider(关闭 BLOCK-V021-03) 唯一 provider 为 `WIN32_TOOLHELP_PROCESS_SNAPSHOT_V001`,由 Y01 在当前 Python 进程内调用一次: 1. `CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0)`; 2. `Process32FirstW/Process32NextW` 枚举 `pid,parent_pid,exe_name`; 3. 对每个相关候选以 `OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION,False,pid)` + `QueryFullProcessImageNameW` 获取 `exe_path`; 4. 立即 `CloseHandle`;snapshot handle 也必须关闭。 相关候选 image basename 固定为:`python.exe,powershell.exe,pwsh.exe,csc.exe,mysql.exe,mysql_config_editor.exe,node.exe`(ordinal case-insensitive basename),但 exact matching 使用规范化绝对 image path;source PID 先排除,PID 去重后排序。 provider schema `ANA-SEMI-WIN32-PROCESS-SNAPSHOT-JCS-V001`: `schema_id,provider_id,as_of_utc,source_pid,call_count,rows,status,stop_code` row ordered keys:`exe_name,exe_path,exe_path_status,parent_pid,pid`;types=`string,string|null,KNOWN|ACCESS_DENIED|EXITED_DURING_QUERY|ERROR,uint32,uint32`。rows 按 pid 升序;canonical JSON 为 UTF-8 no BOM/CR/NUL/trailing LF;运行时记录 bytes/SHA-256 到 Y06。 - `call_count` 必须恰好 1;第二调用直接 `STOP_PROVIDER_REENTRANT/27`,不打开 snapshot。 - `as_of_utc` 由同一 owner clock 在 snapshot 返回后立即读取一次;从 snapshot handle 创建到 as_of 不得超过 1000ms,否则 stale STOP。 - 任一相关候选 exe_path 非 KNOWN、PID duplicate、handle/iteration/close error 为 unknown/27;不得解释为 zero。 - `confirmed_zero=true` 仅当相关 rows 排除 source 后为 0、unknown_relevant_count=0、duplicate=0。 - no-self-match 仅以 `pid==os.getpid()` 排除;不使用 substring、当前 command line 或名称近似证明自身。 ## 4. package schema 与总矩阵(关闭 BLOCK-V021-04) ### 4.1 Y03/Y05/Y06 Y03 schema=`ANA-SEMI-PRECONSUMPTION-VECTORS-JCS-PY-V001`,top-level ordered keys: `api_contracts,compatibility,state_contracts,target_contracts,test_cases,version` - `api_contracts` 固定四行 CONVERT/TEST/SELECTOR/INVOKE,每行 `api_id,field_names,field_rules,schema_id`;顺序固定。 - `test_cases` 固定 `30 functional + 4 provider precedence + 8 api negative + 15 selector + 9 source/JCS/AST regression = 66`;每行 `case_id,expected_status,expected_stop_code,input,group`。 - `state_contracts` 固定 41 行 C00-C40,每行包含 `state_id,status,stop_code,final_exit_code,prepackage_terminal_state,package_closure_state,artifact_state_vector,external_manifest_rule`。 - `target_contracts` 固定八行 Y01-Y08 与 path/media_type/schema/expected_presence。 Y05 schema=`ANA-SEMI-PRECONSUMPTION-STATIC-RESULT-JCS-PY-V001`,ordered keys: `case_results,case_total,failed_case_ids,passed_case_count,schema_id,status,stop_code` 仅包含 9 source/JCS/AST regression;case_total=9。PASS 时 failed=[]、passed=9、status=TEST_PASS、stop=null。 Y06 schema=`ANA-SEMI-PRECONSUMPTION-CONTRACT-RESULT-JCS-PY-V001`,ordered keys: `api_negative_results,api_results,functional_results,process_snapshot,provider_precedence_results,schema_id,selector_results,status,stop_code,summary` summary ordered keys:`api_negative_total,functional_case_total,provider_precedence_total,selector_total,total_failed,total_passed`,固定 totals=`8,30,4,15`。process_snapshot 使用第 3 节 schema、call_count=1、bytes/hash 非 null。 Y03/Y05/Y06 均 strict JCS:UTF-8、no BOM/CR/NUL/trailing LF,`sort_keys=True,separators=(',',':'),ensure_ascii=False,allow_nan=False`。所有动态数组按已冻结 ordinal 排序。 ### 4.2 Y07 literals Y07 schema=`ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-PY-V001`,UTF-8 no BOM/CR/NUL,恰好一个 final LF。唯一模板字段顺序: `receipt_schema_id,run_id,plan_id,as_of_artifact_id,prepackage_status,prepackage_stop_code,Y05_status,Y06_status,python_process_count,prohibited_process_count,network_access,credential_access,database_connection_performed` PASS literal 的后三个 bool 固定 false,process=`1/0`,as_of=`Y06`,status=`PASS/null`,Y05/Y06=`TEST_PASS/TEST_PASS`。STATIC 与 CONTRACT literal 分别为 `TEST_FAIL/STATIC_TEST_FAILED/Y05=TEST_FAIL/Y06=NOT_RUN_UPSTREAM_STOP`、`TEST_FAIL/CONTRACT_TEST_FAILED/Y05=TEST_PASS/Y06=TEST_FAIL`。完整 bytes/hash 必须在 implementation source bundle 送审时冻结;模板外任何字段或顺序差异 STOP。 ### 4.3 Y08 exact rows CSV columns 固定为: `artifact_id,relative_path,artifact_role,media_type,schema_id,expected_presence,materialized,exists,status,bytes,sha256,upstream_stop_code` 固定八行: | id | role | media | schema | expected_presence | |---|---|---|---|---| | Y01 | SOURCE | text/x-python | ANA-SEMI-PY-MODULE-V001 | REQUIRED_ON_SOURCE_STAGE | | Y02 | TEST_SOURCE | text/x-python | ANA-SEMI-PY-TEST-V001 | REQUIRED_ON_SOURCE_STAGE | | Y03 | VECTOR | application/json | ANA-SEMI-PRECONSUMPTION-VECTORS-JCS-PY-V001 | REQUIRED_ON_SOURCE_STAGE | | Y04 | ENTRY_SOURCE | text/x-python | ANA-SEMI-PY-ENTRY-V001 | REQUIRED_ON_SOURCE_STAGE | | Y05 | STATIC_RESULT | application/json | ANA-SEMI-PRECONSUMPTION-STATIC-RESULT-JCS-PY-V001 | CONDITIONAL_ON_STATIC_STAGE | | Y06 | CONTRACT_RESULT | application/json | ANA-SEMI-PRECONSUMPTION-CONTRACT-RESULT-JCS-PY-V001 | CONDITIONAL_ON_CONTRACT_STAGE | | Y07 | RECEIPT | text/markdown | ANA-SEMI-PRECONSUMPTION-RECEIPT-MD-PY-V001 | CONDITIONAL_ON_PREPACKAGE_VALID | | Y08 | MANIFEST | text/csv | ANA-SEMI-PRECONSUMPTION-MANIFEST-CSV-PY-V001 | SELF_CONDITIONAL_ON_RECEIPT_VALID | Y08 RFC4180 CRLF + final CRLF;Y08 self row materialized/exists=true 时 bytes/hash 必须为空;external Y08 bytes/hash 只进入 native terminal/audit。 ### 4.4 materialization and native closure 每个 state 的 artifact_state_vector 是 8 字符,alphabet=`N,A,I,V,U`: - N=`false,false,NOT_RUN_UPSTREAM_STOP,null,null,upstream stop` - A=`false,false,ATTEMPTED_NO_OUTPUT,null,null,current writer stop` - I=`true,true,MATERIALIZED_INVALID_KNOWN,non-null,non-null,current validation stop` - V=`true,true,MATERIALIZED_VALID,non-null,non-null,null` - U=`null,null,STATE_UNCERTAIN,null,null,uncertainty stop` V022 权威映射等于 V020 C00-C40 的 41 个向量经 P→Y 变换;实现必须从 Y03 中读取 41 行并逐行验证,没有 default/fallback state。任何实况不命中唯一 state 为 `STOP_NATIVE_STATE_UNMAPPED/27`。 native schema=`ANA-SEMI-PRECONSUMPTION-NATIVE-FINAL-PY-V001`,ordered keys: `artifact_rows,attempt_id,authorization_id,credential_access,database_connection_performed,external_manifest_bytes,external_manifest_sha256,final_exit_code,finished_at,network_access,package_closure_state,prepackage_terminal_state,prohibited_process_count,python_process_count,run_id,schema_id,started_at,state_id,status,stop_code` cross-field:PASS 只能 `C00/exit0/stop=null/CLOSED`;unknown 只能 V020 C10 对应 state/exit27;timeout-known 只能 18 个继承 states/exit24;receipt/manifest failure 维持 25/26,package uncertainty 27 优先。external manifest 仅 Y08 materialized/exists true 时非 null,若 Y08=I 则必须等于实际 invalid bytes/hash。 DAG 唯一为 `V022/audit/auth → stdin bundle → bootstrap in-memory gate → Y01-Y04 → Y05 → Y06 → freeze Y01-Y06 → Y07(as-of Y06) → Y08(self blank,records Y07 hash) → external native terminal(Y08 hash) → independent review`。 ## 5. 固定向量 - BOOTSTRAP_BYTES_SHA256=`5236/db8c6ac8160e7d438d8b7690b476b64c141130f1cea0513ecbf2976ec4b8e6a6` - BOOTSTRAP_BASE64_SHA256=`6984/d55c01535e6a2fd5f6fe19784509e590ee15f63ba00e7074ef9bada7ddb42542`;其值必须由上述 exact bootstrap bytes 以 RFC4648 standard Base64(无换行)唯一派生,不允许手工转录或替换 alphabet/padding。 - WRAPPER_TOKEN_BYTES_SHA256=`7063/ffef0cbbb8657e95b5ed9a8e4f405cf779caffe1f01b13e037ca2409b195ef96` - ARGV_TOKEN_PREIMAGE_BYTES_SHA256=`5 tokens/7160/c48ea62776568d3413e0c34fa35a9ba4a14b46cf0b52ffecfbb708e4ce7f0a01` - PROCESSSTARTINFO_ARGUMENTS_BYTES_SHA256=`7074/3313f7b7fdcb6e5f6f27f94488487706c1b59e2b31533dc5f26401dadfae3651` - EXPECTED_WIN32_COMMANDLINE_BYTES_SHA256=`7164/0d280fba04a1288797630c0ff6e4e0a810f807f89f9563b0e43f5b512c2cacf1` 所有 hash preimage 使用 strict UTF-8、无 BOM。argv token preimage 是 5 个 token 用单一 LF 连接、无尾 LF。Arguments 固定为 `-I -B -c ""`。CommandLine 固定为 `"" `;授权时 runtime absolute path 必须与本计划当前 snapshot 相同,否则本向量失效并 HOLD。 ## 6. 目录治理与门禁 `dev-doc/ana-doc/目录导读.md` 必须 append V021 HOLD 与 V022 successor 入口,关闭 ISSUE-V021-05。 V022 只允许独立计划复审。PASS 后仍只能向 management 申请全新 single-use Python Y01-Y08 implementation authorization。审核/授权前禁止物化 Y01-Y08/run、执行 Python/PowerShell/csc/node/synthetic/proof/config-editor/mysql/SQL/database/network/credential、进入 R3/BATCH-001 或修改旧 P01-P08/Git/配置/角色/权限。