# B06 审校修订 ## 职责与对象 报告、问题、声音、机器味规则、受控修改和质量案例。 实例归属以[总体架构](../总体架构.md)为准;结构、状态和公开外壳分别引用数据模型与接口契约。 ## 公开接口 | 用例 | 输入责任 | 输出与后果 | |------|----------|------------| | review_content | 固定文本、上下文、结构和检查范围 | 绑定版本的报告及覆盖 | | 文学输出合同 / 核验文学片 / 组装文学报告 | 固定分片、允许依据、声音状态及逐片结果 | 引文/核心归属与三维修留问核验,明确未审区;纯函数不认证模型或落库 | | 准备文学输入 / 读取文学任务 | 已保存正文、任务范围、片参数与资源 | 固定或重验正文、片计划、提示词和输出合同,不修改正文 | | 已审文学片 / 保存文学片 / 保存完整文学报告 | 当前领取、实际模型输入、输出及真实调用 | 逐片核对后只追加;全片齐备才落完整报告,恢复不重发已存片 | | 读取文学工作面 | 认证作者及完整审校任务ID | 只读可重复读快照下返回报告或部分工作面、任务状态和当前漂移 | | build_voice | 认可样张与来源 | 声音候选及保护项 | | 提出声音 / 打开声音审阅 / 决定声音 | 作品、固定样张、声音提案定位与真实作者审阅 | 未决提案和显式采纳/拒绝/暂缓;仅采纳追加声音版本 | | 当前声音 / 读取确认声音 | 作者、作品及字段用途 | 只读真实已确认版本;缺基线为空,缺确认/来源拒绝 | | diagnose | 文本、规则与声音版本 | 具名发现和修留问判断 | | 读取规则版本 | 作者、规则ID与正数版本 | 精确历史payload、整包哈希、版本ID及激活留痕;不授予消费 | | 读取规则目标 / 列出规则诊断消费 | 作者、规则ID与正数版本 | 前者返回B07可保存的精确候选目标;后者只返回已保存诊断中真实固定过该版本的`rule_bindings` | | 打开规则状态审阅 / 决定规则状态 | 精确非语义版本、激活基线、B10专用凭据与S01审阅 | 作者采纳后追加启停事件并更新当前投影 | | 读取规则状态 | 作者与规则ID | 当前可消费性、停止/过期原因及完整启停历史 | | propose_patch | 诊断、作者授权与保护范围 | 最小修订候选及保真结果 | | choose_revision | 本轮结果、原文和剩余预算 | 停止、保留原文或下一次有限返修建议 | | 准备返修会话 / 读取返修派发 / 登记返修轮任务 | 作者、固定修订授权、配置及预注册轮数;真实S02任务快照 | 持久会话与轮任务引用;登记不执行模型、不制造候选 | | 决定返修会话 / 读取返修会话 | 作者具名命令、预期轮次、当前候选及original/candidate/retry选择 | CAS记录作者选择并恢复全部真实轮次、候选和停止原因;candidate不自动采纳 | | 读取返修比较来源 / 读取返修比较来源于 / 读取返修比较证明 | 确切会话、轮次、候选及B10导出的证明ID | 独立读取入口负责建立只读连接;“于”入口沿用调用方连接与事务,供B10同快照核对;证明入口不派发、采纳或改正文 | | 读取必需检查结论于 | 同一正式提交事务、已核归属的候选ID和确切版本 | 只读该版本的verdict或None;B05负责候选归属、缺报告/未通过拒绝及提交决定 | | change_rule_state | 具体已测版本和作者批准 | 规则生效回执 | 所有接口在本模块的接口.py 暴露。输入输出类型由同一公开表面导出,外部不导入私有模型或 SQL。 ## 内部职责(关键文件节选) | 文件 | 职责 | |------|------| | 接口.py | 审校修订公开用例和可导入合同 | | 模型.py | 审校修订稳定对象、外壳及内部状态 | | 存储.py | 审校修订所属记录的 SQL 与版本读写 | | 审校报告.py | 问题单、覆盖、版本与处置 | | 基础检查.py | 空内容、截断、结构和输出有效性 | | 连续性审校.py | 事实、视角、因果和引文证据 | | 创作质量.py | 连续性/创作质量/声音的固定片结果、引文依据与报告组装合同 | | 完整审校.py | 固定正文审校任务、真实结构化片登记与不可变完整报告 | | 声音基线.py | 样张可重复统计与未知项草案预览 | | 声音确认.py | 真实来源、S04声音内容、S01提案/确认及当前用途投影 | | 机器味规则.py | 规则候选、适用范围和版本启停 | | 规则启用.py | B10专用凭据核验、S01规则状态参与者与精确版本消费 | | 机器味诊断.py | 确定性规则定位并区分修、留、问;空规则库明确无已执行覆盖 | | 诊断服务.py | 当前规则资格复检、诊断保存及报告读取 | | 模型修订.py | 受控模型修改派发、输出核验及候选登记 | | 离线回放.py | 固定输入的确定性回放,不授予生产启用 | 受控修订.py | 诊断对应、授权范围及最小修改 | | 保真校验.py | 数字、引文、情态、事实和保护区 | | 返修策略.py | 轮数、停止、原文胜出和回退选择 | | 持久返修.py | 固定会话依据、作者选择、轮任务登记及恢复投影 | | 案例回流.py | 误杀、有效修改、拒绝与事故 | | 提示词/连续性审阅.md | 带证据的一致性审阅 | | 提示词/创作质量审阅.md | 多维质量审阅 | | 提示词/生成最小修订.md | 最小修改候选模板 | 当前完整文件位置以[审校修订源码目录](../../../../src/muse/审校修订/)为准;[目标文件清单](../项目目录与文件职责.md)与[文件合同](../文件设计/后端-B06-审校修订.md)保留历史设计目标,不作为当前文件枚举。 ## 旧规则材料与当前启用 内置规则的 `evidence` 中仍保留“2026-08-16 跳过 holdout 激活”和“129 条研究目录”字样。它们是旧实现来源记录,旧出处及当时授权尚待在固定历史基线核对,不能作为新版豁免或已完成 holdout 的证据。本次不改同版本规则载荷与指纹。 当前[规则加载](../../../../src/muse/审校修订/机器味规则.py)强制安装包规则为 `candidate`;正式[规则启用](../../../../src/muse/审校修订/规则启用.py)仍需 B10 的确切规则诊断凭据、当前版本及 S01 作者决定。未补齐当前证据就保持候选,不继承旧豁免。 ## 实现约束 - 基础有效性、语义一致性、创作质量与作者选择分别呈现。 - 长文按段落和语境处理,记录覆盖及未审区;禁止截取开头后显示整章通过。 - 数字、引文、情态、视角和受保护区分别检查;不把禁词命中当作必须修改。 - 声音、规则及案例有来源与版本。允许零修改、原文胜出和回退。 - 声音采样由确定性统计产生草案,机器味由确定性规则生成只读发现,不为二者加载未消费的模型提示词。诊断分别记录`rule_count`、`empty_library`与`coverage.rules_executed`;没有执行确定性规则时覆盖区间为空,语义未审规则不计入已执行覆盖。 - 旧`核对规则启用`签名仅作失败关闭兼容,传入评测依据也不能启用;真实启用仍经B10凭据和S01作者决定。 ## 全文分片与覆盖合同 分片处理完整可见文本,按Python Unicode码点定位,不strip、不归一化、不拆CRLF。核心区间连续、不重叠并覆盖0至全文长度;上下文可重叠,不能拿上下文重复计入覆盖。核心上限2—12000码点,上下文0—min(2000,核心上限)码点,拒bool/非整数。优先在核心上限内的段落换行处分片,单长段按上限切分;上下文边界为保CRLF可向外扩一码点。 分片固定全文SHA256、任务依据哈希、核心/上下文范围、实际片段及片段哈希。依据哈希来自服务端固定的目标版本、上下文、声音/规则/结构投影和运行资源;文本或依据变化都使片段身份改变,旧片结果不能直接沿用。报告问题单只绑定原文中的实际引文和位置,不接受任意目标编号作批准。 覆盖核对拒绝篡改文本/哈希/范围、缺失或重复计划片、陌生或重复完成片声明;未审区逐段保留,不只输出百分比。覆盖清单是确定性的范围计算,不证明模型已经执行、文学合格或报告已获批准。完整语义报告必须另经S02核对每片真实交付、任务/尝试、输入输出哈希与当前依据;不得用覆盖参数自行构造通过回执。 ## 文学片结果与报告组装合同 语义片结果固定`shard_id`与continuity/craft/voice三个独立维度。每维状态为reviewed、insufficient_evidence或uncalibrated,不提供自动文学通过、人类作者概率或检测器规避分数。问题包含Unicode全文码点位置、逐字引文、修/留/问(repair/retain/ask)、原因及已授权依据ID;起点属于本片核心,终点可延伸到同片语境,不能跨出发送范围或凭第一次字面命中猜位置。陌生依据、重复问题、引文不符、未知处置或额外字段明确拒绝。 连续性repair必须引用已授权外部依据,单靠本段措辞不能认定与事实冲突;证据不足与未标定维度不能输出repair。没有已确认声音时voice不得报reviewed,也不能强判风格缺陷。模型声称reviewed只表示该维给出了一次判断,不表示文学收益获验证。 纯函数报告组装必须重核全部分片与正文/依据哈希,逐片保存缺口,分别展示未知维度和repair/retain/ask计数;零命中仍有完整报告,未审部分不能视为零问题。纯组装固定persisted=false、model_verified=false,不能根据传入字典生成真实模型认证。正式持久化另需S02逐次结构化交付核验和当前来源核对,不以测试组装结果代替模型运行。 ## 完整审校运行与持久化合同 完整审校从作者显式选择的本书已保存正文版本发起,固定正文ID/版本/哈希、B09范围、片计划、声音/事实依据、角色策略、输出合同与资源版本。读取旧版时不自动换成当前版;新运行遇正文、目录、声音或用途变化时拒绝。基础有效性检查仍独立,不把基础启发式检查当作完整文学审校。 `完整审校`流程使用受控judge角色逐片调用,固定模型和配置、禁工具、有额度及临时原文授权。一次请求只包含该片完整语境、核心范围和冻结背景,不用全文前缀冒充整章。每片实际结果经S02结构化交付核验、B09发送依据比对及文学片合同核验后追加到B06不可变片记录;调用失败/无有效输出不产生已审片。 同任务同片只保存一份已核验结果。恢复时重验当前任务依据并回读已保存片,保留原尝试与调用归属,不把重放当新调用或重新计费。未审片继续受当前领取保护;旧执行器迟到写入拒绝。只有全计划片均有真实已保存结果时才追加完整报告;报告引用逐片真实调用和版本,S02只保存任务摘要/报告引用,B06是完整报告唯一权威。 查询能呈现完整报告或由真实已存片组成的部分工作面,并分别返回任务状态、覆盖缺口和当前依据是否失效。零问题仍有报告;没有完整报告时不伪造完成。历史报告不因当前漂移而改写,当前失效单独标明。审校不修改正文、不确认修订或启用规则;模型执行已验证不等于文学收益已验证。物理表`muse_literary_shard`与`muse_literary_report`由`V0028__文学审校报告.sql`定义;声音表仍归V0027,不复用基础检查报告主键。组合入口`启动.装配完整审校`从`配置/流程模板/完整审校.yaml`发布固定流程;`编排.完整审校.发起完整审校`选择已验证的无工具judge配置,任务与配置在同事务建立,预算仍走S02单独批准。该只读旅程与受控修订流程分别承担报告和改文职责。 ## 声音草案的统计边界 确定性画像只统计给定样张的字数、句长分布、段长、标点和引号片段占比,不用模型组装报告。样张来源声明与实际文本SHA256须一致,原字节不被统计时的空白处理替换。规模门沿既有行为:至少1000非空白码点且20句;满足规模门不证明风格代表性、作者身份或文学质量。 声音草案固定work_id、proposed状态、来源哈希、采样说明与未知字段,不产生已确认声音或写手约束。人物声音、修辞密度、叙事距离、口癖及保护表达不能仅凭统计推定。样句只列可回查的候选,不叫已过审样本;持久化/确认前仍须从真实来源版本重验并走S01,不信任离线字典自报状态或认可。 ## 作品声音确认合同 B06声音只维护全书叙述风格与作者认可的保护表达;人物语言指纹仍由B02人物维护,不接收第二份characters声音资产。声音内容使用S04 voice族结构及作品扩展,按userEditable/uiVisible/aiContext各自投影;统计画像是依据,不代替语义内容或认可。 声音候选固定作者/work_id、预期当前声音版本、S04结构选择、narrator动态值、正文样张及口癖/保护表达。样张引用恰含kind/ref_id/revision/source_hash/branch_id:document表示本书B05章节,source_hash是document_hash且分支必须明确;source表示作者导入的B03资料版本,source_hash是content_hash、branch_id须为null。经公开同事务读取核作者、作品、实际版本及哈希;B03另核analysis授权与导入归属。外部样张只有在作者显式选入并经S01认可后才成为本书声音依据,不因它是参考书就自动套用;不从路径或名称猜作品,不读取库外文本。保护表达与叙述口癖必须逐字出现在这些样张中;只有统计但无narrator内容不能确认。选择历史样张允许,但不把其revision替换为当前指针。 提出、打开审阅和采纳/拒绝/暂缓分开。S01保存未决声音提案及真实回执;采纳要求当前提案哈希、当前声音指针、样张依据和作者审阅一致,再追加不可变声音版本、更新当前指针。拒绝/暂缓不产生声音版本。查看/预览只读;S01提交参与者在短事务中锁定来源授权与S04策略后重验,避免只读查询获取FOR SHARE锁。并发声音确认不能覆盖另一已生效版本,旧提案不能换命令绕过基线冲突。 当前声音不存在时返回空投影,不改变原写手上下文;存在时必须先核真实确认及仍可读样张,再按S04当前aiContext策略提供作者指导。该指导不取代人物事实、情节要求、诊断规则激活或文学效果验证。B09声音消费、两种用途与当前依据失效语义见[B09合同](B09-上下文.md#已确认作品声音的消费合同);读取可在调用方短事务中保护到事务结束,与首次确认共用作品级锁。 ## 协作与失败 ## 规则候选与只读诊断合同 规则定义与四类例证(sf/snf/boundary/regression)作为一个不可变版本保存,身份、版本和完整内容哈希一起核对。重复导入同内容幂等;同身份同版本不同内容拒绝,新内容须递增版本。安装包种子保留旧定义及其出处,但只建立candidate,不导入旧active声明作为新版批准。装载数据库失败不退回文件种子;缺任一例证、引用不存在、类型不符或反向规则引用不符均拒绝。实际生效版本必须另有真实评测和作者批准;评测判据未满足时正式启用失败关闭。 诊断分正式生效规则与作者显式预览候选两种模式,返回真实模式、规则指纹、全文哈希、完整确定性覆盖及未审语义规则。预览结果未标定,不产生写手约束或采纳门禁。载体分类只缩小作用域;有意保护表达保留,其他词汇/结构/密度命中默认询问,不当作作者AI概率或强制修改。语义规则缺受控调用时列为未审,不以零命中伪称全维度完成。每个发现用码点区间和逐字引文定位重复文本,确定性诊断不接受外部自报模型发现。 诊断持久化从当前作者的确切正文或候选版本读取内容后重算,不接收任意报告作真证据;固定规则、声音及正文依据,重放同输入幂等,历史报告不改写。查询单列当前正文/声音/规则过期状态;缺证据与零发现分别呈现。案例默认Shadow、未授权来源只保哈希与位置;确认、例证投影和候选归纳分别验证真实来源、S01决定与多作品相反证据,不自动启用规则。 非语义规则的正式消费只从B06当前激活投影取得精确历史版本。每次新诊断在同一读取事务中核对B10凭据未停止、未过期、用途与规则/例证哈希一致,并核对S01已保存该激活修订的作者采纳决定。候选新版本只追加,不替换已激活版本;停用后新诊断不再消费,旧报告仍保留当时的版本、激活事件、凭据与过期原因。语义规则、写手约束和改文不进入此用途。 跨模块只读投影复用同一目标算法,固定`rule_id/version/version_id`、整包、规则和例证哈希,不另签目标。消费查询只认B06已经保存的诊断及其`rule_bindings`,返回诊断、正文目标、报告哈希、激活事件、凭据和S01审阅定位;启用事件本身不是消费。B07不得直接读取B06表或据意向补造消费。 B05 应用确定性正文操作,B09 提供合法证据,S02 执行角色,B07 接作者反馈,B10 验证规则版本。 缺证据、未标定、调用失败和覆盖不全独立显示;超范围修改拒绝,返修预算不足返回作者。 ## 验收行为 - 合法修辞命中规则也能保留。 - 数字情态和引文关系不被改坏。 - 报告与修订版本绑定。 - 长文覆盖完整且原文可以胜出。 验收入口和替换条件见[迁移与验收](../迁移与验收.md);这些条目是目标行为,不是已通过测试的声明。 ## 作者批准选段的确定性修订候选 `读取修订范围` 从真实诊断和确切正文版本构造单段选区,返回段落ID/段落哈希/码点区间/原文/发现ID;重复原句依位置区分。允许把紧邻逗号纳入明确展示的原文范围,不能扩展到无关词句。跨段发现不伪装成单段选区。返回的范围不等于批准。 `提出修订` 请求固定诊断ID及哈希、修改列表、作者允许范围、点名批准的发现与修改目的。每项修改须覆盖对应真实发现的位置;retain项、未批准ask项、伪引文、过期正文/声音/规则均拒绝。B05纯选段重放保存范围外字符、样式、段落身份及空白,不拆CRLF,不做Unicode规范化。跨不同样式的非空替换要求拆成明确选段。 每次替换分别校验数字、时间、推测升强断言、引文及作者保护表达,不用其他修改的相反变化抵消。获准整引文删除可以归因;保护表达仍不能删除。语义因果、人物知情、说话人及文学收益保持unverified,机械检查不冒充语义认证。保真失败不产生候选。 S01的`B06.propose_patch` 在同一事务重验诊断与当前依据,再调用B05拥有的候选参与计划写入待审候选;不改当前正文、不自动采纳。候选保存明确属于作者提交的替换,不伪造模型调用来源。相同命令/内容幂等,正式决定仍走B05既有审阅与采纳。该入口与后续S02模型提议修改分开:前者处理作者已明确提供的替换,后者须另留真实模型证据。 `选择返修` 仅返回停止、原文、等待作者或下一轮建议。最多5轮,缺完整依据降为只审,保真失败回原文;原文胜出、零修改或预算耗尽都停止,不以分数抵消硬门。 ## 受控模型修订与交付恢复 同一受控任务也接受B05选段写作授权。`source_kind=selection`时依据是作者明确正文版本/原文圈选/保护区及目的,不要求或生成诊断ID,逐项输出selection_id;`source_kind=diagnosis`仍核验真实诊断与finding_id。`V0032__选段修订依据.sql`以约束区分两类结果来源。两种入口共用S02派发证据、B09快照、B06保真/必需检查、B05候选和结果恢复;没有另一套分析或正文权威。 `审校修订`流程冻结诊断ID/哈希、作者批准的发现及码点选区、修改目的和明确writer配置。服务器从B05原版本计算槽位与附近语境;B09绑定确切正文、目录及已确认声音,发送前复检声音、规则、正文与授权。仅对获准槽位执行一次无工具writer调用,额度由S02另行批准。当前入口不自动开启下一轮。 输出必须对每个获准发现恰好给出一次replace或retain及原因。未知发现、重复发现、保留项夹带替换、伪造交付均拒绝。服务器根据原槽位组装选段修改,逐项重放和保真核验;模型不提供任意正文身份、位置或正式批准。全部保留记original,保真失败记rejected及原因,合格才保存origin=model的B05待审候选;原文均不变。 修订候选同事务保存B06必需检查报告:真实交付、批准选段与逐项保真分别留证,语义因果保持pending。沿用B05作者审阅及采纳门;不套用新写作中的“空段落错误”来破坏修订应保留的原有空行。候选编辑产生新版本后,旧报告不能再用于采纳。 `V0030__模型修订结果.sql`的B06结果表固定真实任务/尝试/调用、诊断、交付哈希、冻结快照及候选身份。结果与候选同事务保存,哈希校验且不可改写。结果提交后步骤回执中断时,恢复只补原结果,不再调用模型;当前依据变化只显示过期,不能抹掉已交付历史,也不能让旧候选覆盖当前正文。 HTTP的`revision-tasks`及CLI的`审校 模型修订/修订报告`共用请求和服务,任务读回核对作者及流程。工作台明确区分作者填写替换和调用一次写手,页面刷新按URL中的诊断与修订任务身份读回;候选仍经既有作者审阅及采纳,机械通过不表示语义或文学收益获证。 ### 参考改写(选段改写链路扩展) 参考改写不新建流程,扩展选段写作授权(mode=rewrite)的既有受控模型修订链。作者挑选参考发生在流程发起之前:检索候选→偏好重排→作者挑选参考方法版本(可不挑)并可点踩;挑选与点踩经 B07 参考挑选反馈落账,选中的 method_version_id 清单作为授权的一部分进入冻结输入。流程内无暂停点,冻结语义不变;人挑是授权构造的输入,不是流程内交互。 冻结修订步骤在既有“修订目标+声音”之外补充三类材料绑定:作者活跃偏好的偏好材料(与生成正文冻结回放同合同)、选中参考方法的原文材料(可选材料语义,受字节预算约束,超预算记省略原因不截断)与选中场景片段的原文材料(同一可选语义,材料键 `参考片段:` 前缀)。参考材料支持两类载体:方法参考(method_version_id)与片段参考(slice 身份);授权 references 节按载体分记,任一来源漂移则快照当前失效,沿用既有依赖复检。片段参考不登记方法消费(不是方法版本);其授权边界是 B03 `reference_reading` 用途与来源版本内容哈希,由依赖复检同合同保护。 入选参考在修订候选真实交付后登记方法消费(kind=review,与完整审校同合同:核对派发回执与快照入选依据,发送即事实,交付后停用不抹掉已发送;blocked 交付不登记、不产候选)。只有装配入选的方法参考登记;未入选参考未进入模型输入,不登记。消费由该登记进入 B04 消费台账,构成 B09 偏好重排的强信号路;与 B07 参考挑选的弱信号分列,不混算。 工作台交互合同:候选默认高亮重排前三,支持键盘多选;每张候选卡显示推荐理由(双路得分分项+历史选用次数),使挑选是知情的。点踩与选用在发起改写时一并落账为 B07 参考挑选反馈,记录的是作者最终选择状态;发起前点踩只是本地状态,作者未发起即离开不留痕。跳过不设显式控件:不挑参考直接发起即等价跳过,不阻塞流程。落账失败不阻断改写,但对作者可见。 ## 持久有限返修会话 `编排.审校修订.发起有限返修`预先固定作者、原正文版本与哈希、诊断或选段授权、writer配置及1至5轮上限。B06先保存会话和待建轮次,再以`session_id + round`派生的确定性命令调用既有`发起模型修订`;任务创建后才登记真实S02任务引用。创建任务或登记之间中断时,重放原命令回收同一S02任务,不重复调用,也不把未登记轮伪装成成功。 每轮只接受既有`审校修订`流程的真实任务快照,固定任务输入必须与会话的作品、章节、分支、原文版本/哈希及授权哈希一致。S02仍在发送和保存时复检正文、声音、规则、授权、领取与结构化交付,B05仍拥有候选;B06会话只引用任务、结果和候选。首轮以后只有`决定有限返修(..., choice=retry)`能以CAS登记下一轮;没有作者retry时停在`awaiting_author`,并发或过期候选不能增加轮次。 模型全量retain或等值替换以`zero_change`关闭,保真/硬门拒绝以`hard_gate_failed`关闭,最后一轮产生候选以`round_limit`关闭;到达上限后禁止retry,但仍允许作者一次明确记录选原文或选该候选,`round_limit`停止原因不被覆盖。其他轮次的作者选择原文或候选分别以`author_selected_original`与`author_selected_candidate`关闭。重试前发现固定正文、诊断、声音或规则漂移,以`basis_drift`关闭并保留原因。S02任务待对账、失败或取消且尚无结果时,由公共读回显示为`interrupted`并保留原任务状态,恢复仍针对同一任务,不创建下一轮。 作者选择candidate只关闭返修会话并记录所选未决候选,不调用B05采纳;原文和所有候选均可继续从各自owner回查。该选择不承担盲化、评分或成对比较,返修的独立比较继续归B10。物理表`muse_revision_session`、`muse_revision_round`与`muse_revision_session_action`由唯一迁移`V0052__持久返修会话.sql`定义。 ### 固定返修比较交接 `读取返修比较来源`接受同一持久返修会话中的诊断授权或作者选段授权、已完成S02原任务,以及该轮实际产生且仍为确切当前版本的模型候选。读取时同时核验原正文版本/结构哈希、授权与会话依据哈希、候选版本/内容哈希、机械保真结果、B06报告,以及S02原尝试、调用、实际模型、配置验证、角色策略和资源发布身份。诊断来源继续输出原字节合同`revision-comparison-source-v1`;选段来源输出`revision-comparison-source-v2`,明确投影模式、目的哈希、选区身份/集合哈希和保护区身份/集合哈希,不制造diagnosis_id。两者都分为带正文的维护交接材料与不带正文的公开投影;B10只能把前者写入oracle,不能另生成候选替换被比较者。 `读取返修比较证明`只从`muse_revision_comparison_status`读取B10导出的类型化证明,再按上述来源链重新核验。诊断来源保持`revision-comparison-proof-v1`,选段来源使用`revision-comparison-proof-v2`;版本与来源类型必须对应。完整且两名评委稳定选择候选时只呈现`selection=candidate`;缺评委、任务/费用未收敛、分歧、平局、未知、两侧都差、原文胜出或实验停止时呈现`selection=original`和具体原因。两种结果都固定`automatic_adoption=false`及`production_activation=not_evaluated`;读取本身不创建任务,不调用模型,也不修改返修会话、B05候选或正文。公开证明表与停止投影由`V0053__返修独立比较证明.sql`定义,正文和匿名映射不进入public。 ## 显式离线修订回放 `审校 - 修订回放 <请求JSON> --离线`不装配数据库,也不读取作者连接配置。输入固定原文文档、完整诊断产物、修改、批准发现、允许范围与本地预览授权。诊断按本次规则副本重算;伪发现、改处置、缺头、外加分数、错目标或不符规则版本均拒绝。线上与离线共用选区、引文和逐项保真核心,不维护两套修改规则。 缺事实副本且无显式缺快照授权时输出audit_only,原文不变。带完整哈希的事实副本只验证本地字节一致,不认证来源真实或当前生产状态;缺快照授权只开放离线预览。输出恒定persisted=false、model_verified=false、production_validity=not_checked,不能用作S01批准或模型证明。 回放保留机械硬门、同规则副本复扫、原文、提议稿及停止原因。保真/复扫失败、原文胜出或无修改均保留原文。作者预览选择以author_choice独立记录;它不替代独立模型成对比较,后者仍归B10。线上作者明确替换使用`审校 <配置> 作者修订 <请求JSON>`,通过真实诊断和S01保存待审候选,与离线输出分开。 ## 质量案例的来源、许可与确认 案例采集请求只提交已登记正文/候选/资料版本、码点范围、片段哈希及标签建议,不接受原文或自由上下文。B06从所属owner读取真实证据。本书文稿归当前作者;外部资料需B03核analysis/sample权限,只有sample许可和作者明确preserve_text同时具备才保存片段与上下文,否则只存定位与哈希。 采集默认shadow且无复核笔记。live_feedback必须关联真实S01决定回执,核对原文基线、实际候选或保存后版本;静态回填不能冒充已经发生的编辑反馈。改前改后保持各自版本及哈希,不把摘要或当前latest替代原对象。 确认经S01独立打开审阅与决定,固定案例版本、哈希、当前来源/权限和复核内容;无可保存文本、伪引文、未分类标签或失效审阅不能确认。确认/撤回追加版本,保留原证据。样例投影只取当前已确认且许可有效的案例;历史可查不等于仍可供规则或模型消费。 规则候选从已确认案例引用生成,必须有sf与相反证据,并检查已登记作品归属;同一作品的多个片段不算跨书,未知归属不得猜测。候选不自动启用,实际启用仍须真实评测及作者批准。 规则例证是案例在具体规则下的投影:其身份包含规则ID和确切案例定位,来源引用仍指向同一不可变案例版本。一个确认案例可支持多条规则,不能因反向规则引用不同而破坏整库读取。 案例或样张许可撤回时拒绝规则的新消费;已保存诊断保持原报告并单列当前规则依据失效原因。历史查询不回退空规则、不重新诊断,也不把原报告标为当前有效。 ## 独立语义检测合同 独立语义检测的材料组装、输出合同与核验函数由本模块公开;B10负责隔离执行单元及其持久化,模型调用由S02执行。纯合同函数不写正文或正式事实,也不证明模型已经执行。 连续性审校保留原确定性检查,并提供语义检测材料和核验合同。输入为单份实际候选、封存来源、已知断言与硬约束;只投影允许资料,不接整个oracle。输出逐陈述、逐发现、逐命题给出候选原字、来源引用和判断原因,定位由代码按Unicode码点首次原样出现派生。输出不能包含位置、哈希、总通过或模型回执。 断言与约束ID必须完整且唯一,判断引用对应命题。支持、冲突和声明的新事实须有已给依据;声明新事实须引用细纲。候选内部的视角与因果可以引用candidate,外部事实、引文和硬约束发现不能只靠候选自证。缺依据保留unknown;新设定建议只关联本次未决或细纲声明的陈述,不写正式事实。 高严重度发现、冲突陈述或失败命题得到failed;有未知而没有明确失败为inconclusive;其余为本次检测passed。状态只描述该回合判断,不证明文学效果。候选、材料、S02原输出与派生报告分别绑定,B10读回时重算,不能以重签零残留覆盖真实发现。完整性核验覆盖给定命题,不声称代码能证明模型已识别全文所有隐含事实;准确率与效果仍需独立验证。