novel-pipeline 纯净性违规:holy_city 历史常量硬编码为通用回退,污染新作品时间线
📝 描述
【发现场景】为新作品 renaud-crusade(第一次十字军)建 work 时,发现两处同源的"作品级数据硬编码进通用管线"违规。 【实例A — 历史锚点(待架构决策)】`_seed_historical_anchors_from_constants`(及 story_time_anchor / chapter_time_boundaries 回退)把 holy_city 的第一次十字军历史事件逐字硬编码进通用管线,作为"缺 history.yaml 时"的回退,带 `护栏 R1 不得改动` 注释。holy_city 自身无 history.yaml,依赖这些常量。修复建议:①抽出到 works/holy_city/history.yaml;②回退改 fail-loud。**因触及 holy_city 存量依赖 + R1 护栏,留待架构平台决策。** 【实例B — recipe_movement 幕名(已就地修复 2026-07-11,作先例)】`seed_generation_recipes` 的 three_act_movements 把 sword-and-vine 的三幕主题 `剑/犁/灯` + place_filter 地名(山谷/耶路撒冷/家园)硬编码,污染所有用 BLAKE_SNYDER_15 的作品。**已按"config 驱动 + 通用回退"模式修复**:新增 `_load_config_movements(work_name)` 读 config.novel.movements,缺失回退通用结构名(第一幕:建置/第二幕:对抗/第三幕:解决,零作品级数据);剑/犁/灯 迁至 works/sword-and-vine/config.yaml 保留原行为;renaud 用自己的 剑/裂缝/放下。对抗式复核 [] 无缺陷,191 测试通过,sword-and-vine 行为逐字节保留,holy_city 不受损(空 place_filter 最宽松 + 其库表本空)。 【意义】实例B 为实例A 提供了**已验证的修复模式**:作品级数据外置到 work config/yaml + 通用回退,通用管线零污染。建议实例A 照此办理。 【违反原则】CLAUDE.md 定位稳定性 / pipeline 纯净性。 【关联】发现于 renaud-crusade 生成流程。
🏷️ 标签
novel-pipeline pipeline-purity tech-debt holy_city-coupling
🔄 推进状态
创建于 2026-07-11 04:53