# EM PathS 单调重采样修复设计

## 问题

`FullDirectionSegment` 会将纵向候选轨迹按固定时间步长重采样。纵向解验证允许
`Validation.KinematicTolerance` 范围内的求解数值残差，但 `TrajectorySampleSchedule` 对重采样
`PathS` 使用零容差递增检查。因此合法候选会在发布阶段因微小回退被拒绝。

## 目标与边界

- 容差内的 `PathS` 数值回退或终点越界应被归一化成单调、有界的发布样本。
- 超过容差的真实回退仍必须拒绝。
- 错误诊断应包含样本索引、前值、当前值与差值。
- 不修改 `Control`、`Shared`、`StateEstimation`、`Trajectory` 或现有控制 Movement。

## 设计

`EmTrajectoryAssembler` 从已验证配置中读取 `Validation.KinematicTolerance`，并传给
`TrajectorySampleSchedule`。调度器在收录每个样本时：

1. 将候选末点 `S` 作为当次轨迹的上界。
2. 若当前 `PathS` 低于上一发布值，且回退量不超过容差，则归一化为上一值。
3. 若当前 `PathS` 高于终点，且越界量不超过容差，则归一化为终点。
4. 任一偏差超过容差时抛出详细异常，不发布轨迹。
5. 归一化只改发布样本，不改动 QP 候选、不改控制器输入协议。

## 测试

- RED：构造容差内微小 `PathS` 回退的完整方向段候选，现状应抛异常。
- GREEN：修复后可成功发布，所有样本 `PathS` 不递减且不超过终点。
- 保护性测试：超过容差的回退仍被拒绝，诊断包含关键数值。
- 回归：运行 EM trajectory / planning / observation 验证与主工程 Release 编译。
