浅念
|
236f3dc4d3
|
fix(preview+pipeline): 资产键编码归一——7 张全角名图片预览 404 修复;证据文档叙述修正
spec 复审发现(浏览器可见缺陷):manifest 资产行 exact_key 有 7 例为裸形
(文件名含全角括号/顿号/间隔号)——html/redirect 键源数据侧已编码、asset
键来自文件名本体是裸形;浏览器对裸非 ASCII 一律百分号编码后发请求,预览
按请求字节逐字匹配 → 裸键永不命中 → 两页 3 张图破图(dist 文件在盘;
生产面 nginx 先解码不受影响)。修补 pipeline.toManifestRoute:exact_key
归一为 URL 线形(可打印 ASCII 原样、其余 UTF-8 百分号编码大写 hex),
target_file 仍盘上裸名、DB/渲染快照域不变。
回归三层:build-pipeline 注入裸全角资产行(红验证);preview-server 2c
非 ASCII redirect → Location → 资产终端 200;e2e 断言 ④c(7 条全查
跟随到终端 200)+ ⑦c(manifest 2772 键全 ASCII 不变量)。spec 复审复跑
(新库全链 job e059bf41)23/23 PASS,浏览器实测 3 张原破图全部加载。
证据文档:§5.2 失败计数修正(5×500+2×mojibake=7 例)、§2 ①c 措辞对齐
断言实义(抽前 3 标题)、§5.5 修补记录、计时/产物/job 面更新至复跑值。
验证:vitest 382 + 主题 26 全绿(408);typecheck 过;lint 裸跑零告警。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-22 15:31:14 +08:00 |
|
浅念
|
c64f6ac48a
|
test(evidence): 阶段4端到端预览验收
Plan 4 Task 8:真实 hesupipe 全链(register 副本复用 → import → publish
→ build → preview)临时库端到端验收,断言 21/21 PASS + 浏览器时刻 6 截图
无破版无横向溢出。新增 scripts/e2e-real.mjs(chain/serve 两子命令)与
docs/evidence/phase4-preview.md + phase4-assertions.json + screenshots/。
验收内修补(预览服务器,均有回归测试锁定):
- Location 头 ASCII 化:非 ASCII 码位按 UTF-8 百分号编码——原样 setHeader
触发 ERR_INVALID_CHAR 崩 500 或 latin1 mojibake(1746 redirect 全量
校验显影 2+3 例);manifest 原串保持权威,测试 2b 锁定。
- CSP 放行内联样式:Astro 5 scoped 样式内联 <style> 被 default-src 'self'
拦截(浏览器时刻显影,HTTP 级不可见);测试 6 断言同步。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-22 14:33:55 +08:00 |
|
浅念
|
1c4c163743
|
test(evidence): 阶段3真实全量导入验收
Plan 3 Task 7:真实 hesupipe 输入(WXR 5.5MB + 媒体 2625 文件/164.53MiB + 侧车 859 条)
全量导入验收证据——断言总表 21 项全过(content_entries=192 / source_records=1122 /
terms=451+476 自建 / media_assets=836 全侧车二级命中+19 missing 全列 / routes=2772
逐桶闭合 / published 指针全程未动);换 key 二导全幂等(五表行数不变);临时库验后
DROP;storage/incoming 副本保留(Plan 4 构建用)。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-21 20:54:28 +08:00 |
|
浅念
|
a227cfac49
|
feat(source): 媒体映射侧车导出与登记
Plan 3 Task 0(评审 Issue 1):旧 cms 库 media_assets 的 source_url→file_path
映射只读导出为侧车 JSON(859 条,覆盖率对照 WXR 855 attachment_url:精确命中
836 / 归一命中 0 / 未命中 19,97.8%),register 新增 --media-map 输入通道
(kind=manual_url_list 快照,形状校验 INVALID_MEDIA_MAP,metadata 含条目数,
幂等复用)。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-21 14:42:32 +08:00 |
|
浅念
|
21ef37232d
|
test(evidence): 阶段2真实WXR冒烟通过
真实 hesupipe WXR(5,490,399B,SHA-256 与 Plan 1 基线一致)跑 wxr:probe 全链:
计数 18 项对照全过(rows 1047 / terms 451 / unsupported 75 细分一致 / failed 0 /
item 总数 1122);heapUsed max 62.2MiB < 100MiB(setInterval(100ms) 双 max 口径,
全程 167ms 仅 2 样本如实注明);parseMs 含流 IO 等待口径注明。
nicename 锚点核对:在表 taxonomy 706/706 全命中(nicename≡slug,违例 0);
category/post_tag 共 807 引用因 wp:term 表缺该 taxonomy 不可解析——阶段 3 需按
(domain, nicename) 自建缺失 term,不能假设 term 表完备。
eslint.config.js:scripts/*.mjs 显式 node 全局(no-undef 误报)。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-21 13:25:09 +08:00 |
|
浅念
|
7d1ccd3dd8
|
docs: 阶段0收尾——Task 0.3/0.4 勾选、基数文档措辞修正
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-20 17:34:28 +08:00 |
|
浅念
|
2ee84851cb
|
chore(evidence): hesupipe WXR 输入基数记录
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-20 17:32:03 +08:00 |
|
浅念
|
2b1130c92c
|
docs: Task 0.1 收尾——cms 基线降级为信息性记录(发现 cms 为活跃仓库)
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-20 17:23:28 +08:00 |
|
浅念
|
d64a035e4c
|
chore(evidence): 记录阶段0环境版本基线(含 cms 只读基线与 gitignore 验证)
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-20 17:17:12 +08:00 |
|