# 架构与数值约束

数据流：类型化参数或JSON → 形状／范围／模型稳定性校验 → 解析引擎 → 指标／规划结果。
协议层不联网、不访问文件；CLI只负责单参数和输出，生产行数不计CLI或派生traits适配。

## 引擎分层

1. errors.mbt 统一错误；erlang.mbt 使用稳定B递推再转C；birth_death.mbt 使用对数权重与补偿求和，零出生后的状态精确零。
2. mmc/response 提供均值、状态与分布。响应是无等待的指数服务与“指数等待+服务”卷积的混合；相近速率用展开避免消去，分位数用括区与二分。
3. finite_queue/outcomes 区分尝试、接入、服务、放弃；engset 以闲置源率加权，避免把时间满员当作到达阻塞。general_service 的GI/G/c只有近似均值。
4. jackson 检查每节点离开系统可达性，解 `(I-P^T)*lambda=external`，检查残差，再独立应用M/M/c。routing[i][j] 为i到j；离开概率是行和余量。
5. closed 用上一人口的中心平均队长迭代单类MVA，并核对人口守恒。offered_load=throughput*visits*service_time，FCFS下为繁忙概率，Delay下为平均繁忙服务器数。
6. staffing 预计算每个节点的服务器成本曲线，使用整数预算DP。总预算恰好用完；固定路由流量时服务部分不受服务器数影响，因此最小sum(Lq)也最小平均外部响应。不可行不使用伪有限罚分。
7. capacity/scenarios/finite_staffing/network_capacity/network_budget/population_target 提供完整规划任务，保持假设和边界显式。
8. protocol/protocol_network 对已知字段与精确整数做校验；先限制长度与引号感知嵌套，再调用core解析器。错误不回显敏感输入，重复键后值覆盖。

## 可变对象与数值语义

pub(all)模型是普通值结构，其Array字段可变；不宣称整个API深度不可变或并发安全。with_servers和scaled_load返回独立复制的路由与外部数组。计算不主动修改调用者模型。
Double尾概率可下溢为0，条件数很差、溢出或不稳定模型被拒绝。范围是计算资源／数值保护，不是全域精度承诺。

## 验证独立性

Python oracle不调用MoonBit内部函数，分别用阶乘/70位Decimal有限乘积、完整产品形式状态枚举、交通固定点迭代、整数配置穷举。它通过真实CLI调用并比较语义字段。不会把LU和LU、MVA和MVA的同源实现作为独立证据。
跨目标的同一31测试包含稳定性、守恒、单调性、边界、JSON输入与外部API使用；独立oracle只通过JS执行，四目标测试不重复计成124个不同测试。

完整输入限制、时间单位、零负载约定和非目标见根README。源代码与结果使用者须自行判断独立Poisson／指数假设是否合理。
