# M13-04F:受限且脱敏的 Blender 输出 - `task`: `M13-04F` - `parent`: `M13-04E` - `status`: `done` ## 目标 为真实 Blender server job 建立有界 stdout/stderr receipt:输出超出预算时截断,并过滤凭据和 内部绝对路径;仍保持 `execution=DISABLED`,不发布 job 结果。 ## 输入 - manifest:`tests/golden/M13-04E/manifest.json` - 生产启动:`tools/web/server-job-startup.py` - 工作区合同:`tools/web/server-job-isolation.mjs` - 最小运行时:固定 Blender 5.2 `--background --factory-startup` ## 范围 - 做:固定 stdout/stderr 字节预算、截断标记、凭据/内部路径脱敏和稳定 receipt 字段。 - 不做:取消进程、进程树清理、超时/OOM 错误映射、OPFS 结果提交;这些分别属于 G-J。 ## 验收 ```text npm --prefix web run test:server-job-output-redaction ``` 验收必须包含正常输出、超长输出、token/API key、Unix/Windows 风格内部路径和空流负例;真实 输出不可把 source path、环境变量值或完整命令行泄露到 report。 ## 产物和交接 报告、checker、unit/E2E(如适用)、package hash 和 manifest 写入 `tests/golden/M13-04F/`; 成功后 manifest 的 `nextTask` 必须为 `M13-04G`。 ## 回滚 移除输出 receipt/脱敏实现、专项测试、checker、package 命令、报告、manifest 和状态页;将 `M13-04E` 恢复为队列尾。