关于 resubmit-pipeline
resubmit-pipeline 是面向已完成论文改投的编排技能,适用于需要吸收旧审稿意见、但限制改动范围的作者。它将论文物理复制到新 venue 目录,并以文本微调为主,避免覆盖原提交。
主要功能
- 01复制论文到新的 venue 目录
- 02纳入既有审稿意见
- 03限定为文本微调
- 04执行匿名检查与编译检查
- 05审计证明、论点和引用
适用场景
- 01将已完成论文改投其他会议
- 02在页数缩减时调整论文文本
- 03双盲提交前检查匿名信息
- 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(默认值;重新提交始终针对正式投稿)。
输入
三个必需输入:
paper-base-dir— 按 venue A 格式整理完成的论文。必须包含main.tex(或等效入口文件)、sec/或sections/、references.bib(或等效文件),以及编译后的main.pdf(用于视觉审查)。— 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>。— 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{../...},绝不创建符号链接):
main.tex— 为目标 venue 的.sty文件重新编写。以templates/<venue>.tex为起始骨架;只从基础 venue 的main.tex复制\title{}、\author{}、摘要引用行和章节输入行。新的main.tex必须完全位于$NEW_VENUE_DIR/内。sec/(或sections/) — 执行物理复制:cp -r $PAPER_BASE_DIR/sec/ $NEW_VENUE_DIR/sec/。不要创建符号链接,也不要在新的 main 中使用\input{../sec/...}。 符号链接会导致 Overleaf 导出的 zip 文件出错;跨目录的\input会修改共享文件池并污染已有投稿。math_commands.tex(以及章节所依赖的其他宏文件)— 使用cp进行物理复制,放入$NEW_VENUE_DIR/。Figure/(或figures/)— 将整个目录复制进去(cp -r)。路径陷阱:现有章节很可能写有\includegraphics{Figure/foo.pdf}。如果从子目录设置\graphicspath{{../Figure/}},它会解析为../Figure/Figure/foo.pdf,路径错误。应直接复制Figure/(首选),或使用\graphicspath{{../}}。- 参考文献 — 直接在新的
main.tex中写入\bibliographystyle{<venue-bst>}+\bibliography{../references}。绝不要\input已包含自身\bibliography{}命令的现有ref.tex或references.tex(路径解析会静默出错)。 .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 个层面(提案中的单层扫描并不完整):
- 表面标识信息:作者姓氏、单位、机构名称、实验室代号、过往资助标签 ID(
grep -E "$(echo $AUTHOR_SURNAMES | tr ' ' '|')|$(echo $AFFILIATIONS | tr ' ' '|')")。 - 自引措辞:任何使用“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。 - 致谢 + 资助:扫描
acknowledgments.tex(或\acknowledgments{}块),查找针对特定机构的致谢、资助 ID、具名合作者。双盲投稿时将其注释掉。 - 跨投稿答辩引用:扫描脚注和正文,查找“this paper builds on rebuttal at venue X”或“addressing reviewer N's concern from venue X”之类的内容——必须彻底删除(这些内容既违反匿名要求,也会暴露曾遭拒稿)。
- 内部代号 / 项目链接:搜索仓库 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 时会启用两种安全机制:
-
— 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." -
通过 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 快照不依赖具体仓库类型。 -
将编辑映射到相关疑虑 —— 每项拟议编辑都必须映射到
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-2 段“未来工作”缩减为每段 2-3 句)。节省:0.3-0.7 页。
- 精简摘要/引言中的保留措辞(将“在本文中,我们”删减为“我们”;将“众所周知”删减为直入主题)。节省:0.2-0.4 页。
- 将次要图表移至附录(其信息对主要论证并非不可或缺的图表)。每张图表节省:0.5-1 页。
- 将证明概要/扩展说明移至附录(正文保留定理陈述和 1 行证明思路;完整证明移至附录)。节省:0.5-2 页。
- 压缩相关工作部分的文字(将逐条引用对比改为对比表)。节省:0.3-0.5 页。
此启发式禁止:删除实验、从正文中删除定理、删除引用(参考文献冻结)。如果执行第 5 步后论文仍超出页数限制,则生成 RESUBmit_REPORT.json,其中包含 verdict: BLOCKED, reason_code: page_shrink_failed_under_constraints,并告知用户——由用户决定是放宽约束,还是选择其他目标投稿 venue。
收敛标准(Phase 2 停止条件)
满足以下全部三项时,Phase 2 的逐轮循环终止:
- 本轮审稿人输出中没有新的 CRITICAL 或 MAJOR 文本可修复问题(与持续去重后的问题列表比较)。
- 页数预算通过——
/paper-compile报告的页数 ≤ venue 限制。 - 所有审计均不构成阻塞——
/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 | 触发条件 | 恢复方式 |
|---|---|---|---|
PASS | clean_resubmit | 所有关卡均已通过;最终 PDF 已按会场页数限制编译完成 | 提交 |
WARN | partially_addressed_concerns | 所有 MUST-FIX 关卡均已通过,但部分 KNOWN_WEAKNESSES 无法处理 | 用户审阅未处理事项列表;了解情况后提交 |
FAIL | kill_argument_unresolved_critical | 第 3 阶段发现无法在纯文本限制下修复的 still_unresolved 严重问题 | 用户决定:放宽限制、升级为框架变更,或选择其他会场 |
NOT_APPLICABLE | not_a_resubmit | 技能在 --review-corpus 中未检测到先前评审,或目录看起来是新草稿 | 用户改用 /paper-writing |
USER_DECISION | awaiting_phase_<N>_checkpoint | 技能暂停在第 0.5 阶段的匿名化修复检查点、第 2 阶段的轮次结束差异检查关卡、第 3 阶段的升级队列,或第 4 阶段的缩页审批处 | 用户回应检查点提示;技能记录用户决定后,从总台账继续执行 |
BLOCKED | phase_0_setup_blocked | 新会场目录已存在,或未找到模板文件 | 用户解决冲突;重新运行 |
BLOCKED | phase_0_5_compile_failed | 按新会场的样式进行初始编译失败 | 用户先修复编译错误,再运行审计 |
BLOCKED | anonymity_scan_failed | 第 0.5 阶段发现用户必须审批的表面标识符或自引模式 | 用户批准修复,或传入 — skip-anonymity-scan(仅限非双盲场景) |
BLOCKED | missing_review_corpus | 未提供 --review-corpus,且未能检测到 | 用户提供先前的评审 |
BLOCKED | page_shrink_failed_under_constraints | 缩页启发式方法已用尽,论文仍然超页 | 用户放宽限制或选择其他会场 |
BLOCKED | out_of_scope_microedit | KNOWN_WEAKNESSES 分析显示至少有 1 个严重问题需要新实验/新定理/框架变更 | 用户决定是否升级(退出重投流程;使用完整的 Workflow 1.5 + 3) |
ERROR | audit_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是编排器自己的台账,目前尚不是验证器的强制产物。若用户希望通过验证器将重新投稿设为投稿关卡,可另行跟进,将其加入验证器。