架构

e2m2e 是"LLM+Agent"任务规划系统中的算法工具集基础设施:大模型负责理解意图与编排,e2m2e 负责精确可靠的轨道计算。本文是架构章节的阅读地图。

五个架构设计

完整叙述见 architecture,摘要如下:

模块

职责

关键决策

时空系统与常量

UTC/TDB/TAI/TT 时间尺度、J2000/ITRF93/GCRS 等参考系转换、多套物理常量基准集

ADR 0010、ADR 0022

Rust 计算

四个核心 crate(spice / propagation / forces / integrators),另有 HJB 求解器两 crate(levelset / hjb-dynamics,见 hjb-subsystem

ADR 0002、ADR 0016、ADR 0032

Python 编排

构造问题 → 调 Rust 迭代器 → 解释结果;任务级 Facade

ADR 0014、ADR 0029

CI

三平台 wheel 矩阵(Linux x64/ARM、Windows)+ CSPICE 编译包分发

ADR 0009

数据管理

GitHub Release 星历数据、Git 跟踪族种子、随包 CR3BP 基线族数据集、本地 catalog

ADR 0031、ADR 0036

分工原则(ADR 0011 五层架构、ADR 0012 依赖方向):领域决策留 Python,热循环进 Rust。Rust 不吃 SPICE 句柄,吃预采样注入的星历缓存表。cspice 内核是全局状态、不可并发,这一约束决定了接缝的位置。

章节阅读地图

  • architecture,总览:从设计一条 L2 NRHO 的完整链路看五个模块各自在哪个环节发挥作用。先读这篇。

  • system-dynamics-dataflow,System 与 Dynamics 两棵类层次的深潜:构造、传播、结果缓存中数据逐段怎么走。

  • numerics-migration-status,algorithm 层各子模块的数值内核迁移清单:已下沉 / 迁移中 / 有意留 Python,逐项附理由与 issue。

  • hjb-subsystem,HJB 子系统目标形态:两级分工、Hamiltonian 接缝、维度上限、绑定入口、验证分层。

  • hjb-hamiltonian-dataflow,星历力模型 Hamiltonian 的配套调研:力模型与 EphemCache 现状、一次求解的数据流。

架构决策记录(ADR)

每篇 ADR 是一个决策快照,记录背景、决策、理由与结果;决策变化时不改写原文,而是追加修订或另写新篇。ADR 存于仓库 docs/adr/,面向开发协作,不进用户文档站点。索引与状态词汇表见 docs/adr/README.md

影响面最大、最值得先读的几篇:

ADR

主题

与本文的关系

0011

五层架构与全量重命名

分层词汇的来源

0012

依赖方向规则与 CI 检查

模块间允许谁依赖谁

0002

Rust 积分器内核

Python/Rust 接缝的起点

0016

EphemCache 星历缓存

"Rust 不碰 cspice" 的落法

0014

Facade / MCP / CLI 同源

任务级接口模型

0024

统一算法结果状态契约

结果解释层的统一词汇

0031

轨道库 catalog

数据管理模块的落法

已知待整事项

架构不是完成时。当前登记在册的审查项:

  • 时空系统三条帧转换路径并存、时间转换责任链待理清。

  • Python 编排层打靶双路径、algorithm/transfer 数值残留待收拢。

  • NLP、NSGA-II 等优化内核仍在 Python,按 numerics-migration-status 的节奏逐步下沉。