- 正文源=线上渲染页(Halo 快照层 patch 残迹:泥潭/赎罪仅 2 字符),
pandoc html→gfm + tags API 显示名换算后分类:5 书评(五档情绪色)+1 技术
- 图库 21 张:长边 2400/q86 压缩入仓(原图 196M→9.5M——公开仓历史膨胀
与 nginx 100M 推送上限双杀;原图在 Phase 0 备份 tar 中永久留档)
- 瞬间 1 条;URL 1:1(6 slug 全等,零 301)
- 本提交由 7 个本地提交重写而成(清除已进历史的 196M blob,未推送过);
因 reset --soft 暂存竞态,一并包含 spec 归档文件
(.spec/specs/archive/2026-10-24_migrate-blog-content/)
验证: check_urls.py 6==6;astro build 11 页 exit 0(8.67s);
EXIF 管线跑通;staging 更新;halo healthy+200 全程未动
Co-authored-by: GLM-5.3
19 lines
6.3 KiB
JSON
19 lines
6.3 KiB
JSON
{"task": "task_0001", "cmd": "python3 scripts/migrate/halo_export.py && test -s .migration/posts.json -a -s .migration/photos.json -a -s .migration/moments.json", "exit": 0, "duration_s": 0.123, "stdout_tail_sha256": "699736f8797aff67c64059e37cba3aa37c1475775c72d5ba1c1dbf83eba3abd5", "tree_fp": "6793c11406ad40ef6df4c45c889f5cf5e126c90cbe4c4e3439b77f72388681d1", "at": "2026-10-24T16:31:05+00:00"}
|
|
{"task": "task_0002", "cmd": "python3 scripts/migrate/posts_to_md.py && pnpm astro build && ls content/posts/*.md | wc -l | grep -q 6", "exit": 0, "duration_s": 5.715, "stdout_tail_sha256": "1a67fee079b33106f1c7fd8dd7da59aee0ef6ee0cdd2d3efaa206b5c0c9a0a6b", "tree_fp": "6793c11406ad40ef6df4c45c889f5cf5e126c90cbe4c4e3439b77f72388681d1", "at": "2026-10-24T16:31:11+00:00"}
|
|
{"task": "task_0003", "cmd": "python3 scripts/migrate/photos_migrate.py && test $(ls content/photos/*.jpg | wc -l) -eq 21 && pnpm astro build", "exit": 0, "duration_s": 5.257, "stdout_tail_sha256": "da8745282748e678828d6f636c48e02d971f6c99168aebd83ddcc6d7a96b61e2", "tree_fp": "6793c11406ad40ef6df4c45c889f5cf5e126c90cbe4c4e3439b77f72388681d1", "at": "2026-10-24T16:31:17+00:00"}
|
|
{"task": "task_0004", "cmd": "python3 scripts/migrate/moments_migrate.py && test $(ls content/moments/*.md | wc -l) -ge 1 && pnpm astro build", "exit": 0, "duration_s": 5.518, "stdout_tail_sha256": "c9867e44e3eab1270dfbf958a6355b462312396629e36b89b6c56c2c6da58faf", "tree_fp": "da8f6bffaa1f34b8b18c67a01ad9c0506ad325f2cde2c38c2bea46252493eb73", "at": "2026-10-24T16:31:23+00:00"}
|
|
{"task": "task_0005", "cmd": "python3 scripts/migrate/check_urls.py", "exit": 0, "duration_s": 0.03, "stdout_tail_sha256": "cf0053bb7b862b9081d57788becd7e9ae7cbaa8b672765c3f0e39843648d1176", "tree_fp": "da8f6bffaa1f34b8b18c67a01ad9c0506ad325f2cde2c38c2bea46252493eb73", "at": "2026-10-24T16:31:24+00:00"}
|
|
{"task": "task_0006", "cmd": "bash infra/deploy/build.sh && docker inspect -f {{.State.Health.Status}} halo-halo-1 | grep -q healthy", "exit": 0, "duration_s": 8.065, "stdout_tail_sha256": "793c974ad37559720dfd96860b8ae4e24886465167e690258663037c6dc6f159", "tree_fp": "da8f6bffaa1f34b8b18c67a01ad9c0506ad325f2cde2c38c2bea46252493eb73", "at": "2026-10-24T16:31:32+00:00"}
|
|
{"task": "task_0001", "cmd": "python3 scripts/migrate/halo_export.py && test -s .migration/posts.json -a -s .migration/photos.json -a -s .migration/moments.json", "exit": 0, "duration_s": 0.124, "stdout_tail_sha256": "699736f8797aff67c64059e37cba3aa37c1475775c72d5ba1c1dbf83eba3abd5", "tree_fp": "90b9364bd579f0c17cc49becf9a9e63a2dca2a403456e4444cde7366d3a7e30a", "at": "2026-10-24T16:32:16+00:00"}
|
|
{"task": "task_0002", "cmd": "python3 scripts/migrate/posts_to_md.py && pnpm astro build && ls content/posts/*.md | wc -l | grep -q 6", "exit": 0, "duration_s": 5.468, "stdout_tail_sha256": "3de67faa5fc76d40243f6e91adb50985d0d1b721af6d6f643f0a79ff509d01db", "tree_fp": "90b9364bd579f0c17cc49becf9a9e63a2dca2a403456e4444cde7366d3a7e30a", "at": "2026-10-24T16:32:22+00:00"}
|
|
{"task": "task_0003", "cmd": "python3 scripts/migrate/photos_migrate.py && test $(ls content/photos/*.jpg | wc -l) -eq 21 && pnpm astro build", "exit": 0, "duration_s": 4.935, "stdout_tail_sha256": "ca7b421d1bb9417478eb42fb7657315f65e6bbb3b775b58b0485628b7dadf49b", "tree_fp": "90b9364bd579f0c17cc49becf9a9e63a2dca2a403456e4444cde7366d3a7e30a", "at": "2026-10-24T16:32:29+00:00"}
|
|
{"task": "task_0004", "cmd": "python3 scripts/migrate/moments_migrate.py && test $(ls content/moments/*.md | wc -l) -ge 1 && pnpm astro build", "exit": 0, "duration_s": 4.474, "stdout_tail_sha256": "6ddfdc0bddd6bc5ec3eea52b73adfdf867e5e04741fb34af81e243373a5ff3fc", "tree_fp": "fa616c9476889793315d463cfc6e5fcc7fb10a8482756cbf8a3c55dc98310714", "at": "2026-10-24T16:32:33+00:00"}
|
|
{"task": "task_0005", "cmd": "python3 scripts/migrate/check_urls.py", "exit": 0, "duration_s": 0.029, "stdout_tail_sha256": "cf0053bb7b862b9081d57788becd7e9ae7cbaa8b672765c3f0e39843648d1176", "tree_fp": "fa616c9476889793315d463cfc6e5fcc7fb10a8482756cbf8a3c55dc98310714", "at": "2026-10-24T16:32:33+00:00"}
|
|
{"task": "task_0006", "cmd": "bash infra/deploy/build.sh && docker inspect -f {{.State.Health.Status}} halo-halo-1 | grep -q healthy", "exit": 0, "duration_s": 7.919, "stdout_tail_sha256": "5cea5e72f4aeb6e1ee4583fadbf521d69e077a8f3ea60664786c496bbbf7e65d", "tree_fp": "fa616c9476889793315d463cfc6e5fcc7fb10a8482756cbf8a3c55dc98310714", "at": "2026-10-24T16:32:41+00:00"}
|
|
{"task": "task_0001", "cmd": "python3 scripts/migrate/halo_export.py && test -s .migration/posts.json -a -s .migration/photos.json -a -s .migration/moments.json", "exit": 0, "duration_s": 0.127, "stdout_tail_sha256": "699736f8797aff67c64059e37cba3aa37c1475775c72d5ba1c1dbf83eba3abd5", "tree_fp": "f80c74c41196ec1ddc16ec0e72f4302e0cce0e5cefecdcf2733aa15a171e9af9", "at": "2026-10-24T16:33:48+00:00"}
|
|
{"task": "task_0002", "cmd": "pnpm astro build && test $(ls content/posts/*.md | wc -l) -eq 6", "exit": 0, "duration_s": 6.308, "stdout_tail_sha256": "41f34d67a7ad55370fffe892eaac9b0e6b4b5de283469eb4d491fda0c8b77823", "tree_fp": "f80c74c41196ec1ddc16ec0e72f4302e0cce0e5cefecdcf2733aa15a171e9af9", "at": "2026-10-24T16:33:54+00:00"}
|
|
{"task": "task_0003", "cmd": "test $(ls content/photos/*.jpg | wc -l) -eq 21 && pnpm astro build", "exit": 0, "duration_s": 4.889, "stdout_tail_sha256": "7f54d189b311fb1e1648bb98c718b5899cddee3834f74cf9431d02ea0ad4a04b", "tree_fp": "f80c74c41196ec1ddc16ec0e72f4302e0cce0e5cefecdcf2733aa15a171e9af9", "at": "2026-10-24T16:33:59+00:00"}
|
|
{"task": "task_0004", "cmd": "test $(ls content/moments/*.md | wc -l) -ge 1 && pnpm astro build", "exit": 0, "duration_s": 4.676, "stdout_tail_sha256": "b867975420680f99cab4ef724663adc53b578c99d0264a6bf7d85befff6bfcdb", "tree_fp": "f80c74c41196ec1ddc16ec0e72f4302e0cce0e5cefecdcf2733aa15a171e9af9", "at": "2026-10-24T16:34:04+00:00"}
|
|
{"task": "task_0005", "cmd": "python3 scripts/migrate/check_urls.py", "exit": 0, "duration_s": 0.028, "stdout_tail_sha256": "cf0053bb7b862b9081d57788becd7e9ae7cbaa8b672765c3f0e39843648d1176", "tree_fp": "f80c74c41196ec1ddc16ec0e72f4302e0cce0e5cefecdcf2733aa15a171e9af9", "at": "2026-10-24T16:34:04+00:00"}
|
|
{"task": "task_0006", "cmd": "bash infra/deploy/build.sh && docker inspect -f {{.State.Health.Status}} halo-halo-1 | grep -q healthy", "exit": 0, "duration_s": 8.207, "stdout_tail_sha256": "d7f276381ce632fc8fdeee35c60902ecc95258fd649aaf33f29ad68090be2561", "tree_fp": "f80c74c41196ec1ddc16ec0e72f4302e0cce0e5cefecdcf2733aa15a171e9af9", "at": "2026-10-24T16:34:12+00:00"}
|