一、技能重组(动作-对象命名) - 旧目录 clean/confirm/continuation/db/detect/embed/… 重组为 clean-book-text/decide-candidate/write-next-chapter/access-database/ check-content-consistency/embed-knowledge/…(git 识别为 rename,内容保持) - agents/*.md、AGENTS.md/CLAUDE.md 收编、example_skill 登记表同步新名 二、先审后入创作闭环(本次核心) 正文接受从"机械门一过就写正典"改为"机械门+语义审查双通过+用户批准+单事务原子提交", DB 级兜底,编排层跳步即被硬拒。 - candidate_cas.py + example_candidate_cas(109):持久化 CAS 状态链 - fact_delta.py + example_fact_delta/example_fact_ledger(106):结构化事实增量, 模型只提六型闭集增量+正文证据引文,仅用户批准的增量随正文同事务入账本 - projection_registry.py + example_projection_run(107):投影登记与恢复 - acceptance_state.py:接受前置实时状态重读 - lesson_registry.py + example_lesson(108):经验升格链,禁止自动升格 - DDL 105:example_candidate 增 semantic_status/semantic_report_sha256 - write_canonical.accept:语义兜底+同事务合并增量+登记投影; run_writer_pipeline/persist_writer_run/run_writer_semantic_detector/step2 接入全链 - claude_runtime:兼容新 CLI modelUsage 信息字段 三、审查修复(独立子代理四维审查后) - 事实增量 propose→approve 翻态正道,不撞唯一键 - 冻结配置探针重刷(CLI 2.1.211→2.1.231 漂移),profileSha256/adapterVersion 再登记 - 可视化合同悬空路径/五六空间矛盾、 SoT 旧技能名漂移、行尾空白清理 测试:离线 65 套 + 真实库集成 5 套(CAS/接受故障注入/事实增量/投影/经验升格)+ 回放 79 项全绿。 创作内容(docs/design、生成正文 artifacts)按"框架与创作分开"未入本提交。
6.4 KiB
6.4 KiB
上下文领域 SoT
数据权威层级、落库纪律和 raw 边界以领域索引为准(横切合同见索引 §3,raw 见索引 §8,可恢复性见 08-数据权威与可视化领域)。本文只定义上下文领域如何从库里选择、冻结、裁剪并投影角色可见输入。
1. 唯一职责
上下文领域负责根据一次任务的作品、目标章、用途、角色和预算,从数据库中选择来源,冻结版本,裁剪字段,并投影成角色可见输入。它回答“这个 Agent 在这次任务中应该看到什么、为什么能看、哪些内容被省略”。
上下文领域不创作正文、不修改实体、不评价候选质量,也不授权自己扩大来源范围。它只读库,不写库;写入由现有管线和 Skill 负责(见索引 §3)。
2. 输入与输出
输入至少包含:
work_idtarget_chapteras_ofpurposescenarioagent_rolesource_policy_versioncontext_budget
输出分两层:
- 完整冻结清单:来源标识(库内
sourceId/sourceVersion,不是文件路径)、内容哈希、版本、章号范围、选择理由、省略理由和总预算。 - 角色投影:只包含该角色完成本次任务需要的字段,不暴露运行身份、授权密钥、实验臂、raw 路径或无关来源。
3. 来源优先级(作为门禁)
已确认规划和作品边界
> 正式内容(Canonical)正文与正式实体/状态
> 作品明确绑定的激活范式
> 品类或全局激活范式
> 待审/评测中内容(仅诊断用途)
- 生产用途必须命中“激活的正式实体 + 已绑定”,否则失败关闭;不靠降级、重试或人工说明绕过。
- 作品事实不能由范式替代;范式只提供写法,不提供人物或事件事实。
- 回放任务严格拒绝目标章和未来章;正向创作读取最新正式内容和已确认规划。
- 来源缺失、哈希不符或章号上界无法证明时,失败关闭或显式省略,且省略带机械可读原因。
- 待建(目标合同):来源优先级从“门禁”升级为“择高降级裁决”——在更高优先来源可用时优先取用、低优先来源只在显式授权下降级使用,并给出裁决记录。
4. 数据库读取器(核心实现)
数据库读取器是本领域的核心实现,对齐 assemble-context 现状:从库读可信来源、冻结、再投影。它必须能够:
- 从库中枚举作品、实体和范式,按 ID、类型、名称、别名、scope、scenario 和章号过滤。
- 解析库内 schema 并确认来源可溯(来源能回到已导入参考书或作品自身正式内容);不做多租户授权快照重验(96 不启用,领域索引 §9),确认每条来源可被本次任务合法读取。
- 对选中内容计算稳定哈希:先剔除运行期易变字段,再对规范化后的 JSON 求哈希(
retrieval_identity),保证同一内容不因无关字段变动而改变身份。 - 在固定排序和预算下产生可重复的冻结清单(manifest);排序规则固定为按相似度分降序、版本升序、来源升序、偏移升序,同样输入必得同样来源集合与哈希。
- 按指针回读库行(在只读、可重复读事务中按
sourceId/sourceVersion取正式内容行),构造角色投影。
连续前四章全文构成近期基线,不可裁剪;若预算不足以容纳基线加硬约束,失败关闭,不静默丢硬约束、不截断连续正文。作品事实(实体卡、设定、叙事状态)按字段授权逐字段裁剪(aiContext 字段级裁剪),不整表倾倒,也不把未来状态降格为当前事实。
5. 加速边界
- 库内检索加速(向量索引,pgvector)只负责候选召回,返回候选 ID / 来源路径,不负责事实裁决。
- 可信组装器拿到候选后仍回读库行并验证哈希;加速结果与权威行不一致时丢弃加速结果并重建投影。
- 向量索引是数据库一侧的派生加速,可从库重建;它失效只影响速度,不改变内容语义、不跳过审核(见索引 §2、§7)。
- 数据库是权威:库不可用 = 该次任务失败关闭,不假装有本地兜底。不存在“外部不可用自动降级到本地”的路径。
6. ReAct Agent 边界
ReAct Agent 可以调用上下文 Skill 请求补充证据,但不能自行访问数据库、遍历全库、修改检索计划、读取未来内容,或把待审候选/候选范式提升为事实。补证必须产生新的冻结清单和新的输入哈希,再启动新的模型调用。
7. 审计与 raw
- 安全 manifest(来源标识、版本、章号、字符数、裁剪与省略原因、状态、哈希)落库可查;安全回显只含这些元信息,不含原文与完整问答。
- 完整角色输入、Prompt、Response、未接受候选正文、评测专用答案属于 raw,落库(单独表 + 访问控制),只读看板可看全文(见索引 §8);不再要求进仓外 vault,仓外 vault 仅为可选备份。
- 密钥、token、运行身份、授权凭据不写进内容表或运行报告。
8. 验收条件
- 同一作品、选择计划、冻结点和预算,产生相同的来源集合与内容哈希。
- 数据库是权威:读取器对库只读、失败关闭;任何来源、字段授权、冻结点、哈希或预算无法验证时失败关闭。可恢复性见 08-数据权威与可视化领域。
- 未来信息、未确认实体和未激活范式不会进入正式创作输入;回放任务拒绝目标章与未来章。
- writer、detector、judge 等角色只看到各自投影,互不暴露运行身份、密钥、实验臂、raw 路径。
- 每个选中和省略来源都有机械可读原因。
- 连续前四章全文基线不可裁剪;预算不足以容纳基线加硬约束时失败关闭而非截断。
9. 关联 SoT
- 内容来源:01-作品领域、02-实体领域、03-范式领域
- 数据权威与 raw:08-数据权威与可视化领域
- 当前 Skill:
assemble-context - 上级上下文合同:专题-03