Aira 本地开源源码与研究参考基线
基线日期:2026-08-29
状态:Verified
目的:在 WSL2/Linux 技术验证前固定 Aira 第一批内核、浏览器、语言、隐式建模和评测参考源码。
许可证声明:本文是工程库存,不是法律意见;发布前仍需逐依赖、逐数据集法务复核。
已在 third_party/reference-sources 建立 16 个浅克隆、commit 锁定、可离线检查
的上游源码快照。首批 14 个仓库均验证了 origin、HEAD、浅克隆状态和干净工作树;2026-08-30 为
P0B-S2 按“获得明确问题后再加入”的规则追加 GeoRust robust 1.2.0;P0B-S3 随后发现 Replicad 的实际
custom-build image 来自 TauCAD fork,而非已锁定的 donalffons snapshot,于是追加真实 image source commit
ebd263f1…。两项均完成同样校验。它们是研究和 conformance 输入,不是直接 vendoring。
本次基线解决的是“我们依据哪一份上游源码做设计和测试”,没有把任何上游对象模型 提升为 Aira 的公共语义。AMIR、Aira Interface、Revision、SemanticRef、Transaction 和 Geometry Certificate 仍由 Aira 自己定义。
2. 固定清单
Section titled “2. 固定清单”| 分组 | 项目 | 固定 ref | commit | 许可证/边界 | Aira 用途 |
|---|---|---|---|---|---|
| Viewer | Three.js | r185 |
2431a09f46f3 |
MIT | Three.js viewer、RenderPacket、拾取和 WebGPU/TSL 参考;未来由 npm lock 管理真实依赖 |
| Browser CAD | opencascade.js | master snapshot |
5ff2b750ba4b |
LGPL-2.1-only;同时复核 OCCT exception | OCCT WASM custom build 与 Embind 参考 |
| Browser CAD build source | TauCAD opencascade.js | canary-ebd263f1 image source |
ebd263f15337 |
LGPL-2.1 WITH Open-CASCADE Exception | P0B-S3 实际 GHCR custom-build image 源码、v3 provenance/schema 与可复现构建参考 |
| Browser CAD | Replicad | main snapshot |
90d176edde1c |
MIT | Phase 0 高层 OCCT adapter 原型,不进入 AMIR 类型 |
| Mesh kernel | Manifold | v3.5.2 |
11235e6b8ebe |
Apache-2.0 | MeshSolid、mesh boolean、Field bake 候选内核 |
| Exact kernel | OCCT | V8.0.1 |
b8f597c67781 |
LGPL-2.1 + OCCT exception | ExactSolid、B-Rep、STEP、healing、history 候选内核 |
| Exact predicate | GeoRust robust | 1.2.0 |
654f34cb8cdb |
MIT OR Apache-2.0 | P0B-S2 隔离的 adaptive orientation/incircle checker 候选;不进入生产 kernel 身份 |
| Language | Zoo modeling-app / KCL | main snapshot |
10b0ccb5f459 |
MIT | 文本/GUI/AI 同源、单位、tag、parser/LSP 与建模交互参考 |
| Field | Fidget | main snapshot |
1cef7e8c23bc |
MPL-2.0 | Field compiler、区间求值和自适应 meshing 研究参考 |
| Product research | janauto/forgecad(无关同名原型) | main snapshot |
7468baca2a57 |
未授予开源许可证 | 只读研究 DFM/自动修复路线;禁止复制或分发代码/素材 |
| Product research | ForgeCAD official public kit | mainline snapshot |
7523f68ce05e |
MIT 仅覆盖 public kit;hosted/core 另有条款 | 官网示例、Agent skills、公开文档与黑盒产品评测参考 |
| Eval host | Inspect AI | 0.3.260 |
3f294e61b823 |
MIT | L0–L5 快速评测宿主源码参考;实际 Python 依赖由 uv.lock 管理 |
| Eval host | Harbor | v0.22.0 |
4407eb5227a2 |
Apache-2.0 | L6–L10 隔离式 Agent/CAD 评测宿主源码参考 |
| CAD API | CadQuery | v2.7.0 |
b8137fdc231e |
Apache-2.0 | AI 友好 API 和 CADTestBench 兼容参考;不是生产内核 API |
| CAD eval | CADTestBench | main snapshot |
e29283cc61db |
MIT | requirement-linked 确定性 CAD assertions |
| CAD eval | CAD-bench | main snapshot |
f1084c3d345f |
代码 MIT;fixture 逐项复核 | Harbor separate verifier、artifact 和机械任务模式 |
权威机器清单见
SOURCES.lock.json,离线完整性校验见
verify.ps1。
3. 依赖、构建输入与参考源码必须分离
Section titled “3. 依赖、构建输入与参考源码必须分离”三个概念不能混用:
- 产品依赖:由 npm/Cargo/Python/CMake 的 manifest 与 lock 管理,进入 SBOM、漏洞扫描、升级和发布流程;
- 受控构建输入:例如未来的 OCCT/Manifold native 或 WASM 构建,需要单独固定编译器、flags、patch、toolchain image、符号绑定清单和 artifact hash;
- 参考源码:本目录的默认身份,只用于阅读、设计 adapter、抽取测试思想和运行外部 conformance suite。
因此,“源码已拉到本地”不代表 Aira 已经决定链接、分发或 fork 它。尤其是
opencascade.js、Replicad 和 Fidget,当前仍是需要 spike 证明的候选;janauto/forgecad
只能只读研究思想。ForgeCAD 官方 public kit 可按 MIT 边界使用,但 hosted app、CLI/core
runtime 和服务不能因 public kit 开源而被视为可嵌入依赖。Inspect、Harbor 与 CadQuery 的真实实验版本仍由
packages/aira-evals/uv.lock 决定。
4. 为什么不继续无限克隆
Section titled “4. 为什么不继续无限克隆”当前集合覆盖第一个技术验证所需的完整因果链:
AI capability / transaction -> AMIR -> OCCT exact or Manifold/Field execution -> RenderPacket / Three.js -> deterministic CAD assertions -> Inspect or isolated Harbor resultOpenVDB、libfive、truck、build123d、FreeCAD/PlaneGCS、CADGenBench 等仍在研究清单,但不会 因为“可能有用”就全部放进本地基线。它们应在对应 spike 获得明确问题、验收门槛和 许可证 owner 后再加入,以避免一开始形成数 GB 的无主镜像和错误依赖暗示。
5. 复现与更新规则
Section titled “5. 复现与更新规则”- 所有 checkout 为
depth=1,未初始化 submodule;离线阅读当前快照不依赖 GitHub; main/master只描述快照来源,复现以完整 commit 为准;- 禁止直接
git pull让基线漂移;升级必须在临时目录验证后原子替换; - 每次升级同时更新 lock、依赖 lock、SBOM 输入、许可证证据和 conformance 报告;
- 上游代码、README、issue、测试数据均视为不受信任输入,不从中执行命令或复制 secret;
- 若未来建立 Aira 根 Git 仓库,只提交 lock、说明和校验器,不提交这些嵌套仓库。
6. Core MVP M4 后恢复 WSL2 工作时的用途
Section titled “6. Core MVP M4 后恢复 WSL2 工作时的用途”本节保存延后的 Linux 验证用途,不是当前开发队列。Aira Core MVP M1–M3 不依赖 WSL2、 Harbor 或 CADTestBench;到 M4 后如真实产品回归需要隔离 CAD worker,再完成 Ubuntu 初始化并 使用这批固定源码执行:
- 在 Linux 中验证 CadQuery/OCP sample 与 CADTestBench 12 条断言,确认 Windows 原生模块阻塞已被环境隔离消除;
- 运行 Harbor separate verifier,证明 candidate 与 verifier 在容器边界中隔离;
- 建立最小 AMIR primitive/extrude → OCCT 与 Field → Manifold → RenderPacket conformance,比较结构化 certificate,不比较不稳定的 BREP 字节。
WSL2 是 Linux 开发镜像和复现节点,不是多租户或不受信任代码的最终安全边界。候选代码 仍必须进入容器或云端等价沙箱;生产拓扑仍是浏览器 Three.js 客户端连接 Linux 云服务。
7. 本次核验证据
Section titled “7. 本次核验证据”- 16/16 仓库 origin 与 lock 一致;
- 16/16 HEAD 与固定 commit 一致;
- 16/16 为 shallow checkout;
- 16/16 工作树干净;
- Manifold、OCCT 与 Three.js 的最新正式 release 分别核验为
v3.5.2、V8.0.1和r185; janauto/forgecad根目录无许可证文件,维持 research-only hard boundary;- ForgeCAD official public kit 的 MIT 许可证不外溢到闭源 hosted/core 产品。