mcpField
R
resubmit-pipeline

resubmit-pipeline

github.com/wanshuiyin文档处理18.2k407 次安装4 天前更新
代码仓库

关于 resubmit-pipeline

resubmit-pipeline 是面向已完成论文改投的编排技能,适用于需要吸收旧审稿意见、但限制改动范围的作者。它将论文物理复制到新 venue 目录,并以文本微调为主,避免覆盖原提交。

主要功能

  1. 01复制论文到新的 venue 目录
  2. 02纳入既有审稿意见
  3. 03限定为文本微调
  4. 04执行匿名检查与编译检查
  5. 05审计证明、论点和引用

适用场景

  1. 01将已完成论文改投其他会议
  2. 02在页数缩减时调整论文文本
  3. 03双盲提交前检查匿名信息
  4. 04针对审稿意见做有限修改

MCP 相关

该技能通过 MCP 路由调用审稿者,对改投流程中的审查环节进行评估;Codex 路由固定采用 xhigh 推理强度。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wanshuiyin/auto-claude-code-research-in-sleep --skill resubmit-pipeline

安装后在 Claude Code 中输入/resubmit-pipeline确认已加载。

详细介绍

重新投稿流水线:纯文本微编辑模式

每次审稿环节开始前,请遵循 可选审稿人: 解析调用 → .aris/reviewer.json → 默认使用 Claude Code(Codex MCP), 并通过规范的辅助解析器使用 reviewer_route.py,同时保留本环节的层级、 独立上下文、源文件/图像输入和确定性门控。 下方的 Codex 示例/固定配置仅适用于 backend=codex;其他路由使用各自的 首次调用/回复约定。保存所选路由和实际返回的身份;不可用的选项标记为 REVIEW_UNAVAILABLE。根据实际的 系列/完成状态/范围判定是否接受。将调用中的审稿人/模型/effort 覆盖项 传递给包含审稿人的子任务。生成工作线程保持不变。

在纯文本约束下,将打磨完成的论文改写为适用于新投稿场所的版本:$ARGUMENTS

存在原因

大多数 ARIS 写作工作流假定输入是叙述性报告(工作流 3),或仍可能需要补充实验/修改参考文献/调整结构的在写论文。重新投稿的范围则截然不同:

  • 论文已经打磨完成——证明已完成,实验已完成,参考文献已整理妥当。
  • 用户希望吸收此前投稿场所的审稿意见并重新投稿,不引入新实验、新引用或框架变更(担心 LLM 幻觉、重新投稿时间紧、计算预算已封顶)。
  • 基础投稿目录为只读——新投稿必须写入同级目录,绝不能修改先前状态。
  • 页数限制可能会比源投稿场所更严格(例如,研讨会论文集终稿 → 正文 9 页)。

现有技能覆盖了相邻领域,但没有一个涵盖这种特定的内容编排:/rebuttal 用于编写 OpenReview 风格的回复文档,而非论文内微编辑;/auto-paper-improvement-loop 是逐轮迭代引擎,但前提是已有人员选定基础稿件、迁移投稿格式、设置编辑白名单、整理审稿反馈队列,并确定哪些内容不应更改。/resubmit-pipeline 正是为了填补这一编排空白。

适用场景

  • 一篇理论或系统论文被投稿场所 A 拒稿,你希望在时间紧张(≤ 1-2 周)的情况下重新投稿到场所 B。
  • 你已准备好3 项输入:采用场所 A 格式的打磨完成论文目录、目标场所 B 的格式/模板/样式文件,以及此前的审稿报告。
  • 你明确不希望重新推导定理、运行新实验或修改参考文献。

不适用场景

  • 论文仍需补充实验——先使用 /experiment-bridge → /auto-review-loop。
  • 论文仍需结构性改写或新增章节——使用 /paper-writing(工作流 3)。
  • 你想要撰写 rebuttal 回复本身——使用 /rebuttal(工作流 4)。
  • 审稿意见要求新增定理或新框架——开始前请升级给用户处理;如果检测到此情况,本技能会发出 BLOCKED,并附带 reason_code: out_of_scope_microedit。

常量

  • REVIEWER_MODEL = 继承自 /auto-paper-improvement-loop 的默认值(通过 Codex MCP 使用 gpt-6-astra),除非用户传入 — reviewer-model: gpt-5.4(旧版)或所选后端支持的其他模型。对于 backend=codex,根据现有技能约定,所有审稿调用的推理强度固定为 xhigh。
  • ROUNDS = 2(默认值;与 /auto-paper-improvement-loop 的收益递减规则一致)。只有当 Phase 2 报告未收敛,并且用户在第 2 轮检查点明确批准时,才会进行第 3 轮。
  • EFFORT = max(重新提交的默认值;重新提交事关重大)。如果时间极其紧迫,用户可以指定 — effort: balanced。
  • EDIT_WHITELIST_PATH = <paper-base-dir>/../<NewVenue>/.aris/edit_whitelist.yaml(在 Phase 0 自动生成;用户可以指定自定义路径)。
  • NEVER_OVERWRITE = true(始终如此;这是硬性约定——之前的投稿目录不可修改)。
  • ASSURANCE_LEVEL = submission(默认值;重新提交始终针对正式投稿)。

输入

三个必需输入:

  1. paper-base-dir — 按 venue A 格式整理完成的论文。必须包含 main.tex(或等效入口文件)、sec/ 或 sections/、references.bib(或等效文件),以及编译后的 main.pdf(用于视觉审查)。
  2. — target-venue: <name> — 可选值:iclr、icml、neurips、aaai、ijcai、colm、tmlr、uai 或 other。此技能要求在 <paper-base-dir>/templates/<venue>.{sty,tex,bst} 或已识别的模板目录中提供 venue 样式文件。如果为 other,用户需传入 — target-style-dir: <path>。
  3. — review-corpus: <path> — 包含此前 venue 的审稿报告的目录,文件格式为 .txt 或 .md(理想情况下每位审稿人对应一个文件)。如果省略 --review-corpus,此技能会输出 BLOCKED,并附带 reason_code: missing_review_corpus,因为重新提交的核心就是回应这些问题。

可选项:

  • — reviewer-model: gpt-5.4 — 覆盖默认审稿模型(gpt-6-astra);可用于旧版复现,或使用较旧的配额档位。
  • — rounds: <int> — 覆盖默认值 2。
  • — assurance: draft — 放宽 MANDATORY 门槛(默认值为 submission)。
  • — effort: balanced — 如果时间紧迫,则放宽 max 的要求。
  • — skip-anonymity-scan — 跳过 Phase 0.5 匿名性检查(仅适用于 TMLR 等非双盲 venue;否则会发出 WARN)。
  • — overleaf-target: <project-id> — 用于 Phase 4 推送的 Overleaf 项目 ID(按照 /overleaf-sync setup)。

流程

阶段 0:物理隔离设置(不修改任何现有文件)

Resubmit 最重要的不变原则:绝不覆盖任何已有的投稿目录。新投稿 venue 的文件应与所有已有 venue 的目录同级。

# Resolve target-venue → new sibling dir name (capitalized)
NEW_VENUE_DIR="$(dirname "$PAPER_BASE_DIR")/$(echo "$TARGET_VENUE" | sed 's/.*/\u&/')"

# Atomic dir create — `mkdir` (not `mkdir -p`) fails fast if the dir exists,
# avoiding the TOCTOU race window of `[ -e ] && exit; mkdir -p`. The mkdir
# itself must succeed exactly once; if a concurrent run gets there first,
# this errors out per resubmit-pipeline's never-overwrite invariant.
mkdir "$NEW_VENUE_DIR" 2>/dev/null || {
    echo "ERROR: $NEW_VENUE_DIR already exists; resubmit-pipeline never overwrites prior submissions. Pick a different target-venue or rename the existing dir." >&2
    exit 1
}
mkdir -p "$NEW_VENUE_DIR/.aris"

组合规则(全部使用 cp,绝不使用 \input{../...},绝不创建符号链接):

  1. main.tex — 为目标 venue 的 .sty 文件重新编写。以 templates/<venue>.tex 为起始骨架;只从基础 venue 的 main.tex 复制 \title{}、\author{}、摘要引用行和章节输入行。新的 main.tex 必须完全位于 $NEW_VENUE_DIR/ 内。
  2. sec/(或 sections/) — 执行物理复制:cp -r $PAPER_BASE_DIR/sec/ $NEW_VENUE_DIR/sec/。不要创建符号链接,也不要在新的 main 中使用 \input{../sec/...}。 符号链接会导致 Overleaf 导出的 zip 文件出错;跨目录的 \input 会修改共享文件池并污染已有投稿。
  3. math_commands.tex(以及章节所依赖的其他宏文件)— 使用 cp 进行物理复制,放入 $NEW_VENUE_DIR/。
  4. Figure/(或 figures/)— 将整个目录复制进去(cp -r)。路径陷阱:现有章节很可能写有 \includegraphics{Figure/foo.pdf}。如果从子目录设置 \graphicspath{{../Figure/}},它会解析为 ../Figure/Figure/foo.pdf,路径错误。应直接复制 Figure/(首选),或使用 \graphicspath{{../}}。
  5. 参考文献 — 直接在新的 main.tex 中写入 \bibliographystyle{<venue-bst>} + \bibliography{../references}。绝不要 \input 已包含自身 \bibliography{} 命令的现有 ref.tex 或 references.tex(路径解析会静默出错)。
  6. .aris/ — 创建 $NEW_VENUE_DIR/.aris/,并在其中写入内容为 submission 的 assurance.txt(与验证器预期的位置一致)。

阶段 0 的产物:一个新的同级目录,其中包含所有源文件,尚未修改文本内容,可直接用于编译。

阶段 0.5:健康检查 + 匿名性扫描(仍不编辑任何文本)

在进行任何审计或编辑之前,论文必须能在新投稿 venue 的样式下干净编译;如果目标 venue 采用双盲评审,还必须通过匿名性扫描。

编译 + 页数:

cd "$NEW_VENUE_DIR"
latexmk -C
latexmk -pdf -interaction=nonstopmode -halt-on-error main.tex 2>&1 | tee compile.log

如果编译失败:生成 RESUBMIT_REPORT.json,其中包含 verdict: BLOCKED, reason_code: phase_0_5_compile_failed,向用户展示错误,然后停止。常见原因:math_commands.tex 中缺少宏、venue 样式中未定义的命令、\graphicspath 问题。

页数与 venue 限制对比(先测量;不要想当然):

PAGES=$(pdfinfo main.pdf | awk '/^Pages:/ {print $2}')
LIMIT=$(grep -oE "page_limit: [0-9]+" "$NEW_VENUE_DIR/templates/$TARGET_VENUE.tex" | awk '{print $2}')
echo "Pages: $PAGES, Limit: $LIMIT, Delta: $((PAGES - LIMIT))"

如果 PAGES > LIMIT,则排定阶段 2,以遵循缩减页数启发式(见下文“缩减页数启发式”)。

匿名性扫描(仅当传入 — skip-anonymity-scan 且目标 venue 非双盲时才跳过):

扫描涵盖 5 个层面(提案中的单层扫描并不完整):

  1. 表面标识信息:作者姓氏、单位、机构名称、实验室代号、过往资助标签 ID(grep -E "$(echo $AUTHOR_SURNAMES | tr ' ' '|')|$(echo $AFFILIATIONS | tr ' ' '|')")。
  2. 自引措辞:任何使用“we showed in [...]”或“in our prior work [...]”并提及论文作者本人的句子。必须改写为第三人称形式“X et al. [year] shows...”。Grep 正则表达式:\b(we|our|my|I)\s+(showed|proved|demonstrated|prior work|earlier paper|previous paper)\b。
  3. 致谢 + 资助:扫描 acknowledgments.tex(或 \acknowledgments{} 块),查找针对特定机构的致谢、资助 ID、具名合作者。双盲投稿时将其注释掉。
  4. 跨投稿答辩引用:扫描脚注和正文,查找“this paper builds on rebuttal at venue X”或“addressing reviewer N's concern from venue X”之类的内容——必须彻底删除(这些内容既违反匿名要求,也会暴露曾遭拒稿)。
  5. 内部代号 / 项目链接:搜索仓库 URL(github.com/<user>/<project>)、Slack 频道名称、内部 Wiki 链接,以及可能暴露实验室身份的数据集代号。

如果 5 个层面中的任何一个发现命中项,则生成 RESUBMIT_REPORT.json,其中包含 verdict: BLOCKED, reason_code: anonymity_scan_failed,并向用户列出各项命中内容。阶段 1 开始前,用户必须批准修复或接受风险。第 4、5 层与第 1–3 层同样会阻止流程——跨投稿答辩引用和内部代号都会暴露此前投稿 venue 的身份及实验室身份,两者均以不同方式违反双盲要求。

残留颜色 / 边注扫描:

搜索摄像头就绪周期留下的 \revise{...}、\fix{...}、\new{...}、\todo{...}、\todonotes{...}、\textcolor{red}{...}。列出这些内容;由用户决定保留(某些 venue 接受修订标记框)还是移除。

阶段 0.5 的输出:BASELINE.md,包含初始页数、匿名性扫描摘要、残留颜色列表和 overfull-hbox 计数。

阶段 1:审计(零编辑)

并行执行三项审计,均仅检测。读取新目录中的源文件;除审计产物外,不写入任何内容。

技能用途产物
/proof-checker $NEW_VENUE_DIR/main.tex --restatement-check查找此前审稿人质疑过的定理中的缺口;检查主陈述与重述之间的跨位置一致性PROOF_AUDIT.json + .md
/paper-claim-audit $NEW_VENUE_DIR/数值保真度(正文中的每个数字都与证明/结果文件所确立的内容一致)PAPER_CLAIM_AUDIT.json + .md
/citation-audit $NEW_VENUE_DIR/ — soft-only错误语境引用和错误归属,并映射为“弱化引用句”的操作(不修改参考文献)CITATION_AUDIT.json + .md

重要:第三项审计必须使用 — soft-only 运行。若不加此标志,citation-audit 会输出 KEEP/FIX/REPLACE/REMOVE 判定,这些判定预设了对参考文献进行修改,与重新投稿的“不得修改参考文献”约束不兼容。使用 --soft-only 时,会将相同的发现转化为逐处句子改写建议,供阶段 2 使用。

并行拆解此前审稿人的疑虑:

For each file under $REVIEW_CORPUS:
    Read the reviewer report.
    Atomize into discrete concerns: severity (critical / major / minor),
      type (assumption / novelty / scope / rigor / experiment-coverage / framing),
      addressability (text-fixable / partial / unaddressable-under-constraints).
    Append to KNOWN_WEAKNESSES.md with stable IDs (W1, W2, ...).

KNOWN_WEAKNESSES.md 架构:

- id: W1
  severity: major
  type: scope
  source: reviewer_2_venue_a
  concern: "Theorem 3 states a generic result but the proof only handles a specific regime."
  addressability: text-fixable
  recommended_fix: "Narrow Theorem 3's title to 'restricted regime'; add scope qualifier in abstract."
- id: W2
  severity: critical
  type: experiment-coverage
  source: reviewer_3_venue_a
  concern: "No comparison against [prior method X]."
  addressability: unaddressable-under-constraints
  recommended_fix: "Acknowledge in Limitations that this comparison is left for future work."

阶段 1 的输出:4 个产物(3 份审计报告 + KNOWN_WEAKNESSES.md)。这些都是阶段 2 的输入。

阶段 2:通过自动改进循环进行针对性文本微调

这是承载关键工作的阶段。调用 /auto-paper-improvement-loop 时会启用两种安全机制:

  1. — edit-whitelist <path> —— 一个 YAML 文件,列出允许的路径和禁止的操作。在阶段 0 自动生成于 $NEW_VENUE_DIR/.aris/edit_whitelist.yaml:

    allowed_paths:
      - "sec/*.tex"
      - "main.tex"
      - "appendix.tex"
    forbidden_paths:
      - "**/*.bib"
      - "**/*.sty"
      - "**/*.bst"
      - "../*Submission/**"           # all prior submission dirs
      - "../*Camera/**"
      - "templates/**"
    forbidden_operations:
      - new_cite                       # blocks \cite{...}, \citep{...}, \citet{...}, \citeauthor{...}
      - new_bibitem                    # blocks \bibitem{...} additions
      - new_theorem_env                # blocks \begin{theorem|lemma|proposition|corollary} additions
      - numerical_claim                # blocks adding numbers / percentages / metrics not present in original
    rationale: "Resubmit mode: text-only microedits, paper structure frozen by user constraint."
    
  2. 通过 auto-loop 的 HUMAN_CHECKPOINT 逐轮进行差异门控 —— /auto-paper-improvement-loop 不接受 --rounds、--reviewer-model 或 --resume-after-round-checkpoint 标志(这些不在其 CLI 中)。它使用 MAX_ROUNDS = 2 和 REVIEWER_MODEL = gpt-6-astra 默认值,并使用现有的 HUMAN_CHECKPOINT 机制进行逐轮门控。因此,重新投稿流水线会在 HUMAN_CHECKPOINT = true 的情况下仅调用一次该循环,以便每轮暂停,供编排器检查差异:

    # Snapshot the new venue dir BEFORE auto-loop runs (for diff baseline,
    # works whether or not paper-base-dir is a git repo)
    SNAPSHOT_DIR="$NEW_VENUE_DIR/.aris/snapshots/round-0"
    mkdir -p "$SNAPSHOT_DIR"
    rsync -a --exclude='.aris' --exclude='*.pdf' --exclude='*.aux' \
          "$NEW_VENUE_DIR/" "$SNAPSHOT_DIR/"
    
    # Single auto-loop invocation; rounds + checkpoints are loop-internal.
    # The whitelist file is the only resubmit-specific param.
    /auto-paper-improvement-loop "$NEW_VENUE_DIR/" \
        --edit-whitelist "$NEW_VENUE_DIR/.aris/edit_whitelist.yaml" \
        — assurance: submission \
        — effort: "$EFFORT" \
        — human checkpoint: true
    

    在循环内部,每轮结束时的检查点处,重新投稿编排器会检查:

    for ROUND in 1 2; do  # auto-loop's MAX_ROUNDS = 2
      # auto-loop pauses at HUMAN_CHECKPOINT after each round
      # diff this round vs prior snapshot (works without git)
      diff -ruN "$NEW_VENUE_DIR/.aris/snapshots/round-$((ROUND-1))" "$NEW_VENUE_DIR" \
          > "$NEW_VENUE_DIR/.aris/round-$ROUND-diff.txt"
    
      # Whitelist compliance check on the diff
      check_whitelist_compliance "$NEW_VENUE_DIR/.aris/round-$ROUND-diff.txt" \
                                   "$NEW_VENUE_DIR/.aris/edit_whitelist.yaml"
    
      # Selective regression audits (only fire if relevant files touched)
      if grep -qE 'theorem|lemma|proposition|corollary' "$NEW_VENUE_DIR/.aris/round-$ROUND-diff.txt"; then
          /proof-checker "$NEW_VENUE_DIR/main.tex" --restatement-check
      fi
      if grep -qE '[0-9]+(\.[0-9]+)?\s*(%|±|x|×)' "$NEW_VENUE_DIR/.aris/round-$ROUND-diff.txt"; then
          /paper-claim-audit "$NEW_VENUE_DIR/"
      fi
    
      # Snapshot this round for next-round diff
      rsync -a --exclude='.aris' --exclude='*.pdf' --exclude='*.aux' \
            "$NEW_VENUE_DIR/" "$NEW_VENUE_DIR/.aris/snapshots/round-$ROUND/"
    
      # Convergence check — see "Convergence Criteria" section below
      # If converged, signal HUMAN_CHECKPOINT to terminate early
    done
    

    选择快照 rsync 方法而非 git diff HEAD~1..HEAD 的原因:无法保证 paper-base-dir 是 git 仓库;即使是,单个 auto-loop 轮次中的中间状态也不会生成逐轮提交。rsync 快照不依赖具体仓库类型。

  3. 将编辑映射到相关疑虑 —— 每项拟议编辑都必须映射到 KNOWN_WEAKNESSES.md 中带有 ID 的条目,或阶段 1 的审计发现。循环的审稿人提示词会拒绝未映射的编辑。此要求通过循环的审稿人提示词模板强制执行(重新投稿流水线调用时会传入一条自定义补充说明:“每项修复都必须引用 W ID 或审计发现 ID”)。

传入循环审稿人提示词的输入(拼接而成):

  • 阶段 1 的 3 份审计报告(PROOF_AUDIT.md、PAPER_CLAIM_AUDIT.md、CITATION_AUDIT.md)
  • KNOWN_WEAKNESSES.md
  • 自定义补充说明:“你正在审阅一篇重新投稿的论文;用户约束是仅进行文本微调;每项拟议修复都必须引用 KNOWN_WEAKNESSES 中的某个 W ID 或审计发现 ID;未映射的修复将被拒绝;编辑白名单具有约束力。”

阶段 2 的输出:PAPER_IMPROVEMENT_LOG.md,其中包含逐轮差异、rejected_by_edit_whitelist 列表和收敛状态。

阶段 3:对抗性把关

/kill-argument $NEW_VENUE_DIR/

/kill-argument 不存在 --difficulty 参数——早期提案草稿引用了一个不存在的标志。该技能始终使用 Codex gpt-6-astra + ultra(深度审计级别),并运行标准的双线程攻击-裁决协议;assurance 级别(重新提交时设为 submission)决定 FAIL 是否会阻止最终报告。

kill-argument 的输出是剩余风险报告,而非自动重写指令。对抗性审稿人可能要求进行用户禁止的框架更改;裁决步骤的作用是分类哪些发现可以通过修改文本解决,哪些需要上报用户。

Read $NEW_VENUE_DIR/KILL_ARGUMENT.json
For each decomposed_point with verdict in {still_unresolved, partially_answered}:
    If severity_if_unresolved == critical:
        If recommended_fix is text-only AND maps to allowed paths:
            Append to "extra round queue"
        Else:
            Append to "user escalation queue" with note "outside text-only constraint"

如果额外轮次队列非空,且用户预算允许:再进行一轮阶段 2。否则:停止,并将用户升级处理队列连同书面升级说明一并呈现(“以下内容无法在你的限制条件下修复;请在提交前决定如何处理。”)。

阶段 4:最终编译 + 差异报告 + 推送到 Overleaf

最终编译:

/paper-compile $NEW_VENUE_DIR/main.tex --venue $TARGET_VENUE

/paper-compile 会检查页数限制、字体、参考文献解析和图片溢出,并生成 COMPILE_REPORT.json。如果超出页数限制 → 触发页面压缩启发式(见下文)。

最终论文主张审计零上下文检查:

/paper-claim-audit $NEW_VENUE_DIR/

验证阶段 2 的微小编辑没有意外引入缺乏结果依据的数值主张。

重新运行完整性取证(默认开启;设置 — self_forensics: false 可跳过): 重新提交时最容易出现数字偏移,而仅检查文本成本很低。完成所有微小编辑后,对 $NEW_VENUE_DIR/ 运行 /integrity-forensics(不要在轮次之间运行——参见其中的 One Forbidden Loop)。让上游根据现有内容推导可观测性级别(不要默认 L1——如果 code/+results/ 已关联,运行时会采用更严格的标准)。如果把关结果为 BLOCK → 停止,不要推送到 Overleaf,并逐字呈现相关义务。重新提交专用的一项规则:此流程中的参考文献表已冻结,因此 citation-replaced 不是合法的修复类型——引用义务要么通过人工签字批准 waive,要么升级给用户,请其解除参考文献表冻结。

在推送到 Overleaf 之前立即(以及每次恢复运行时)重新解析当前的 $ARGUMENTS:除非其中包含 — self_forensics: false,否则要求 python3 "$GATE_HELPER" fresh --paper-dir "$NEW_VENUE_DIR/" --anti-ar-commit "$ANTI_AR_COMMIT" 以状态码 0 退出——把关检查后进行任何微小编辑或重新编译,都会导致状态变为 STALE,并强制重新运行检查。先前运行中的跳过设置不会沿用。

差异报告:

diff -u $PAPER_BASE_DIR/main.tex $NEW_VENUE_DIR/main.tex > $NEW_VENUE_DIR/.aris/DIFF_REPORT.md
for f in $PAPER_BASE_DIR/sec/*.tex; do
    base=$(basename $f)
    diff -u "$f" "$NEW_VENUE_DIR/sec/$base" >> $NEW_VENUE_DIR/.aris/DIFF_REPORT.md
done

在导出前,先将此报告交给用户快速审阅。

推送到 Overleaf(如果已传入 — overleaf-target: <project-id>):

完全交由 /overleaf-sync setup 和 /overleaf-sync push 处理。不要另行设计推送机制——/overleaf-sync setup 已确保令牌留在密钥链中(令牌绝不会进入 Agent),而 /overleaf-sync push 在写入共享的 Overleaf 状态前设有确认关卡。

/overleaf-sync setup $OVERLEAF_TARGET   # one-time, user confirms in their terminal
/overleaf-sync push                      # confirmation-gated push from $NEW_VENUE_DIR

如果未提供 overleaf-target,则跳过推送到 Overleaf,并告知用户可以手动运行 /overleaf-sync setup <id>,或将目录导出为 zip 文件。

页面缩减启发式

当 Phase 0.5 或 Phase 4 检测到页面溢出时,应用此有序启发式。达到页数限制后立即停止。每个步骤都完全受编辑白名单约束(不得更改定理、参考文献或框架):

  1. 压缩结论(通常可将 1-2 段“未来工作”缩减为每段 2-3 句)。节省:0.3-0.7 页。
  2. 精简摘要/引言中的保留措辞(将“在本文中,我们”删减为“我们”;将“众所周知”删减为直入主题)。节省:0.2-0.4 页。
  3. 将次要图表移至附录(其信息对主要论证并非不可或缺的图表)。每张图表节省:0.5-1 页。
  4. 将证明概要/扩展说明移至附录(正文保留定理陈述和 1 行证明思路;完整证明移至附录)。节省:0.5-2 页。
  5. 压缩相关工作部分的文字(将逐条引用对比改为对比表)。节省:0.3-0.5 页。

此启发式禁止:删除实验、从正文中删除定理、删除引用(参考文献冻结)。如果执行第 5 步后论文仍超出页数限制,则生成 RESUBmit_REPORT.json,其中包含 verdict: BLOCKED, reason_code: page_shrink_failed_under_constraints,并告知用户——由用户决定是放宽约束,还是选择其他目标投稿 venue。

收敛标准(Phase 2 停止条件)

满足以下全部三项时,Phase 2 的逐轮循环终止:

  1. 本轮审稿人输出中没有新的 CRITICAL 或 MAJOR 文本可修复问题(与持续去重后的问题列表比较)。
  2. 页数预算通过——/paper-compile 报告的页数 ≤ venue 限制。
  3. 所有审计均不构成阻塞——/proof-checker、/paper-claim-audit、/citation-audit --soft-only 均返回 verdict ∈ {PASS, NOT_APPLICABLE}(而非 WARN/FAIL/BLOCKED/ERROR)。

如果达到 ROUNDS(默认值为 2)后,(1)/(2)/(3) 中仍有任何一项未通过,则生成检查点,询问用户是否要额外继续一轮(不自动延长)。用户明确批准额外轮次后,可覆盖默认的 2 轮上限。

此模式借鉴自 /rebuttal Phase 7 的“没有新的实质性问题时终止”——同样的模式也适用于重新投稿。

主 RESUBMIT_REPORT.md 台账

每次重新投稿运行都会在 $NEW_VENUE_DIR/RESUBMIT_REPORT.{md,json} 写入一份主报告,汇总以下内容:

  • 源目录、目标 venue、使用的目标样式文件、运行开始/结束时间戳
  • 所有产物的指针:BASELINE.md、PROOF_AUDIT.json、PAPER_CLAIM_AUDIT.json、CITATION_AUDIT.json、KNOWN_WEAKNESSES.md、PAPER_IMPROVEMENT_LOG.md、KILL_ARGUMENT.json、COMPILE_REPORT.json、DIFF_REPORT.md
  • 取证结果(除非选择退出):来自 .aris/forensics/gate.json 的门禁判定,以及逐字列出的每一项 OPEN 义务——通过 fresh 的 WARN 仍然包含待人工处置的发现;这些内容必须出现在此台账中,绝不能从交付物中悄然消失
  • 所有已使用输入文件的 SHA256 哈希(兼容 verify_paper_audits.sh)
  • 所有线程 ID(Phase 1 审计 + Phase 2 审稿轮次 + Phase 3 kill-argument 的两个线程)
  • audit_skill: resubmit-pipeline、verdict ∈ {PASS, WARN, FAIL, NOT_APPLICABLE, BLOCKED, ERROR}、reason_code: <one of the listed codes>
  • 决策日志:每次用户检查点的批准/拒绝/升级,以及对应时间戳
  • “跳过的约束”:如果传入了任何用户覆盖选项(例如 — skip-anonymity-scan、— rounds 3),则记录该选项及其理由

该模式遵循 shared-references/assurance-contract.md(与所有强制审计使用相同的模式)。这使得 resubmit-pipeline 运行可进行取证复现。

失败模式

此技能会输出 7 种判定之一(保证契约中的 6 种,加上用于暂停中的检查点的 USER_DECISION 运行时状态):

判定reason_code触发条件恢复方式
PASSclean_resubmit所有关卡均已通过;最终 PDF 已按会场页数限制编译完成提交
WARNpartially_addressed_concerns所有 MUST-FIX 关卡均已通过,但部分 KNOWN_WEAKNESSES 无法处理用户审阅未处理事项列表;了解情况后提交
FAILkill_argument_unresolved_critical第 3 阶段发现无法在纯文本限制下修复的 still_unresolved 严重问题用户决定:放宽限制、升级为框架变更,或选择其他会场
NOT_APPLICABLEnot_a_resubmit技能在 --review-corpus 中未检测到先前评审,或目录看起来是新草稿用户改用 /paper-writing
USER_DECISIONawaiting_phase_<N>_checkpoint技能暂停在第 0.5 阶段的匿名化修复检查点、第 2 阶段的轮次结束差异检查关卡、第 3 阶段的升级队列,或第 4 阶段的缩页审批处用户回应检查点提示;技能记录用户决定后,从总台账继续执行
BLOCKEDphase_0_setup_blocked新会场目录已存在,或未找到模板文件用户解决冲突;重新运行
BLOCKEDphase_0_5_compile_failed按新会场的样式进行初始编译失败用户先修复编译错误,再运行审计
BLOCKEDanonymity_scan_failed第 0.5 阶段发现用户必须审批的表面标识符或自引模式用户批准修复,或传入 — skip-anonymity-scan(仅限非双盲场景)
BLOCKEDmissing_review_corpus未提供 --review-corpus,且未能检测到用户提供先前的评审
BLOCKEDpage_shrink_failed_under_constraints缩页启发式方法已用尽,论文仍然超页用户放宽限制或选择其他会场
BLOCKEDout_of_scope_microeditKNOWN_WEAKNESSES 分析显示至少有 1 个严重问题需要新实验/新定理/框架变更用户决定是否升级(退出重投流程;使用完整的 Workflow 1.5 + 3)
ERRORaudit_failure / loop_failure任一子技能输出 ERROR检查子技能报告;修复后重试

BLOCKED 可恢复;ERROR 表示发生了意外的子技能故障;只有 FAIL 和不可恢复的 BLOCKED 会阻止提交。

关键规则

  • 绝不覆盖先前的投稿目录。 这是最重要的不变量。若目标目录已存在,技能会在第 0 阶段中止。
  • Bib 冻结。 所有引文审计结果都通过 --soft-only 处理,并以文本改写建议的形式输出,不修改 bib。
  • 编辑白名单具有约束力。 第 2 阶段的每一轮都必须遵守白名单;被拒绝的修改会记录到 PAPER_IMPROVEMENT_LOG.md;用户会在轮次检查点看到每轮摘要。
  • 每轮差异检查关卡为必需项。 多轮漂移是重投中风险最高的失败模式(第 1 轮稍微弱化一点,第 2 轮再稍微弱化一点,可能累积成显著的框架变化)。编排器 MUST 在进入下一轮前检查每轮差异。
  • 收敛标准固定。 默认进行 2 轮;第 3 轮必须在第 2 轮检查点获得用户明确批准。循环不会自动延长。
  • 匿名化扫描分为 5 层。 表面标识符、自引措辞、致谢、交叉 rebuttal 引用、内部代号——不只是 grep author surnames。
  • 第 3 阶段(致命论点)用于报告残余风险,而非自动改写。 裁定者发现的 still_unresolved 严重问题可能需要用户升级处理,而不是盲目触发额外轮次。
  • 推送到 Overleaf 时应交由 /overleaf-sync 处理。 不要另行创建一套机制。
  • 在 assurance: submission 阶段必须维护主 RESUBMIT_REPORT.md 台账。

输出契约

  • <NEW_VENUE_DIR>/main.tex + sec/ + main.pdf — 已编译的新投稿
  • <NEW_VENUE_DIR>/RESUBMIT_REPORT.md + RESUBMIT_REPORT.json — 主台账(必需)
  • <NEW_VENUE_DIR>/BASELINE.md — 第 0.5 阶段健康状况快照
  • <NEW_VENUE_DIR>/KNOWN_WEAKNESSES.md — 按稳定 ID 拆分的既往审稿人意见
  • <NEW_VENUE_DIR>/PROOF_AUDIT.json + .md — 第 1 阶段证明审计
  • <NEW_VENUE_DIR>/PAPER_CLAIM_AUDIT.json + .md — 第 1 阶段论文主张审计
  • <NEW_VENUE_DIR>/CITATION_AUDIT.json + .md — 第 1 阶段引文审计(仅 --soft-only 模式)
  • <NEW_VENUE_DIR>/PAPER_IMPROVEMENT_LOG.md — 每轮第 2 阶段记录
  • <NEW_VENUE_DIR>/KILL_ARGUMENT.json + .md — 第 3 阶段对抗性关卡
  • <NEW_VENUE_DIR>/COMPILE_REPORT.json — 第 4 阶段编译 + 页数限制检查
  • <NEW_VENUE_DIR>/DIFF_REPORT.md — 与基础会场正文的完整差异
  • <NEW_VENUE_DIR>/.aris/edit_whitelist.yaml — 第 0 阶段生成的白名单
  • <NEW_VENUE_DIR>/.aris/round-N-diff.txt — 关卡使用的每轮差异
  • <NEW_VENUE_DIR>/.aris/traces/<phase>/<date>_runNN/ — 各阶段的 Codex 跟踪记录

新会场目录就是交付物;之前的会场目录保持不变。

审查跟踪记录

所有阶段中每次由 Codex MCP 审查员发起的调用,都会按照 shared-references/review-tracing.md 将跟踪记录保存到 <NEW_VENUE_DIR>/.aris/traces/<phase-name>/<date>_run<NN>/。/kill-argument 的两个线程分别保留。主 RESUBMIT_REPORT.json 的 trace_path 字段指向顶层跟踪记录目录。

说明

  • 此技能会编排若干现有技能(proof-checker、paper-claim-audit、citation-audit、auto-paper-improvement-loop、kill-argument、paper-compile、overleaf-sync),并使用两个最近新增的参数(/auto-paper-improvement-loop --edit-whitelist、/citation-audit --soft-only)。依赖重新投稿流水线之前,请确保这些参数对应当前版本的 SKILL.md。
  • 5 层匿名性扫描比 /paper-compile 的通用自引警告更全面,这是有意为之,因为重新投稿模式通常会将非双盲会场的终稿文本用于双盲会场。
  • 缩减页数的启发式规则按顺序执行(压缩结论 → 收紧保留措辞 → 移动次要图表 → 移动证明概要 → 压缩相关工作表述)。此顺序按“风险从低到高”校准:压缩结论主要是编辑性修改;移动证明概要则会改变阅读流程。达到页数限制后尽早停止。
  • RESUBMIT_REPORT.json 的架构严格遵循 shared-references/assurance-contract.md。这使重新投稿运行可进行取证式复现。注意:verify_paper_audits.sh 目前尚未将 RESUBMIT_REPORT.json 纳入其 MANDATORY_AUDITS 列表(验证器会检查 proof / paper-claim / citation / kill-argument)。重新投稿所需的 4 个强制审计文件(确实位于 <NEW_VENUE_DIR>/ 中)一如既往会被验证器识别;RESUBMIT_REPORT.json 是编排器自己的台账,目前尚不是验证器的强制产物。若用户希望通过验证器将重新投稿设为投稿关卡,可另行跟进,将其加入验证器。

评论

支持 Markdown