# 开发执行日志 创建人员:Codex 文件职责:记录 Project D 开发体系中的实际编码、测试、自检、偏离和结果回写。 管理规范/模板:../../common/dev-doc/编码规范.md;../../common/dev-doc/开发执行日志模版.md。 引用文件:开发事项总纲.md;开发事项计划.md;开发审计报告.md;开发问题记录.md;重型开发方案按事项创建。 记录方式:append-only 开发执行日志;每次开发执行追加到文件末尾。 ## 1. 当前日志说明 本文件记录 Project D 根级开发体系的开发执行日志。目标开发工作区 `dev/exp-dev/` 只存代码和测试,不另开开发账本。 ## 2. 日志记录 ### DEV-LOG-D-HEAVY-001 开发事项:DEV-D-HEAVY-001。 开发计划:DEV-PLAN-D-HEAVY-001。 执行人员:Codex。 执行时间:2026-06-03。 目标代码:`dev/exp-dev/manifest_pack_validator.py`。 测试代码:`dev/exp-dev/test/test_manifest_pack_validator.py`。 编码方案:`dev-doc/exp-doc/开发方案/CODE-D-HEAVY-001.md`。 关键过程: 1. 按方案实现 `sha256_file`、`load_manifest`、`validate_case`、`write_outputs` 和 CLI。 2. 自检时发现 manifest 文件路径如果不限制在 case 目录内,会导致路径穿越风险;已在 `_safe_resolve_case_file` 中修复。 3. 增加 `test_validate_case_blocks_path_traversal` 回归测试,确认 `../escape.txt` 会 FAIL。 4. 准备 valid/missing/hash 三类实验输入包。 5. 运行编译检查和单测。 6. 运行 RUN-D-HEAVY-001 并生成结果包。 7. 补 RUN-D-HEAVY-002 复用实验时发现 `summary.json` 和 `readout.md` 的 experiment_id/run_id 写死;已改为从 input_root/output_dir 动态生成。 8. 补动态 ID 回归断言,并重新运行 RUN-D-HEAVY-001 与 RUN-D-HEAVY-002。 执行命令: 1. `python -m py_compile .\manifest_pack_validator.py .\test\test_manifest_pack_validator.py`。 2. `python -m unittest discover -s test -p "test_*.py"`。 3. `python .\dev\exp-dev\manifest_pack_validator.py --input-root .\exp-data\raw\EXP-D-HEAVY-001 --output-dir .\exp-data\result\RUN-D-HEAVY-001`。 4. `python .\dev\exp-dev\manifest_pack_validator.py --input-root .\exp-data\raw\EXP-D-HEAVY-002 --output-dir .\exp-data\result\RUN-D-HEAVY-002`。 测试结果: 1. py_compile:PASS。 2. unittest:5 tests OK。 3. RUN-D-HEAVY-001 CLI:exit code 0。 4. RUN-D-HEAVY-002 CLI:exit code 0。 输出: 1. `exp-data/result/RUN-D-HEAVY-001/summary.json`。 2. `exp-data/result/RUN-D-HEAVY-001/case_results.csv`。 3. `exp-data/result/RUN-D-HEAVY-001/file_check_details.csv`。 4. `exp-data/result/RUN-D-HEAVY-001/readout.md`。 5. `exp-data/result/RUN-D-HEAVY-002/summary.json`。 6. `exp-data/result/RUN-D-HEAVY-002/case_results.csv`。 7. `exp-data/result/RUN-D-HEAVY-002/file_check_details.csv`。 8. `exp-data/result/RUN-D-HEAVY-002/readout.md`。 自检结论: 实现符合 DEV-D-HEAVY-001;路径安全问题和结果包身份写死问题已在实现阶段修复并有单测/双实验覆盖;两个结果包 quality_pass=true。 状态:已完成,进入实现审计。