标准实验组
实验:opencode-custom
Experiment · 标准实验组opencode-custom
EXPERIMENT
实验记录:opencode-custom(自改造 opencode)— 标准实验组
1
实验1 正常基线(纯推理)
实验设计
- 控制组无;实验组为隔离 config(无 instructions / 无 MCP / 无 skills)下
--agent orch的纯推理任务;观测指标为输出正确性、收敛轮数、token 与成本、是否触发外部协议。
执行数据
- 命令
opencode run "用一句话解释什么叫负反馈控制" --agent orch --format json;环境 XDG_CONFIG_HOME=/tmp/opencode/iso-config,模型 deepseek/deepseek-v4-flash,opencode 1.18.29;时间戳 2026-09-09 01:40:34→01:40:40(耗时 5.77s),会话 ses_f7de47c42ffeNikJxKaLVIXn4D。
观测结果
- 输出为「负反馈控制是指系统通过检测输出与期望值的偏差,并将该偏差反向作用于输入以减小误差,从而自动维持输出稳定的控制方式。」;正确性 ✅(单句、定义完整、无冗余);1 轮收敛,无工具调用,无外部协议介入。
量化指标
- 计划进度偏差 1/1 步(无偏航);token total 5645(input 5537 / output 32 / reasoning 76);成本 $0.000805;反馈信噪比高(一次直出)。
控制论解读
- 属于设定值 r + 开环直出(E 环由人判断达标);控制律为单次前馈(feedforward),无反馈回路。基线证明隔离态下内核可独立完成任务,为后续实验提供无协议干扰的参照系。
2
实验2 专职 worker 委派(P 环强化)
实验设计
- 控制组为实验1(单 agent 直出);实验组在隔离 config 定义 orch(primary) + general/explore(subagent) 且
subagent_depth=2,用一次 prompt 要求同一消息内并行发出两个 task;观测指标为是否委派、是否并行、委派链深度、聚合正确性、轮数。
执行数据
- 命令
opencode run "请并行委派两个子任务:①委派 general 计算 17×23;②委派 explore 统计 /tmp/opencode 条目数……" --agent orch --format json;时间戳 01:40:43→01:40:57(14.49s);父会话 ses_f7de45b7affeIfMveMoZBV5ckG;委派链 orch → task(general)=ses_f7de44e21ffecfmA6NzkdnZHO0 / task(explore)=ses_f7de44b12ffergneqvHoFo2sNK。
观测结果
- 事件序列为
step_start → text → tool_use(task)×2 → step_finish → step_start → text(聚合) → step_finish;两个 task 调用在同一步(同一消息)发出(call_00…/call_01…),并行执行且均 status=completed;聚合结果为 general 返回 17×23=391、explore 返回 /tmp/opencode 直接条目 29 个。另跑 exp2b 验证嵌套委派:orch → general → explore 三级链,explore 计算 5+5=10 并逐级回传,证明subagent_depth=2生效。
量化指标
- 并行委派 2/2 task 同轮发出(并行度=2);轮数 2 步(委派 1 步 + 聚合 1 步);token total 12777 / reasoning 94 / 成本 $0.000305;exp2b 嵌套链实测深度 3 层(depth 0→1→2),token 11776 / 成本 $0.000143。
控制论解读
- 属于 P 环(分层控制/慢-快双速)——主 agent 做慢规划(分解+路由),worker 做快执行;控制律为任务分解 + 并行执行器阵列,
subagent_depth=2是执行器递归深度限幅(T 环约束 P 环展开)。装配层把单体内核扩展为可并行、可嵌套的分层执行器,P 环由「提示词约定」升级为「runtime 硬支持(task 工具 + depth 限幅)」。
3
实验3 Reflection 闭环(R 环反转,只读验证)
实验设计
- 对 Reflection 系统状态机做只读验证,不写入 pending.json;观测指标为三态计数、状态迁移、四层数据结构、内核是否内置 R 环。
执行数据
- 只读读取
~/opencode/archive/Reflection/pending.json;静态源为 opencode.jsonc 的 build/plan prompt 内「Build 末尾 Reflection 写入」+「Reflection 自检规则」、command/reflection.md、reflection-worker agent 定义(opencode.jsonc L110);时间戳 01:41 快照,文件在 01:40:36 被并发 reflection-worker 会话ses_f7de57ae0ffeXlk1JxAFMSxQbg(日志 run=70b44a03)写入。
观测结果
- meta 三态为 waiting_count=33 / processing_count=2 / done_count=2(快照时刻);状态机为
waiting →(build 自检置 processing)→ reflection-worker 处理 → done →(/reflection 人审 yes/edit)→ MEMORY.md;每 cycle.layers = {layerA(GATE/complexity/decisions)、layerB(子Agent JSON)、layerC(MEMORY.md 快照)、layerD(留档报告)};内核侧opencode agent list无 reflection 内置 agent,reflection-worker 由装配层 config 定义;安全证据为日志中 pending.json 的 edit 权限全部来自 reflection-worker 会话ses_f7de57ae0ffe…,本实验会话ses_f7de57eec…(agent=general)对 pending.json 仅命中permission=read,未命中 edit。
量化指标
- 待处理积压 33 waiting(异步队列,与主流程解耦);闭环层级为内核 0 个内置 R 环 agent,装配层 +1 reflection-worker + 1
/reflection命令 + 1 pending.json 队列;人审门控要求 done→MEMORY.md 需 yes/edit 显式确认(写入签名[src: cycle_id])。
控制论解读
- 属于 R 环(反馈/积分环节),呈现R 环反转——内核弱 R(无独立 Critic/反思),装配层补齐异步慢 R 环;控制律为误差(任务经验)不即时回灌,而是入队 pending.json → 延迟批处理 reflection-worker → 人工门控转正,属积分/离散采样反馈,牺牲时延换稳定与去噪。opencode-custom 的 R 环是「外挂式、异步、人审闭环」,用装配层把弱内核 R 补齐为可审计的长期记忆闭环。
4
实验4 GATE 门控(协议层)
实验设计
- 在隔离 config 仅注入 auto-mode.md(GATE 协议),以
--agent gate分别跑简单/复杂任务,观测是否输出[GATE]、总分与 Daily/Deep 分派是否一致、runtime 是否硬门控;观测指标为 GATE 输出格式、分派一致性、命中率。
执行数据
- 简单任务
opencode run "计算 2+2 等于多少" --agent gate(XDG_CONFIG_HOME=/tmp/opencode/iso-gate);复杂任务opencode run "设计一个跨 5 个模块的重构方案……架构级论证" --agent gate;静态源为 auto-mode.md L7「MANDATORY GATE」、L26 输出格式、L37-38 决策边界(≤12 Daily / ≥13 Deep)、opencode.jsonc L547 注入 auto-mode.md、build prompt「Variant 继承规则」。
观测结果
- 简单任务仅输出
4,未输出 [GATE](协议被模型省略);复杂任务首行输出[GATE] 范围=5 深度=5 操作=4 风险=2 → 总分=16 → Deep,随后按 Deep 展开架构论证;分派一致性 16≥13 → Deep,与边界表一致 ✅;COMPLEXITY 继承为静态降级验证(auto-mode.md L58 + build prompt 要求 Plan 摘要含[COMPLEXITY: X/20]、Build 继承,本实验因规避 pending.json 写入未走 plan/build 实机链)。
量化指标
- 复杂任务 3 步、tools=[bash,glob,bash,glob]、token total 40753 / reasoning 1264 / 成本 $0.001542;简单任务 1 步、token total 10617 / 成本 $0.001223;协议命中率 复杂 1/1、简单 0/1(模型侧省略)。
控制论解读
- 属于协议层门控(P/E 环的元控制——决定用多大推理预算);控制律为开环规则 + 模型软执行,runtime 不强制拦截,GATE 是「提示词级」约束而非「看门狗级」硬限幅。GATE 能对复杂任务正确量化并分派 Deep,但简单任务存在漏触发,暴露协议层门控可靠性依赖模型遵循度的稳定性风险(建议将 GATE 缺失纳入 E 环校验或 runtime 提示)。
5
实验5 MCP 连通性(T 环扩展)
实验设计
- 用
opencode mcp list枚举 6 个 MCP 的配置与连通状态;观测指标为配置数、connected 数、disabled 数、传输方式。
执行数据
- 命令
opencode mcp list(真实 config,只读);时间戳 01:41;输出保存/tmp/opencode/exp/exp5_mcp.txt。
观测结果
- 共 6 server(s):pdf-reader ✓connected(
npx -y @sylphx/pdf-reader-mcp@latest)、drawio ✓connected(node /mnt/d/Opencode/drawio-mcp-minimal/package/src/index.js)、vscode-mcp-server ○disabled、amap ○disabled、drawio-local ○disabled、headroom ○disabled;传输方式为 3 个 stdio(npx/node)+ 3 个 powershell launcher(WSL 下不可达故 disabled)。
量化指标
- 配置 MCP 6 个;连通 2 个(33%);禁用 4 个(67%);可用工具域为 PDF 读取与 draw.io 图表。
控制论解读
- 属于 T 环(执行器/工具扩展)——MCP 是外部执行器的即插即用接口;控制律为按需启用 + 状态可观测,disabled 的 3 个是 WSL 不可达的 Windows 侧 launcher(环境约束)而非配置错误。MCP 层提供可观测的执行器拓扑,但跨环境(WSL/Windows)连通性存在硬约束,需环境适配才能全量激活。
6
实验6 Skill 加载
实验设计
- 用
opencode debug skill枚举已加载 skills,核对 inventory.json 的 28 skills + 11 legacy_skill 口径;观测指标为实际加载数、路径来源分布、未加载项原因。
执行数据
- 命令
opencode debug skill(真实 config,只读),输出保存/tmp/opencode/exp/exp6_skills.txt;时间戳 01:41。
观测结果
- 实际加载 35 个,来源为
skills/27 个 +skill/7 个 + 内置customize-opencode1 个;未加载 4 个 inventory legacy(amap-budget-control / amap-jsapi-skill / amap-lbs-skill / model-switcher),原因其目录内文件名为_SKILL.md(下划线前缀),不满足 opencode 的SKILL.md命名约定;_shared为共享资源目录、非 skill,不计入。
量化指标
- 加载数 35(27+7+1);inventory 名义 28+11=39;口径差 39−35=4,均为
_SKILL.md命名不达标,另 +1 内置、−1_shared。
控制论解读
- 属于知识/策略注入层(对 M/E 环的能力扩展);控制律为静态按需加载(路由式),skill 是可调用的专家策略库。skill 加载机制可靠,inventory 与实载差异可完全用命名约定解释(非缺失),可用于校正 inventory 口径。
7
实验7 架构三层栈端到端(P/E/T 环新机制)
实验设计
- 控制组为实验2(P 环委派)与实验4(GATE 软门控);实验组在隔离 config(XDG 全指向
/tmp/opencode/v13-*)装配archprimary(等价/arch执行者,不含 build 的 Reflection 自检链)+architect-workersubagent +/arch命令 +architecture-judgmentskill +architecture-behavior指令,用/arch 日志采集选型端到端驱动;另以最小 ADR 样例直接驱动门控正/负向判定。观测指标为 skill 是否加载、architect-worker 是否被委派、ADR 是否落盘、门控是否运行且结果正确、三层栈各层是否被引用。
执行数据
- 命令
XDG_CONFIG_HOME=/tmp/opencode/v13-config XDG_DATA_HOME=… opencode run "/arch 为一个内部日志采集系统做技术选型(旁路异步采集 / 同步写入 / 混合)…将 ADR JSON 写到 /tmp/opencode/v13-exp/arch_adr.json 后运行 gate_architecture.py --kind adr 门控" --format json;时间戳 2026-09-11 22:10;会话ses_f6f34e4fdffeu5DvJZ9ATxWK0R。隔离 config 副本含 architecture-judgment skill 17 文件 +/arch命令 1 + architecture-behavior 指令 1 +arch/architect-worker两 agent;deepseek provider 经进程环境注入 key,未落盘副本。最小样例为adr_min_pass.json/adr_min_fail_options.json/adr_min_fail_tec.json。
观测结果
- 事件序列为
step_start → tool_use(skill=architecture-judgment) → tool_use(task, subagent_type=architect-worker) → …bash(gate_architecture.py --kind adr)… → text → step_finish×12;architecture-judgment skill 被加载 1 次;architect-worker 被委派 1 次;产物/tmp/opencode/v13-exp/arch_adr.json(ADR-001「内部日志采集系统的采集方式:旁路异步采集优先」,3 options / 11 graph_refs / 2 standards_refs)落盘;主 Agent 运行门控得 6/6 PASS(G-A1~A6 全 PASS,退出码 0);architect-worker 自身 bash 被 deny(产出方无自验证权限)→ 门控由主 Agent 执行,产出方/验证方天然分离。最小样例直接门控:合规→PASS 6/6、单备选→FAIL(G-A1+G-A2)、TEC 越位→FAIL(G-A5);gate--selftest10/10 断言 PASS。
量化指标
- 端到端 12 步;token 输入 36507(累计 cache_read 322208)/ 输出 2910 / 推理 1158,成本 $0.008275;委派 1/1;ADR 落盘 1;门控 1/1 PASS(6 判据);三层栈命中 skill×1 + subagent×1 + 行为层×1;最小样例判定正确 3/3。
控制论解读
- 属于 P/E/T 环新机制(分层规划 + 传感器验证 + 执行器门控)。控制律为「行为层触发(前馈规则)+ 显式
/arch入口 → skill 加载策略 → 子Agent 执行 → 独立传感器 gate 判定」。门控作为 E 环验证器与 P 环产出方物理隔离(architect-worker bash deny 使其无法自证),消除「产出方自审」的自利偏差,是比实验4 GATE(模型软自评)更强的看门狗级硬门控——gate 以确定性脚本 + 正负向断言给出二值判定,不受模型遵循度影响。三层栈各层均被实际引用,P/E/T 环由「提示词约定」升级为「契约(schema)+ 执行器(architect-worker)+ 传感器(gate)+ 行为路由(architecture-behavior)」的完整闭环。
8
实验8 能力扩展器冒烟(M/P 环二阶能力)
实验设计
- 依据
skills/opencode-capability-extension/SKILL.md,逐项核对引用的脚本/模板/schema 是否存在(文件存在性);做一次引用普查(grep 硬编码引用);核对三层栈(子Agent+Skill+行为层)在实机配置是否闭合;运行其声称的文档-契约对账器。观测指标为契约/引用完备率、三层栈闭合性、缺失项清单。
执行数据
- 只读检查
/home/zako-mio/.config/opencode/**与两个母库(0910-软件工程架构方法论/0911-opencode架构能力);工具ls/stat/grep/python3 check-doc-contract.py;时间戳 2026-09-11 22:0x;原始输出存/tmp/opencode/v13-exp/exp8_*.txt。
观测结果
- SKILL 直接引用的配置侧产物 14/14 存在(architecture-judgment 全套、
_private/gate_architecture.py、command/arch.md、instructions/architecture-behavior.md、opencode-config/local/capabilities.md、opencode-capability-extension/SKILL.md等);三层栈闭合 3/3:architect-worker(opencode.jsonc L87)+architecture-judgment(skills/)+architecture-behavior.md(instructions L471 注入)+/arch(command/)+ gate(_private/);引用普查命中架构能力全域(配置侧 9 文件提及 architect-worker、10 文件提及 architecture-judgment、6 文件提及 architecture-behavior,均无悬挂);check-doc-contract.py文档-脚本契约对账 PASS(5 文档 / 参数面 6 / 问题 0);skill 双根已统一(opencode.jsonc 无skill/路径引用、skills.paths已移除)。缺失项:SKILL「产出物模板」声称install-skill.py / reconcile-skill.py位于<MISSION_ROOT>/20-agent-skill,实际二者位于0911-opencode架构能力/tooling/(20-agent-skill内无任何 .py)——该 SKILL 为跨任务通用模板,占位路径与实际任务落点不一致,属文档-产物落点漂移(非功能缺失),列 WARN。
量化指标
- 引用产物存在率 14/14(100%);三层栈闭合 3/3;文档-契约对账问题数 0;引用普查覆盖 4 类关键词 × 无悬挂;缺失/漂移项 1(脚本落点声明)。
控制论解读
- 属于 M/P 环二阶能力(对「能力扩展过程」本身的元能力)。控制律为「单一真相源 + 派生对账 + 引用普查」治理闭环:install/reconcile 提供派生与逆向逐字节对账(M 环状态一致),引用普查防迁移断裂(P 环前置约束),三层栈闭合是能力成熟度判据。实测证明该 SOP 所服务的能力(架构)确已闭合为成熟能力;唯一漂移是 SOP 模板中的占位路径未与本任务实际落点对齐,暴露「模板级文档 ↔ 任务级产物」的落点对账缺口(建议以
local-bindings.json一类绑定声明替代硬编码落点)。
9
实验9 architecture-judgment 知识图谱离线可用(E 环)
实验设计
- 验证该 skill 内置 KG 在断网/仅本地下可用:定位节点页/MD 资产,检查存在、可读、节点计数;随机抽取 2-3 个节点 ID 做 grep 验证;核对与 SKILL 声称的 167 节点是否一致。观测指标为 KG 资产存在性、节点计数、离线读取成功数、是否依赖联网。
执行数据
- 脚本
/tmp/opencode/v13-exp/kg_check.py只读解析10-dag-data/methodology-dag.json+11-node-pages/+15-md/nodes/+ skillnode-index.md;时间戳 2026-09-11 22:06;全程无任何网络调用;输出存/tmp/opencode/v13-exp/exp9_kg.txt。
观测结果
methodology-dag.json存在(1,182,793 字节),NODE_COUNT=167 / EDGE_COUNT=360,与 SKILL 声称「167 节点 / 360 边」完全一致;层分布 essence 51 / methodology 67 / technology 31 / case 18(合计 167,与三层+案例口径一致);节点页 167 个 HTML、节点 MD 167 个(1:1 全覆盖);抽样MTH-G-02/ESS-F-01/TEC-G-01均在图中存在,且其 HTML/MD 文件存在、非空、文件内含自身 ID(离线读取成功 3/3);skillnode-index.md含 167 个节点引用,与图谱 1:1;NETWORK_DEP=none。
量化指标
- KG 资产 4 类齐全;节点数 167(与声称一致);边 360(一致);节点页/MD 覆盖 167/167;抽样离线读取成功 3/3;网络依赖 0。
控制论解读
- 属于 E 环(传感器/知识状态估计)的离线可用性。控制律为「本地母库为单一真相源 + skill 派生索引 + 深链按需读取」:判断依据(ESS/MTH 节点)与选型标尺(TEC)全部本地可检索,证据链不依赖外网,抗网络噪声与 WAF 干扰(E 环传感器不被外部信道牵制)。167 节点与 360 边在四类资产(DAG JSON / 节点页 / MD / node-index)上一致,说明知识态估计无漂移;门控(实验7 G-A4)依赖同一图谱做悬挂引用校验,二者共享真相源,保证「判断—验证」同源。
10
实验10 MEMORY 硬门禁不可绕(R 环治理)
实验设计
- 静态核验
instructions/auto-mode.md是否含「MEMORY.md 严禁直接修改」硬门禁与「pending.json → reflection-worker → /reflection 确认」唯一写入链路;核对子Agent 通用规则是否禁止直接写 MEMORY.md;路径审计 grep 实机配置确认除/reflection命令外无其它文档化直写路径;受控探针(隔离区)评估子Agent 尝试直写是否被拦截。观测指标为门禁条款存在性、唯一写入链路完整性、是否有旁路。
执行数据
- 只读
auto-mode.md、command/reflection.md、opencode.jsonc、skills/opencode-config/local/{agents,mcp-permission,capabilities}.md;工具 grep;sha256 前后对比(见文首/文末);时间戳 2026-09-11 22:05→22:12;输出存/tmp/opencode/v13-exp/exp10_*.txt。
观测结果
- 硬门禁条款存在且双重——①
auto-mode.mdL114(子Agent 通用规则)「严禁直接修改 MEMORY.md/pending.json…MEMORY.md 只能由主Agent 经 pending.json → reflection-worker → /reflection 链路写入」;② build prompt「MEMORY.md 硬门禁(2026-08-19 根因修复):⛔ 严禁直接修改(edit/write/脚本写入均禁止)…唯一例外:/reflection命令本身」。唯一写入链路完整(reflection.md:yes/edit → 带[src: cycle_id]签名 → 写入;写入后全段签名校验;写 pending.json 前备份)。权限层发现——opencode.jsonc为/reflection放行了 MEMORY.md 的 edit,映射到 6 个 agent 定义(build + pdf-worker/drawio-worker/general/reflection-worker/search-worker,注释「/reflection 写入」);architect-worker的 edit 分层不含 MEMORY.md(3 条精简)。因此该门禁为「提示词级硬规则」而非「runtime 权限硬阻」——build(/reflection 执行者)在权限层具备直写 MEMORY.md 的能力,仅靠 prompt 约束禁止绕过链路,存在权限层旁路面。子Agent 动态探针因隔离区无法在不触碰真实记忆文件前提下可靠复现运行时拦截(且红线禁写 pending/MEMORY),标注为静态验证(未做动态注入)。旁路审计另发现一份外源角色模板agency-agents/specialized/zk-steward.md:146提及「copy knowledge to MEMORY.md」,非激活规则、不属本机链路。
量化指标
- 门禁条款 2 处(auto-mode 子Agent 通用 + build prompt 主Agent);唯一写入链路 5 环节完整(封装→pending→worker→确认→签名写入);文档化直写路径 1(唯一例外
/reflection);权限层 MEMORY.md edit allow 覆盖 6/13 agent 定义(含 build),architect-worker 0;动态拦截探针 0(静态验证);sha256 前后一致(见文末)。
控制论解读
- 属于 R 环治理(反馈回路的写权限看门狗)。控制律为「入队(pending)→ 异步 worker → 人工确认(yes/edit)→ 签名转正」的积分式反馈 + 提示词级硬门禁;其可靠性呈双速不对称——写入链路本身设计完备(签名门禁 + 备份 + 容量软限),但 enforcement 停在提示词层——权限层为
/reflection复用的 edit allow 使「唯一例外」成为制度化的旁路。与实验4 GATE 同构:强设计、弱运行时强制。建议将 MEMORY.md 写权限收敛到专用/reflection执行上下文(或对非 reflection 会话用 runtime deny),把提示词级门禁升级为看门狗级硬限幅。
实验组结论表
| 实验 | 场景 | 控制论环节 | 结果 | 关键量化 |整体控制论结论
- opencode-custom 的本质是「弱内核 + 强装配层」的分层控制器——P 环被装配层显著强化(task 工具 +
subagent_depth=2把单体内核扩展为可并行、可嵌套的分层执行器阵列,实验2 实测链深 3);R 环发生反转(内核无独立反思/Critic,装配层用 pending.json 队列 → reflection-worker → /reflection 人审补齐异步慢 R 环,实验3);T 环通过 MCP 扩展但受 WSL/Windows 环境约束(实验5,仅 2/6 连通);协议层门控 GATE 是软约束(复杂任务正确分派 Deep、简单任务漏触发,暴露「提示词级门控 ≠ 看门狗级硬限幅」的稳定性风险,实验4);隔离实验范式(XDG 隔离 + 非 build 代理)证明装配层协议可被安全分片观测,且内核在无装配时仍能独立完成任务(实验1)。
v1.3 增量结论(实验7-10)
- 架构三层栈把 P/E/T 环由「提示词约定」升级为可执行闭环——行为层路由 + skill 策略 + architect-worker 执行器 + gate 确定性传感器,且以「产出方 bash deny / 验证方代跑」实现产出/验证分离(实验7:skill→worker→ADR→gate 全通,gate 6/6 PASS,端到端 12 步 $0.008275);能力扩展 SOP 提供 M/P 环二阶元能力(单一真相源 + 派生对账 + 引用普查 + 三层栈闭合),架构能力实测闭合、契约对账 0 问题,仅存 1 处模板落点漂移(实验8);内置 KG 167 节点 / 360 边在四类资产上 1:1 且零网络依赖,E 环传感器不受外部信道牵制,并与门控共享同一真相源(实验9);MEMORY 治理呈「强设计、弱运行时强制」——唯一写入链路与签名门禁完备,但权限层为
/reflection放行的 MEMORY edit 覆盖 6/13 agent,使提示词级硬门禁存在制度化旁路(实验10,与实验4 GATE 同构)。综合:opencode-custom 的治理强度呈梯度——运行时硬阻(gate 脚本确定性二值判定)> 半运行时(权限 allow/deny)> 纯提示词(GATE / MEMORY 门禁);建议后续把关键门禁从提示词层下沉到 runtime/权限层。 > ⚠️ 契约遵守确认(v1.3,2026-09-11):本次实验(实验7-10)仅在/tmp/opencode/v13-*隔离区执行(隔离 config/data/state/cache + 隔离 config 副本,含arch/architect-worker两 agent、architecture-judgment skill 17 文件、/arch命令、architecture-behavior 指令),全程使用隔离archprimary(等价/arch,无 build 的 Reflection 自检链)与只读命令,未写入 pending.json、未修改 MEMORY.md、未申请 API 密钥(deepseek key 仅经进程环境注入隔离会话,未落盘副本)。安全校验:MEMORY.md sha256 前后完全一致(ce70ca0447a070e08236fed4c44330ec0fa7f2e84db7dacd342f0feed8d2cf10);pending.json sha256 前后完全一致(7fe3c30ea27ba0f582bbfef8a1907d8798e953121b229dad789ba8e7dcb0d70d),本实验会话(agent=general)对两文件仅只读。未做不可逆破坏,未改真实 API 密钥。清理说明:已删除本次隔离 config/data/state/cache 目录(/tmp/opencode/v13-config|v13-data|v13-state|v13-cache|v13-kgexp),保留本次证据/tmp/opencode/v13-exp/(exp7 端到端原始 JSON + ADR + gate 输出 + 最小样例、exp8 存在性/普查/契约对账、exp9 KG 检查、exp10 门禁静态与 hash 前后);未触碰/tmp/opencode/内既有的其它文件(agents.txt/cmp.json/dbgskill.json)。 > ⚠️ 契约遵守确认(v1.2 历史块,2026-09-09):本次实验(实验1-6)仅在/tmp/opencode/隔离区执行(iso-config / iso-gate / backup / exp),全程--agent orch/--agent gate,未写入 pending.json、未修改 MEMORY.md;MEMORY.md sha256 前后一致(17581ee40ddf4fe97c0577071da23bec79294ff0835b37a818890b03dcd0d63d);pending.json 在本实验窗口内被并发 reflection-worker 会话ses_f7de57ae0ffe…(非本实验)从30adad4e…改为60b5e799…(仅状态计数迁移、无本实验写入),本实验会话ses_f7de57eec…(agent=general)对 pending.json 仅只读 read,opencode 日志(run=70b44a03)可证;已删除/tmp/opencode/iso-*,保留/tmp/opencode/exp/与/tmp/opencode/backup/。