候选库接入(2026-09-20)

September 22, 2026 · View on GitHub

本轮给 OpenQuantum 增加四个完整计算动作与一个直接上游 MCP 入口。它们由 Skill 指导, 经现有 Harness MCP Client 注册为 Tool;没有另建运行时。合并基线 e92bf0b(v0.5.1)已有 Graphix/PyZX/Symmer/PauLie 适配;合并保留这些能力,不计为本轮新增成果。计划与去重决策

能力固定来源默认策略执行入口
门切割与期望值重建QCut 2.2.0;Qiskit 2.5.2;cutting addon 0.10.0开启qcut_localknit_qcut_circuit
线路优化compactq 0.2.3;Qiskit 2.5.2开启compact_localoptimize_compact_circuit
VQD 激发态OpenQARP 0.1.0开启openqarp_localsolve_openqarp_vqd
angle 核与 QSVMcqlib-qml b3aeb784cf50150f7bb39c86a3a16e397d52ea50 五文件适配;Rust cqlib 1d0a2c49ac32712d995f46147dfc5e3c4f4ac8e6(1.4.0b1)按需启用cqlib_kernel_localfit_cqlib_angle_kernel
第二家量子 MCPflagquantum-mcp-server 0.3.0;flagquantum 0.2.0按需启用flagquantum,17 个原生上游 Tool

所有依赖在各能力的 uv.lock 固定。四个适配 Tool 始终返回 scientificValidation=not_evaluated; FlagQuantum 原生结果的 status=success / accuracy.metric=not_measured 也不等于科学 Acceptance。 2026-09-22 的版本更新、回归与开发版试验见升级记录。 默认开启是配置策略,不表示已重启当前运行中的 Host。可选项在量子组件设置中心启用后重启 Harness。

安装与运行

需要 Node 24+、uv 和 Python 3.12。cqlib 可选能力首次从固定源码编译,需要 Rust ≥1.89 与本机编译工具; Rust cache 位于 .openquantum/cargo-cache。FlagQuantum 的 PyTorch 依赖较大,因此默认关闭。

npm run capability:candidates:setup
npm run capability:candidates:test
npm run capability:candidates:live
# 开发回归额外使用已有 QEC 固定环境
UV_PROJECT_ENVIRONMENT="$PWD/.openquantum/python-envs/qec-memory-experiment" uv sync --frozen --project .agents/skills/qec-memory-experiment --python 3.12 --no-dev
npm run benchmark:candidate-regressions

也可只准备所需环境,如 node scripts/setup-paper-tools.mjs qcut-knitting compact-optimization。 首次依赖物化会下载并写入本地磁盘;完整调用的最大副作用均按 workspace-write 登记。 计算子进程只接收明确允许的运行环境,不转发模型或硬件凭据。四个适配复用已有 worker 的取消、 并发互斥、超时、输出大小和失败协议。execution 省略时继承部署配置,worker 默认无时间/输出上限,线程数保留用户环境或后端默认值;逐次可覆盖。没有人为 qubit/数据规模上限。 大任务仍受实际内存、上游算法和 Harness 工具超时限制,需同步调整连接超时。新增连接沿用主线 2147483647 ms 的默认调用超时,可在设置中心调整。FlagQuantum 保留原生 Tool schema,不接受 execution;数值线程/设备继承部署环境。

示例请求见 固定回归输入,可直接用于相应 Tool。 Harness 测试使用本地模型协议替身驱动真实 Tool,临时测试 home 启用两个可选入口;不改产品默认值或模型路由。

科学合同与已知上游问题

QCut。 输入为 unitary 结构化门列表,最左 Pauli 字符是 q0。自动切割先用 Qiskit level 0 归一到 对称 CZ,再禁用 consolidation/joint cuts;这避开固定上游 finder 排序操作数导致反向 CX 错误的问题。 显式切割使用原始门索引和目标顺序。没有双比特门或没有选出 cut 时明确报错。首版只开放 gate cutting、 exact QPD 和本地 Aer,不开放 wire cutting、sampled expansion 或硬件任务。含中间测量的子实验由 Aer 执行。 分别报告 γ²、生成电路、实际完成电路和实际 shots;有限 shots 的重建值可超出 [-1,1],不裁剪。

Compact。 输入不开放已复现 verifier 错误的 ECR/iSWAP。上游 tier 只作诊断;独立完整 Qiskit unitary 比较保持线序、忽略全局相位,不符即拒绝候选。输出归一到标准 OpenQASM 2 的 u3/cx 后重新解析, 参考同时检查实际交付文本。原生双比特门数与共同 u/cx 基底 CX 数分列,CP 替代两个 CX 不写成硬件成本减半。 skip 或 auto 未运行参考时,也跳过上游昂贵诊断,优化结果明确为未独立检查的候选。

OpenQARP。 仅 VQD;复数 RY/RZ + 线性 CX ansatz,q0 为最低有效位、最左 Pauli 字符。 penalty 严格高于 2*sum(abs(nonidentity coefficients))。独立 NumPy 门运算与 matrix-free Pauli action 重算能量、残差方差和重叠;精确谱是可选参考。结果保持 deflation 顺序,保存每态 optimizer.success/message, 不排序掩盖重复态,也不把 optimizer success 写成正确激发态。

QCut/Compact/OpenQARP 使用 referenceMode=auto|required|skip。auto 分别在 ≤16/8/10 qubits 运行指数参考; 这是参考选择,不限制主任务规模。required 请求更大参考;skip 返回明确原因与 null 参考字段。

cqlib-qml。 PyPI cqlib 1.3.11 缺少 QML 使用的新版 API;新 SDK 又将 McGate 更名为 MCGate, 且 VQC 所需 Operation 不再公开。因此本轮保存五个 Apache-2.0 核方法源文件,加入两处明确名称 alias, 缩小包导出,保留 LICENSE、修改标记、原始/适配后 SHA 与 patch。没有将 ValueOperation 冒充 Operation。 只开放 classical AngleEncoder:实际是 RY(2x),核的独立公式为 prod(cos(x-y)^2)。 返回 Gram 不含 jitter;QSVM 训练对角加入上游 1e-8。训练/测试数组明确分开,无隐式全数据预处理; 同时给解析核分类与同输入 RBF 基线。不开放有符号振幅、共享参数 parameter-shift、VQC 或 swap test。 这个 product-state 核可经典解析,不构成量子优势。

FlagQuantum 逐 Tool 副作用审阅

上游服务的固定 0.3.0 wheel 实际 tools/list 保存为 合同快照,live 测试逐字段核对。 以下 17 项 Tool 均是本地 SDK 动作,没有硬件提交或账户管理;上游标记 readOnlyHint=true。 OQ 启动器通过 frozen uv 物化隔离环境,因此本地安装/缓存写入属于完整执行最大影响,全部保守登记 workspace-write

  • 电路与格式:analyze_circuit_toolserialize_circuit_tooldeserialize_circuit_toolemit_openqasm_toolemit_qcis_tool
  • 编译与拓扑:optimize_circuit_toolroute_circuit_toolcompare_topologies_tooldescribe_layers_tooldescribe_topology_tool
  • 本地执行:plan_execution_toolsimulate_circuit_tooltrain_parameters_tool
  • 参数与展示:describe_gate_set_toolinspect_parameters_toolbind_parameters_tooldraw_circuit_tool

原生服务输入为 FlagQuantum IR JSON 或 QIR 门列表,不读取 OpenQASM 文本。失败通常返回 status=error 而非 MCP isError=true,Skill 明确检查两层错误。17 项合同均核对;本轮真实数值验证覆盖 Bell 仿真、结构分析与错误输入,不声称逐项验证全部编译、路由或训练算法。

开发证据与明确未接入的部分

开发回归吸收 CleitonForge 的三个许可 bug-zoo 输入, 以及 qec-burst-scaling 的原始噪声构建器/统计模块。它们不进入用户请求运行链、不注册 Validator。 源版本、LICENSE 和 SHA 均随文件保存。

量子库上游动态需按实际依赖核对:本仓库仍固定 Stim 1.16.0、PyMatching 2.4.0,QCEC 及其 MQT core 以既有锁为准;本轮没有引入 PECOS、cuda-quantum、PennyLane/Catalyst 或 pyquil,也未因其 breaking change 批量升级不使用的依赖。Stim 的 tag/注释 DEM→PyMatching 已测;1.16.0 的未闭合 tag EOF 解析可卡住, 回归将此输入放入短超时子进程并如实记录已知缺陷。当前 QEC Tool 不接受用户 DEM 文本,因此未新增该输入面。

GreenPeas 留待 NVIDIA CUDA 任务;rqm-compiler、tensorcircuit-ng 和 luoshu 留待明确工作负载; Graphix 等主线既有能力保留,不重复计为本轮新增。Dense-Evolution 的 BSL、polypus 的 EUPL/独立数据权利、stresscf 的缺失许可, 以及硬件 CAD quantum-rf-pdk 均不进入本轮分发。 quantum-workflows / MORSE-FT / closed-quantum-process-memory-paper 只借鉴来源映射和输入/依赖/输出摘要, 不复制其他运行时。zero-gaze / RNTS / quantum-link-research 只列方法参考,不算运行能力。

原始 MCP 输出、Session 事件和测试日志在 .openquantum/candidate-tools-evidence/;可共享的固定分母、数值和 来源校验清单可用 node scripts/summarize-candidate-evidence.mjs 重建,见 版本化证据。外部模型自主任务、真实 QPU、push 与发布均不在本次验证范围。

与 v0.5.1 主线合并的验证

e92bf0b 为主线基线,保留桌面、更新、本地化与既有四项 Unitary 能力。合并后的 macOS 全仓 npm run check 通过;新增数值输入 15/15、FlagQuantum 协议及实际调用、开发回归 10/10 和 5/5 通过。 Harness 首次与全仓检查并行时出现 HTTP 请求超时;单独复测完成五项成功调用及一次预期输入拒绝, 会话事件已重新读回。两次日志均保留,未把首次失败写成通过;复测仅使用本地模型协议替身。

本次合并保留 26 个默认开启、8 个按需开启的 MCP 连接。worker 的缺省 execution、线程继承与 连接超时均对齐主线资源策略,相关合同测试验证了环境继承和逐次覆盖。源码合并不等于 Host 已重新加载。