开发与验收

English · 简体中文

放置新代码

RIR、验证、序列化、执行和后端代码放在 infrastructure。量子生成器放在 algorithms 的对应类别文件;共享的算法接口和报告工具也属于算法库。物理模型、数据准备与应用级组合放在 applications。

不要把新的算法分支继续加入 elementary 或 differential 兼容入口。它们只用于旧导入,不是新的实现位置。

添加算法

公开生成器需要说明输入模型、寄存器布局、生成参数、输出和适用范围。输出必须是普通 Operation 或明确的 oracle 包装类;Python 回调只能在生成阶段执行。

先给出可以独立计算的最小见证,再验证后端对同一线路的解释。不要用经典参考结果回填量子输出。状态制备、成功概率和物理尺度应分别检查。

运行检查

uv sync --locked --extra dev --extra docs
uv run python tools/check_project.py --docs
uv run python tools/check_project.py --docs \
  --backend-python /path/to/backend/python
uv build --out-dir out/release

第一条检查命令不需要外部量子模拟器。第二条增加真实后端测试,后端缺失时会失败,不以 skip 代替验收。后端解释器须已安装 pysparq 与 uniqc(例如相邻 ../QECC.Lang 检出的虚拟环境,或自行准备的任何环境),本仓库不创建也不管理该环境。CI 配置执行核心、文档与构建检查;完整原生验收需要相应环境。

生成结果、环境和构建文件都写入被忽略的 out/ 或现有构建目录。提交使用 Conventional Commits;没有用户授权不执行 commit 或 push。