# Changelog：API Schema 层 POSIX 路径校验（P2）

| 项 | 内容 |
|----|------|
| 日期 | 2026-06-01 |
| 类型 | 增强 / 安全 |
| 动机 | 分批审查 P2：在 Pydantic 入口拒绝 Windows 反斜杠并统一 Linux 路径形态 |

## 变更摘要

- 新增 `server/api/schema_path_validators.py`：远程绝对路径、Nexus 本机绝对路径、相对路径校验
- `server/api/schemas.py`：服务器 `target_path`、同步/文件/调度等相关字段增加 `field_validator`
- `FileDecompress.dest` 不再默认 `"."`，必须为绝对路径（与解压 API 一致）
- `sync_engine_v2`：推送前对 `source_path` 做 `to_posix`
- 测试：`tests/test_schema_path_validators.py`

## 涉及文件

- `server/api/schema_path_validators.py`（新）
- `server/api/schemas.py`
- `server/application/services/sync_engine_v2.py`
- `tests/test_schema_path_validators.py`（新）

## 迁移 / 重启

- 需重启后端
- 若客户端曾传 `dest: "."` 解压，将收到 422，应改为当前目录绝对路径（如 `/www/wwwroot/...`）

## 验证

```bash
pytest tests/test_schema_path_validators.py tests/test_posix_paths.py tests/test_remote_path_validation.py -q
ruff check server/api/schemas.py server/api/schema_path_validators.py
```
