状态(2026-06-11 归档): 本路线图已被 v7 story repo 规格吸收,作为独立计划取消。条目归宿:M1-1 被否决(v7 spec §13,信息差/+时间线在场列取代 witnesses 投影);M1-2 → 承诺派生指标(§5)+ 句式体检;M1-3 → 风格宪法否决入宪(§6.1);M1-4 → 记忆层卷摘要(§4.6);M2-1 → 体检事务(§9);M2-2 → 三镜头评审(§8);M3-1 → 卷复盘伏笔机会扫描(§9);M2-3/M3-2/M3-3 随冻结令搁置。本文"不做清单"中的"禁全自动"已被 spec 0.5 撤销(§8.1),以 spec 为准。见
docs/architecture/story-repo-spec-2026-06-10.md。来源:2026-06-10 全项目审查 + 「AI 写长篇网文系统」架构讨论。 前置依赖:
docs/superpowers/plans/2026-06-10-audit-fix-plan.md(修复计划)完成 Phase 0/1 后启动本路线图;两者改同一批模块,不要并行。
动机:悬念 = 作者已知/读者已知/角色已知三个集合的差。AI 两类隐蔽错误——泄密(角色说出不该知道的事)和废笔(向读者复述已知信息)——现有 review 维度抓不住。
设计:
story_event_schema 增加可选字段 witnesses: [entity_id](哪些角色在场/得知)。data-agent 提取事件时顺带标注,无标注默认"仅在场角色"。knowledge_projection_writer:按角色累积"已知事件集",落 index.db 新表 entity_knowledge(entity_id, event_id, learned_chapter)。write_gates/prewrite.py 或 context pack 新 section knowledge_boundaries)注入:本章在场角色各自不知道的关键事件 top-N(按与本章大纲的实体重叠筛选)。info_leak:扫描本章对白/内心戏中出现的实体与事件关键词,比对说话角色的已知集,疑似泄密列为 warning(不自动 blocking——误报率先观察一个月)。落点:story_event_schema.py、新 knowledge_projection_writer.py、event_projection_router.py 注册、context_manager.py 新 section、review_pipeline.py 新检查器。
验收:构造"角色 A 不在场的密谋事件"测试项目,A 的对白引用该事件时 review 报 info_leak。
动机:爽点密度/钩子强度目前是 SKILL 里的指导性文字,模型打折执行;chapter_reading_power 表已有 hook_type/hook_strength 数据但没人消费成硬门禁。
设计:
pacing_metrics.py:输入章号,输出确定性指标——距上次主线推进章数(strand_tracker)、距上次 strong hook 章数、本章爽点事件数(event log 中 payoff 类事件)、连续过渡章计数。write_gates/postcommit.py 增加软门禁:连续 N 章(默认 3)无 strong hook 或主线停滞超过配置阈值 → commit 通过但输出醒目"节奏债"警告并写入 chase_debt(表已存在,复用)。webnovel-review SKILL 把"节奏检查"从模型评审项改为:先读 pacing_metrics 输出,模型只解释数字、不重新估计数字。落点:新 data_modules/pacing_metrics.py、write_gates/postcommit.py、review SKILL Step 调整、dashboard PacingPage 直接展示该指标(前端已有页面骨架)。
验收:构造连续 4 章 weak hook 的测试数据,postcommit 输出节奏债警告。
动机:作者连续改掉同类表达,系统应学到风格规则,而不是等第四次。override ledger 与 project-memory add-pattern 机制都已存在,缺的是连接。
设计:
override_ledger_service.py 新增 summarize_recurring(min_count=3):按 override 的 category/target 聚类,输出"同类否决 ≥3 次"的候选规则。webnovel-review SKILL 收尾步骤加一条指令:调用上述命令,存在候选时向作者展示"检测到你多次否决 X,是否固化为风格规则?",确认后写入 project_memory.json 的 patterns(已有 add-pattern 命令),后续 context pack 的 preferences section 自动携带。落点:override_ledger_service.py、review SKILL、无新存储。
验收:3 条同类 override 后 summarize_recurring 返回聚类项。
动机:现有 recent_summaries(近 3 章全文摘要)+ story_skeleton(间隔采样)之间缺"卷级摘要",写 800 章时中距离剧情(50-200 章前)的召回靠 RAG 撞运气。
设计:
.webnovel/summaries/volume_NN.md(500 字内:主线推进、关系变化、未回收伏笔清单)。context_manager._build_pack 的 core 增加 volume_summaries:当前卷之前的全部卷摘要(每卷 500 字,30 卷也只有 1.5 万字,且随距离可再截断)。落点:plan SKILL 卷复盘步骤、context_manager.py、summary_projection_writer.py 不动(卷摘要由 skill 流程产出而非投影)。
验收:构造含 volume_01.md 的项目,context pack 出现 volume_summaries section。
动机:千章尺度的声音漂移无法靠上下文策略根治(逐章累积、每步都在容差内),只能靠周期性度量校准。style_sampler.py 已有采样底子。
设计:
style_sampler 扩展 fingerprint 子命令:对指定章节区间计算——句长分布(均值/方差/分位)、对白占比、高频口癖词 top-20(按角色分组)、段落长度分布、标点密度。结果存 index.db 新表 style_fingerprints(range_start, range_end, metrics_json)。voice_contract section(写前注入),漂移报警时由作者决定校准方向(回拉 or 接受演化并更新基线)。验收:人工构造前后文风差异明显的两批章节,fingerprint diff 报告捕捉到句长与口癖偏移。
动机:同一模型写+评共享盲区;单一 reviewer 的注意力平均分配等于都不深。
设计:
--lens reader(毒舌白嫖读者:只回答爽不爽、第几段想划走、会不会弃)、--lens editor(结构与商业性)、--lens fact(只比对事实,输入为机检结果+contract)。验收:同一测试章三镜头输出可区分(reader 镜头不含结构术语,editor 镜头不含"这段不够爽"类表述)。
动机:multi-agent 是拿 token 换确定性,写百万字的成本会劝退真实作者;context 减负重构(refactor/context-minimal-flow 分支)已在做单次调用瘦身,缺总量视角。
设计:
run_ledger 已记录每次 SubagentRun,扩展记录 prompt/output 字符数(近似 token);quality_trend_report 增加"每章成本"曲线。--profile minimal/full 两种 context 模板(TEMPLATE_WEIGHTS 已支持多模板),review 分数与成本一起入库,用数据决定默认模板瘦到什么程度。验收:quality_trend_report 输出含每章成本列与超预算标记。
动机:AI 不会自己起意"这里埋个 300 章后才响的雷";目前伏笔全部依赖大纲显式声明。这是开放问题,谁解了谁有护城河。
设计草图:plan skill 的卷规划步骤新增"机会扫描":输入 = 未回收伏笔清单 + 总纲远期节点 + 本卷章纲;让模型提议 3-5 个"本卷可顺手埋、N 卷后回收"的候选(必须引用总纲的具体远期节点作为回收点,防止悬空),作者勾选后写入 plot_threads.foreshadowing(带 target_chapter)。人选 AI 提,不全自动。
验证标准:连续两卷使用后,作者采纳率 ≥1/卷 才值得保留;否则砍掉。
设计草图:reader 镜头(M2-2)的延伸——按"白嫖党/老书虫/女频读者"等画像参数化,对每章输出 0-100 弃书风险与触发段落。先只做趋势可视化(dashboard 已有 reading-power 页),积累 100+ 章人工对照后再决定是否进入门禁。明确定位:参考信号,永不 blocking。
若作者发书,把章节追读/留存数据(手动导入 CSV 即可)与 review 分数、pacing_metrics 做相关性分析(quality_trend_report 扩展)。哪个内部指标与真实留存相关性最高,哪个就升权——让质量闭环最终锚定在读者行为而不是模型口味上。
修复计划 Phase 0/1 ──> M1-1 知识边界 ──> M2-2 评审人格(fact镜头吃M1-1产出)
├──> M1-2 节奏度量 ──> M2-3 成本预算线(共用run_ledger/报告)
├──> M1-3 Override泛化
└──> M1-4 卷级摘要 ──> M2-1 文体指纹(共用采样基建)
M3 全部独立立项,任一 M2 完成后可启动