☰
PaperSpine Adaptive Shadow 深度解析:基于领域中立合同的可审计实验层设计与实现
2026/10/14 20:41:16 网站建设 项目流程
  • AI 技能
  • AI 写作
  • 人工智能
  • 深度研究
  • AI 应用

【免费下载链接】PaperSpine

PaperSpine5 — local-first, evidence-bound paper research, writing, figures, review and delivery. Download: https://wubing2023.github.io/PaperSpine/v5/

项目地址:https://gitcode.com/gh_mirrors/pa/PaperSpine
点击查看免费下载

导读

本文围绕 PaperSpine 技能体系中一份重要的实验性参考文档 adaptive-shadow.md,系统讲解其设计为"自适应研究与义务影子层"(Adaptive Research and Obligation Shadow)的完整技术方案:它如何在不动摇 canonical 完成门的前提下,以领域中立的方式承载运行时学习、如何通过闭集义务 IR 与哈希绑定 receipt 完成单一 claim surface 的确定性审计,以及如何用 compare-and-swap 语义实现不可变修订。读完本文,你将掌握该层级的输入契约结构、CLI 调用方式、结果信号语义、激活条件及其在 adaptive_shadow.py 中的底层实现,能够独立构造并验证一份 shadow 请求。

一、定位:一个可选的迁移表面,而非新的完成门

原文档在开篇即给出明确边界:Adaptive Shadow 是可选的(opt-in)运行时学习迁移表面,它不是领域 profile,也不属于 interface version0.1-shadow中 canonical 完成门的一部分。

这一定位在源码中得到严格印证。adaptive_shadow.py 的模块 docstring 写道:

"Deterministic, domain-neutral adaptive audit shadow for one claim surface. This module deliberately cannot grant manuscript, delivery, submission, or external-action readiness."

也就是说,这个模块从设计上就不能授予稿件、交付、投稿或外部行为的就绪状态,它只做一件事:校验 receipt 与闭集义务 IR,然后输出CLAIM_SURFACE_AUDITED或BLOCKED两种结果。

同时,在 audit.md 的第 20 条清单中明确记录:如果可选的自适应影子运行了,它的 receipt只能证明一个哈希绑定的claim_surface_audited,不能替代任何 canonical 检查、整篇稿件完成、目标 bundle READY 或任何授权。这与当前方法路由 current-method-routing.json 中对references/adaptive-shadow.md的条目描述完全一致:"只证明一个 surface,不签整篇 ready"。

二、边界(Boundary):领域中立与运行时学习

2.1 为什么必须领域中立

原文档强调:PaperSpine不得把生物学、AI、医学、人文等任何领域的偏好编码为永久技能规则。方向性建议必须由 direction-research Agent 在运行时学习;venue 特定义务必须由 target-research Agent 从权威来源(authority-bearing sources)学习。影子层只存储通用证据(evidence)、权威(authority)、审阅(review)与状态转移(state-transition)合同。

从实现看,这种中立性体现在AUTHORITY_CLASSES等闭集词汇表中(adaptive_shadow.py):official、qualified_human_or_institution、user_authority、peer_reviewed_primary、scholarly_exemplar——全部是通用权威类别,不涉及任何具体学科内容。

2.2 运行时上下文的四个必填字段

每个运行时上下文(runtime context)必须包含:

字段说明
context_id运行时上下文唯一标识
object_kind对象种类
destination_channel目标通道
as_of数据截止时间点(ISO 日期或 datetime)

venue、year、track、article_type、workflow stage均为可选,直到它们真正适用为止。原文档特别告诫:不要为了满足表单而凭空编造这些字段。

这一约束在 adaptive-shadow-request.schema.json 的context定义中得到落实:required仅包含上述四项,venue/year/track/article_type/stage_id均是可选的 properties。同时,源码audit_request中的校验逻辑(adaptive_shadow.py)只对context_id、object_kind、destination_channel做非空检查,并对as_of做 ISO 时间戳合法性校验,而不会因为 venue 等字段缺失而报错。

三、输入(Inputs):请求契约与十个组成要素

3.1 命令行入口与基本用法

按照原文档,构造一个符合references/contracts/adaptive-shadow-request.schema.json的请求后,用以下命令校验:

python scripts/adaptive_shadow.py adaptive_shadow_request.json \ --project-root paper_rewriting_output \ --output adaptive_shadow_result.json

其中各参数含义如下(对应 parse_args 的实现):

参数必填说明
request是影子请求 JSON 文件的路径
--project-root否用于构件包含检查(artifact containment)与哈希计算的项目根;默认取请求文件所在目录
--output否可选的结果 JSON 输出路径;必须位于project-root内部,否则结果会被强制置为BLOCKED
--store否可选的不可变修订存储目录;使用后必须同时提供--expected-current
--expected-current否与--store搭配使用,首次提交用NONE;单独出现会触发 parser error

需要注意的是,CLI 有两条互斥约束:提供--store而不提供--expected-current会被拒绝;提供--expected-current而没有--store同样被拒绝(adaptive_shadow.py)。

3.2 请求的十个组成要素

原文档列出请求必须包含的十类内容,下面逐条结合 schema 与源码展开:

1. 哈希绑定的 SourceReceipt 记录

每个来源收据包含source_id、authority_class、canonical_identity、locator、retrieved_at、as_of、content_sha256、extraction_verification。其中content_sha256必须是 64 位小写十六进制;authority_class只能取五个闭集值之一;source_id满足^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$的 SAFE_ID 模式且不允许重复(adaptive_shadow.py)。

extraction_verification.kind有三个取值:machine_parsed_official_structure(官方机器解析结构)、independent_verifier_receipt(独立验证者收据)、same_model_context_separation(同模型上下文隔离)。其中前两种构成"硬验证"集合HARD_VERIFICATION_KINDS。

2. 独立覆盖收据(coverage receipts)

覆盖收据分target_policy(目标政策研究)与direction_search(方向研究)两个通道,各自要求:

  • queries、source_classes、included_source_ids:非空字符串列表;
  • stopping_reason:只能取frontier_saturated、authoritative_sources_exhausted、budget_exhausted、user_bounded之一;
  • residual_risk:必须显式给出残余风险;
  • coverage_challenger:确定性或独立的挑战者,包含independence_kind、producer_id、challenger_id、outcome(必须为PASS)、unresolved_gaps(必须为空列表)。

direction_search通道额外要求独立直接竞品遗漏挑战(direct_competitors_considered非空 +omission_challenge),且该挑战的independence_kind只能是independent_model_or_provider或qualified_human(不允许用确定性检查替代独立挑战)。源码中_coverage_findings对这两个通道做了逐字段校验(adaptive_shadow.py)。

3. 闭集、非图灵完备的义务 IR v0

Obligation IR v0只允许五种谓词算子:exists、absent、truthy、equals、in_set(adaptive_shadow.py)。每个 obligation 由obligation_id、source_id、normative_force、predicate组成;normative_force取值mandatory、prohibited、advisory、quality_hypothesis,其中mandatory/prohibited为硬性义务(HARD_FORCES)。谓词求值逻辑_predicate_satisfied(adaptive_shadow.py)通过点分路径在 facts 中取值后按算子判定,违反硬义务产生 findings,违反软义务仅进入 advisory。

4. 恰好一个 claim-bearing surface 及其当前构件哈希

claim_surface包含claim_id、surface_id、artifact(path+sha256)、support_source_ids、facts。源码会重新计算artifact 文件的 SHA-256,与请求中的声明值比对,不一致即报"stale or incorrect";同时校验路径必须位于project_root内部且文件真实存在(adaptive_shadow.py)。

5. 原子级保留收据(retention receipt)

要求expected_atom_ids、retained_atom_ids、omitted_atoms三组原子标识:每个遗漏项必须带atom_id、reason、decision_owner;校验逻辑会检查"保留与遗漏重叠""存在未解释遗漏""引用预期外原子"三类异常(adaptive_shadow.py)。

6. 当前、哈希绑定的资产清单(asset inventory)

识别所选候选资产及其适用理由。源码中的关键约束(adaptive_shadow.py)明确:mtime 只能证明哪个文件被清点过,不能证明科学适用性——"recency alone must not override a valid user choice or a scientifically stronger existing figure"(仅凭新旧不能覆盖有效的用户选择或科学上更强的既有图)。每个被选中的候选必须通过identity_match科学身份门;explicit_user_selection_id即便是指定的用户选择,也不能覆盖科学身份门。

7. 绑定到同一哈希的零上下文主表面独立审阅

independent_review_receipt要求:review_mode必须为zero_context_primary_surface;independence_kind必须是independent_model_or_provider或qualified_human;reviewer_id与producer_id不得相同;input_sha256必须等于当前 claim surface 的哈希;outcome必须为PASS;major_restructure_required必须为false;unresolved_blockers必须为空(adaptive_shadow.py)。

8. v1 遗留收据(legacy receipt)

接口必须是v1,状态可取PASS/FAIL/BLOCKED/UNKNOWN/NOT_RUN。语义是:遗留FAIL/BLOCKED被保留(并作为 finding 报出,不能被 v2 shadow 覆盖),而遗留PASS虽然可见但被打上污染标记(tainted),并且没有通往新 READY 的边。结果中的legacy_pass_tainted字段即由此而来(adaptive_shadow.py)。

9. 有界的质量修订收据(quality revision receipt)

针对可选 shadow 实验,记录该实验配置的轮次上限。automatic_rounds在 alpha.1 中只能是 0 或 1;rounds==1时changes必须记录自动修订,rounds==0时changes必须为空(adaptive_shadow.py)。原文档特别澄清:历史上"一轮"的限制并不限制正常的宿主修正与论文重新审阅——它只约束 shadow 实验本身的自动修订次数。

10. 可选的图决策(figure decisions)

当 hero、mechanism、model 或 core 图的科学目的、证据、可读性与在论文中的角色均合格时,应keep(保留);只有在论文确实做出并支持该比较时,才记录competitive_delta。源码用CORE_FIGURE_ROLES = {"hero", "mechanism", "model", "core"}(adaptive_shadow.py)定义核心图角色,并实施两条联动校验:保留核心图必须有applicable: true的资产清单;保留的核心图构件路径必须出现在所选资产中(adaptive_shadow.py)。

3.3 硬义务的升级来源限制

原文档明确规定:硬性 mandatory/prohibited 义务只能从官方机器解析结构或独立验证者收据中升级。同模型上下文隔离(same-model context separation)只能产生候选或咨询性假设,永远不能产生硬证明。法律、伦理、管辖权、临床与机构权威在适用时仍属于合格的人类或机构。

源码_obligation_findings落实了这一规则(adaptive_shadow.py):对硬义务,其来源的extraction_verification.kind必须属于HARD_VERIFICATION_KINDS,且authority_class必须属于HARD_AUTHORITY_CLASSES;若声明"官方机器解析"但来源权威不是official,同样报错。

四、输出与权威(Outcome and Authority):fail-closed 的信号设计

4.1 唯一绿色结果:CLAIM_SURFACE_AUDITED

唯一的绿色结果是CLAIM_SURFACE_AUDITED,含义是:一个被识别、被哈希绑定的 claim surface 通过了影子检查。它绝不意味着:

  • 稿件已完成(manuscript is complete);
  • 交付或投稿 bundle 已 READY;
  • 目标 venue 已接收该工作;
  • 任何外部行为已被授权。

源码中,结果对象的signals将manuscript_ready、delivery_ready、submission_ready、external_action_authorized硬编码为 false(adaptive_shadow.py),同时shadow_only: true、legacy_authority_unchanged: true。这些约束同样被写进 adaptive-shadow-result.schema.json 的signals定义中(const: false/const: true)。canonical 的 PaperSpine 门(如 progress_check.py)始终保持权威。

4.2 非补偿向量(noncompensatory vector)

真相/权威/许可(truth/authority/permission)、流程保障(process assurance)、质量优化(quality optimization)构成一个非补偿向量:任何一个红色维度都不能被另一个绿色维度抵消。在实现中,audit_request分别计算三路 PASS/FAIL(adaptive_shadow.py):

  • truth_pass:来源收据无错误,且 claim surface / obligations 不涉及未知来源或权威问题;
  • process_pass:基础字段、覆盖收据、claim surface 全部通过;
  • quality_pass:义务、独立审阅、保留、资产、图、修订、遗留收据全部通过。

只要findings非空,ok即为 false,outcome 为BLOCKED——任何单一维度失败都会整体失败,这正是"不可补偿"的实现形式。

4.3 结果契约的完整字段

完整结果对象(见 adaptive-shadow-result.schema.json)包含:contract(固定paperspine.adaptive-shadow.result)、interface_version(固定0.1-shadow)、request_sha256、revision_id、ok、outcome(CLAIM_SURFACE_AUDITED/BLOCKED)、stage、claim_id、findings、advisory_findings、coverage_status(SUFFICIENT_FOR_SHADOW/INSUFFICIENT)、legacy_status_observed、legacy_pass_tainted、assurance_vector、signals、authority_boundary。其中authority_boundary固定输出一段边界声明:本收据只覆盖一个哈希绑定的 claim surface,绝不授予整篇稿件 READY、交付/投稿就绪或外部行为授权。

五、不可变修订(Immutable Revisions):CAS 语义的存储层

5.1 命令用法

对于迁移实验,追加不可变修订并以 compare-and-swap(CAS)语义移动CURRENT指针:

python scripts/adaptive_shadow.py adaptive_shadow_request.json \ --project-root paper_rewriting_output \ --store adaptive_shadow_store \ --expected-current NONE

后续提交时,用前一个修订 ID替换NONE。三个关键保证(原文档 + 源码双重确认):

  1. 已存在的修订 ID 永不被覆盖——commit_revision中若revision_dir已存在,直接抛ValueError: immutable revision already exists(adaptive_shadow.py);
  2. 过期的预期父指针会被阻断——CURRENT文件中的实际值必须等于expected_current,否则抛 CAS 不匹配错误,绝不会静默改写CURRENT(adaptive_shadow.py);
  3. 存储必须位于 project_root 内部,否则被拒绝。

5.2 底层写入流程

commit_revision的写入是"先暂存、后原子替换"的两阶段过程(adaptive_shadow.py):

  1. 在revisions/下创建带 PID 后缀的临时暂存目录;
  2. 依次原子写入request.json、result.json;
  3. 生成receipt.json指针(记录revision_id与 request/result 的 SHA-256);
  4. 用os.replace把暂存目录整体改名为正式修订目录;
  5. 同样用临时文件 +os.replace更新CURRENT指针。

这种设计保证了任一时刻存储层都处于一致状态,且修订历史不可变、可回放。结果对象中会附带revision_receipt字段记录本次提交的指针信息;若提交失败(OSError/ValueError),结果会被强制改写为BLOCKED并追加错误说明(adaptive_shadow.py)。

六、激活方式(Activation):仅在显式开启时运行

原文档给出严格的激活边界:只有当用户明确请求自适应实验,或运行显式配置adaptive_shadow=on时才运行本层。在off或缺省模式下:

  • 不要创建这些影子产物;
  • 不要给正常流程增加官僚负担(bureaucracy)。

并且,在当前 shadow 版本中,其结果是观测性的:不能改变 progress_check.py 的完成判定,也不能改变 publication-cycle 的权威。这与 current-method-routing.json 对 adaptive-shadow 的"opt-in request/IR/coverage receipts/CAS store"定位一致——它是一套独立于 canonical 门的实验面。

七、最大许可声明(Maximum Licensed Claim):保守的自我描述

原文档为当前实现划定了唯一允许的对外描述:

A deterministic, test-covered adaptive contract preview and shadow audit for one hash-bound claim surface, with domain-neutral source/authority receipts, closed obligation predicates, bounded revision, and fail-closed authority.

同时明确禁止以下表述:普遍性研究覆盖、优秀论文生成、直接投稿就绪、领域/期刊质量、录用率提升、整篇稿件自适应就绪。文档还特别指出:合成合同测试只是一致性证据(conformance evidence),不是研究或写作质量的行为证据(behavioral evidence);在项目计划定义的 M4/M5 证据与人类/独立模型校准存在之前,这些声明始终被禁止。

这一"证据边界"哲学在 tests/test_skill_structure.py 中得到呼应——该测试套件只验证文件存在性与结构一致性(例如将src/skill/references/adaptive-shadow.md、两份 schema 与src/scripts/adaptive_shadow.py列为必备文件,见 test_skill_structure.py 与 test_skill_structure.py),并保证 dist 各宿主副本与源文件字节级一致,而不是声称任何行为质量。

八、请求→审计→修订的完整调用链

把上述内容串起来,一个完整的 shadow 实验流程如下:

  1. 构造请求:按 adaptive-shadow-request.schema.json 组装十类要素(来源收据、双通道覆盖收据、闭集义务 IR、单一 claim surface、保留收据、资产清单、零上下文独立审阅、v1 遗留收据、有界修订收据、可选图决策);
  2. 纯审计:python scripts/adaptive_shadow.py request.json --project-root <root> --output result.json执行无副作用的audit_request(不会改动项目任何文件);
  3. 读取结果:ok/outcome/stage/assurance_vector/signals/findings决定实验观测结论;任何 findings 都导致BLOCKED;
  4. 可选提交修订:追加--store <dir> --expected-current NONE(或前一修订 ID),生成不可变修订并移动CURRENT;
  5. 隔离解读:无论结果如何,shadow 信号均不得外溢到 canonical 门、交付或投稿判定。

从源码结构看,audit_request是一个纯函数式校验器(输入 request + project_root,输出结果对象),commit_revision是独立的存储层,main负责 CLI 装配与 JSON 读写——三者职责分离,这也解释了为什么它可以"deterministic"(确定性):对同一请求与同一项目根,审计结果完全可复现。

结语

PaperSpine 的 Adaptive Shadow 层展示了一种克制而严谨的"实验性运行时学习"设计思路:它以领域中立的合同集、闭集义务 IR、哈希绑定收据与 fail-closed 权威边界,把"自适应学习实验"和"正式质量门"彻底隔离。对希望理解该技能体系内部契约设计的开发者而言,adaptive-shadow.md 是入口文档,adaptive_shadow.py 是可读的确定性实现,两份 请求 schema 与 结果 schema 则是机器可校验的契约真相源。

  • AI 技能
  • AI 写作
  • 人工智能
  • 深度研究
  • AI 应用

【免费下载链接】PaperSpine

PaperSpine5 — local-first, evidence-bound paper research, writing, figures, review and delivery. Download: https://wubing2023.github.io/PaperSpine/v5/

项目地址:https://gitcode.com/gh_mirrors/pa/PaperSpine
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询