9d2cc0a46d
§6.1 处置全表落 route_registry(route 域唯一写入方): - 内容 permalink → html(路径保真 + target_content_id 经 source_records 关联); 首页 / 与主列表 /products/ /news/(CLI 参数注入)finish 期生成; - category/product_cat → html(public_base_path 常量 + term slug);post_tag/ product_tag → 301 对应主列表(terms×taxonomies 全表 finish 期生成); - attachment 页一律 301 媒体文件(前置事实 10 降级一条汇总 issue;暂存事件、 finish 反查 media_assets——依赖 media-writer 先落资产的时序契约); ?attachment_id= 查询形态走 query_key 单独建模(spec §5.6 查询路由不并 path); - 上传媒体路径 → asset(media_assets 全表;target_file 为产物路径占位); - ?p=/&page_id= 不插行(route_kind 六值无 excluded——查询路由 SP3),计数 routesExcludedQueries + 逐条 issue 落 excluded_with_reason 报告语义; - ADR-007 双键:/About 与 /about 并存 + collision_key 折叠预警不计失败; 同 exact_key 异 owner 冲突保留先到 + issue 列后者; - upsert 三分:miss INSERT / 同 owner 描述字段 diff UPDATE / 异 owner 冲突; 幂等重跑零计数,--news-path 变化触发 tag 301 目标同行 UPDATE。 counts 独占五键(route 前缀):routesCreated/routesUpdated/routesRedirects/ routesCollisions/routesExcludedQueries。315 测试(+5);typecheck/lint 绿。 Co-Authored-By: Claude Code <noreply@anthropic.com>