prepare-artifacts

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Prepare Artifacts

准备可复现性工件

Turn a research codebase into a submittable, badge-ready reproducibility artifact. Artifact evaluation is a separate, post-acceptance track at most systems/PL/ML venues with its own deadline, its own appendix, and badges that change per venue per year — this skill builds the package (README, appendix, run instructions, anonymized repo, archival deposit guidance), produces an artifact-readiness checklist and a packaging plan, and lints the artifact directory for the bars reviewers actually check.
It does not run the author's experiments or claim a result reproduces — it prepares and checks the package, and tells the author exactly what reviewers will verify by hand.
将研究代码库转换为可提交、符合徽章要求的可复现性工件。工件评估是大多数系统/编程语言/机器学习会议中独立于论文评审的、在论文录用后的环节,有单独的截止日期、专属附录,且徽章要求每年随会议不同而变化——本工具可构建工件包(README、附录、运行说明、匿名仓库、归档存储指导),生成工件就绪检查清单和打包方案,并针对评审人员实际检查的标准对工件目录进行校验。
本工具不会运行作者的实验或声称结果可复现——它仅负责准备和检查工件包,并明确告知作者评审人员会人工验证的内容。

When to use

使用场景

  • "My paper was accepted — how do I do the artifact evaluation / get a badge?"
  • "Package / clean up my code for submission." / "anonymize my repo for review."
  • "What's an artifact appendix / Artifacts Available / Functional / Reusable?"
  • "Do I need a Zenodo DOI? concept vs version?" / "Software Heritage?"
  • "Fill out the NeurIPS code/reproducibility or ACL repro checklist."
  • "What does Reproduced vs Replicated mean for this badge?"
  • Alongside
    prepare-camera-ready
    (de-anonymization + final deposit overlap).
  • "我的论文录用了——如何进行工件评估/获取徽章?"
  • "打包/清理我的代码用于提交。" / "匿名化我的仓库用于评审。"
  • "什么是工件附录/Artifacts Available/Functional/Reusable?"
  • "我需要Zenodo DOI吗?概念DOI和版本DOI有什么区别?" / "什么是Software Heritage?"
  • "填写NeurIPS代码/可复现性清单或ACL可复现性清单。"
  • "对于该徽章,Reproduced和Replicated分别是什么意思?"
  • prepare-camera-ready
    配合使用(去匿名化+最终归档环节重叠)。

Inputs

输入信息

  1. The artifact directory — the code/data repo to be packaged (path).
  2. The target venue + track, and ideally
    venues/conferences/<v>-<year>.yml
    (supplies the review blind level; create with
    parse-cfp
    if missing). The venue profile does NOT encode the artifact track's badge offering or its separate deadline — those are fetched live (step 1).
  3. The paper's major claims (for a per-claim reproduction plan) and whether the artifact is for review-phase (often double-blind) or the final deposit. These change everything (anonymized ZIP vs version DOI).
  1. 工件目录——待打包的代码/数据仓库(路径)。
  2. 目标会议+环节,理想情况下提供
    venues/conferences/<v>-<year>.yml
    文件(提供评审盲审级别;若缺失可使用
    parse-cfp
    生成)。会议配置文件不包含工件环节的徽章类型或单独截止日期——这些信息会实时获取(步骤1)。
  3. 论文的核心结论(用于制定逐结论的复现方案),以及工件是用于评审阶段(通常为双盲)还是最终归档。这会影响所有流程(匿名ZIP包 vs 版本DOI)。

Process

流程步骤

  1. Fetch the venue's CURRENT Call for Artifacts — mandatory, live. Badge offerings vary per venue per year (OSDI '26 evaluates ONLY "Artifacts Available"; SOSP '26 offers all three). Memory and last year are stale by construction; verify live. From the live CFA confirm: which badges are offered this cycle, the separate artifact deadline, the archival-hosting requirement, the appendix template/length, and the blind model. Snapshots to start from (re-verify, don't trust): references/venue-artifact-rails.md. Record the chosen badge target + artifact deadline in
    .paper-memory/decisions.md
    .
  2. Resolve the badge taxonomy and the era trap. Use
    python3 scripts/badge_advisor.py --badge <name>
    to print the ACM v1.1 families/tiers and, critically, the Reproduced/Replicated swap: ACM inverted these terms on 2020-05-14, so a pre-2020 badge means the inverse (
    --era pre-2020
    ). Reproduction is never bit-exact — it must agree within a tolerance that does not change the paper's claims. Background: references/badging-standards.md.
  3. Lint the artifact directory against the bars reviewers check:
    python3 scripts/check_artifact.py <artifact_dir> \
        --venue venues/conferences/<v>-<year>.yml [--blind double]
    It reports, with file paths: the ML Code Completeness 5 items (dependency spec, training code, evaluation code, pre-trained models or a documented way to get them, a README with a results table + the exact reproduce command); archival readiness (GitHub-only vs a DOI/SWHID); double-blind anonymization (author names/emails, identifying URLs, a
    .git
    directory, PDF/appendix metadata) — driven by the venue's blind level or
    --blind
    ; and hygiene (a LICENSE, upload-size cap). Flags:
    --json
    ,
    --strict
    ,
    --zip-cap-mb N
    ,
    --venues-dir
    . Exit codes: 0 clean, 1 errors, 2 usage. The lint covers FILES only — it cannot prove the build runs, that results reproduce, or that a DOI resolves.
  4. Build the package the venue asks for (with the author, not for them):
    • README — overview, exact dependency install, the precise command to reproduce each result, a results table, hardware/runtime expectations, and the license. (ML Code Completeness item 5.)
    • Artifact appendix — for USENIX-family Phase 2, a ≤3-page PDF (their LaTeX template): hardware/software/config, the paper's major claims, and a per-claim reproduction procedure + result-comparison method ("agrees if within X%"). For SIGMOD ARI, include experiment scripts AND graph-generation scripts ("similar behavior", not exact numbers).
    • Checklists — fill the NeurIPS Paper Checklist / Code policy or the ACL "Responsible NLP Research" checklist accurately: an honest "no"/"n/a" with justification is safe; a missing or misleading filing is the desk-reject (ARR desk-rejects misleading filings since Dec 2024). Do not game boxes to "yes."
  5. Anonymize for double-blind review (if review-phase). Ship an anonymized ZIP without
    .git
    , or proxy through Anonymous GitHub (anonymous.4open.science), listing every identifying term to scrub. Cover PDF/appendix metadata, acknowledgments, funding, and self-citation phrasing — same rules as the paper (
    anonymize-paper
    ). Details: references/archival-hosting.md.
  6. Plan the archival deposit. For "Artifacts Available," the permanent copy must be on an archival host — USENIX-family rejects GitHub/personal sites. Use a Zenodo version DOI for the final (a concept DOI is OK only during evaluation) and/or a Software Heritage SWHID (intrinsic, ISO/IEC 18670); they are complementary. Add CITATION.cff/codemeta so the archive emits citation metadata. De-anonymize and deposit the FINAL version at camera-ready (
    prepare-camera-ready
    ).
  7. Write the artifact-readiness checklist + packaging plan to
    paper-workspace/submission/artifact-readiness.md
    and append a line to
    paper-workspace/INDEX.md
    . Order by severity; cite each finding's source (the lint, the live CFA, the badge taxonomy). Re-run the lint until the file-level bars pass.
  1. 实时获取目标会议当前的工件征集要求——强制步骤。徽章类型每年随会议不同而变化(OSDI '26仅评估「Artifacts Available」;SOSP '26提供全部三种徽章)。仅凭记忆或去年的信息必然过时;必须实时验证。从实时征集要求中确认:本届会议提供哪些徽章、工件环节的单独截止日期、归档存储要求、附录模板/篇幅限制,以及盲审模式。可参考快照(需重新验证,不可直接信任):references/venue-artifact-rails.md。将选定的目标徽章+工件截止日期记录到
    .paper-memory/decisions.md
    中。
  2. 解析徽章分类体系与术语陷阱。使用
    python3 scripts/badge_advisor.py --badge <name>
    命令打印ACM v1.1的徽章分类层级,关键是要注意Reproduced/Replicated术语的变更:ACM在2020-05-14反转了这两个术语的含义,因此2020年前的徽章含义与现在相反(使用
    --era pre-2020
    参数)。复现绝非完全精确的比特级匹配——只需在不改变论文结论的误差范围内达成一致。背景参考:references/badging-standards.md
  3. 针对评审标准校验工件目录
    python3 scripts/check_artifact.py <artifact_dir> \
        --venue venues/conferences/<v>-<year>.yml [--blind double]
    该脚本会带文件路径报告以下内容:ML代码完整性的5项要求(依赖说明、训练代码、评估代码、预训练模型或获取方式说明、包含结果表+精确复现命令的README);归档就绪性(仅GitHub存储 vs DOI/SWHID存储);双盲匿名化(作者姓名/邮箱、可识别URL、
    .git
    目录、PDF/附录元数据)——由会议盲审级别或
    --blind
    参数驱动;以及规范性检查(LICENSE文件、上传大小限制)。支持参数:
    --json
    --strict
    --zip-cap-mb N
    --venues-dir
    。退出码:0表示无问题,1表示存在错误,2表示使用不当。校验仅针对文件层面——无法证明构建可运行、结果可复现或DOI可访问。
  4. 按照会议要求构建工件包(与作者协作,而非代劳):
    • README——概述、精确的依赖安装步骤、复现每个结果的具体命令、结果表、硬件/运行时预期,以及许可证信息。(ML代码完整性第5项要求)
    • 工件附录——对于USENIX系列的第二阶段,需提交**≤3页的PDF**(使用其LaTeX模板):硬件/软件/配置信息、论文的核心结论,以及逐结论的复现流程+结果对比方法(如“误差在X%以内即视为一致”)。对于SIGMOD ARI,需包含实验脚本和图表生成脚本(要求“行为相似”,而非精确数值)。
    • 清单填写——准确填写NeurIPS论文清单/代码政策或ACL“负责任NLP研究”清单:诚实填写“否”/“不适用”并说明理由是安全的;遗漏或误导性填写会导致直接拒稿(自2024年12月起,ARR会因误导性填写直接拒稿)。不要为了勾选“是”而弄虚作假。
  5. 为双盲评审进行匿名化处理(若处于评审阶段)。提供不含
    .git
    的匿名ZIP包,或通过Anonymous GitHub(anonymous.4open.science)代理,列出所有需要清理的可识别内容。清理PDF/附录元数据、致谢、资助信息和自引用表述——遵循与论文匿名化相同的规则(
    anonymize-paper
    工具)。详细说明:references/archival-hosting.md
  6. 规划归档存储方案。对于“Artifacts Available”徽章,永久副本必须存储在归档级平台——USENIX系列拒绝GitHub/个人站点。最终版本使用Zenodo版本DOI(评审阶段可使用概念DOI)和/或Software Heritage SWHID(符合ISO/IEC 18670标准);两者可互补。添加CITATION.cff/codemeta文件,以便归档平台生成引用元数据。在终稿提交阶段(
    prepare-camera-ready
    )进行去匿名化并完成最终归档。
  7. 编写工件就绪检查清单+打包方案,保存到
    paper-workspace/submission/artifact-readiness.md
    ,并在
    paper-workspace/INDEX.md
    中添加一行记录。按问题严重程度排序;注明每个发现的来源(校验结果、实时征集要求、徽章分类体系)。重新运行校验工具,直到文件层面的要求全部达标。

Output

输出内容

  • An artifact-readiness checklist (PASS / PASS-WITH-WARNINGS / FAIL with file paths) plus a packaging plan: target badges (from the live CFA), hosting (anonymized review copy + final version DOI/SWHID), the completeness gaps to close, the appendix/checklist to fill, and the separate artifact deadline. Written to
    paper-workspace/submission/
    .
  • Draft README / appendix / checklist content the author edits and owns.
  • 工件就绪检查清单(通过/带警告通过/失败并附文件路径)和打包方案:目标徽章(来自实时征集要求)、存储方案(匿名评审副本+最终版本DOI/SWHID)、需填补的完整性缺口、需填写的附录/清单,以及工件环节的单独截止日期。保存到
    paper-workspace/submission/
    目录。
  • 供作者编辑和确认的README/附录/清单草稿内容。

Adapt to your discipline

适配不同学科

The badge taxonomy here is ACM/USENIX/SIGMOD/ETAPS/ML-venue specific. For other fields, swap in your venue's artifact/data-availability rules (e.g. journal "data availability statements", FAIR data deposits) — the completeness and anonymization lints read the directory, not a discipline, so they still apply.
此处的徽章分类体系针对ACM/USENIX/SIGMOD/ETAPS/机器学习会议。对于其他领域,可替换为对应会议的工件/数据可用性规则(如期刊的“数据可用性声明”、FAIR数据归档要求)——完整性和匿名化校验仅针对目录内容,不局限于特定学科,因此仍适用。

Guardrails

注意事项

  • Re-verify the venue's CURRENT artifact rules live (step 1 is not optional). Badge offerings change per venue per year; never assume from memory or last year. Overconfidence is highest right after a fetch — re-check the primary CFA.
  • Never claim a result reproduces, and never demand bit-exact reproduction. ACM/SIGMOD/ETAPS require agreement within a tolerance that doesn't change the paper's claims. This skill prepares and checks the package; it does not run the experiments or judge the science.
  • The Reproduced/Replicated terms were swapped in 2020 — check the badge era (
    badge_advisor.py --era
    ) before interpreting them.
  • Archival hosting is specific: a GitHub URL is not "Available" for the USENIX family — direct authors to a Zenodo version DOI / SWHID.
  • Anonymization-aware: for double-blind, scrub
    .git
    , names, emails, URLs, and metadata before any review-phase upload.
  • Accurate checklists, not gamed ones: honest "no"/"n/a" with justification is safe; misleading filings get desk-rejected.
  • Copilot, not pilot: never deposit, never submit to an artifact-evaluation system, never complete a checklist form on the author's behalf. Prepare, lint, explain — the author clicks.
  • Quote at most the flagged line/path; never bundle the author's artifact into this repo.
  • 必须实时验证目标会议当前的工件规则(步骤1不可省略)。徽章类型每年随会议不同而变化;绝不要仅凭记忆或去年的信息判断。实时获取信息后仍需再次确认——务必核对官方征集要求原文。
  • 绝不声称结果可复现,也绝不要求比特级精确复现。ACM/SIGMOD/ETAPS要求结果在不改变论文结论的误差范围内一致。本工具仅负责准备和检查工件包;不运行实验或评判科研内容。
  • Reproduced/Replicated术语在2020年发生了含义反转——解读前需确认徽章的时代(使用
    badge_advisor.py --era
    参数)。
  • 归档存储有明确要求:对于USENIX系列,GitHub链接不满足“Available”徽章要求——需引导作者使用Zenodo版本DOI/SWHID。
  • 支持匿名化处理:双盲评审阶段,上传前需清理
    .git
    目录、姓名、邮箱、URL和元数据。
  • 准确填写清单,拒绝弄虚作假:诚实填写“否”/“不适用”并说明理由是安全的;误导性填写会导致直接拒稿。
  • 仅做辅助,不代劳:绝不自动归档、绝不向工件评估系统提交、绝不代作者填写清单表单。仅负责准备、校验、解释——最终操作由作者完成。
  • 最多引用标记的行/路径;绝不将作者的工件打包到本仓库。

Memory

记忆机制

Uses the shared
.paper-memory/
convention (full spec:
paper-memory-convention.md
).
  • At start: read
    lessons.md
    (skip re-flagging fixed items; lead with any
    recurring
    packaging habits, e.g. "you tend to ship a
    .git
    directory") and
    decisions.md
    (the chosen venue/badge target + artifact deadline).
  • At end: append the target badge + artifact deadline to
    decisions.md
    , and one dated entry per finding worth remembering to
    lessons.md
    in the shared
    - [YYYY-MM-DD] (prepare-artifacts | <scope>) issue -> recommendation
    format (use
    reflect-and-improve
    's
    reflect_log.py append
    , which dedupes/dates).
  • Create
    .paper-memory/
    on demand and offer to add it to the project
    .gitignore
    . Local-only; never upload it or copy it into this repo.
遵循共享的
.paper-memory/
约定(完整规范:
paper-memory-convention.md
)。
  • 开始时:读取
    lessons.md
    (跳过已修复的问题;优先提示重复出现的打包习惯,如“你通常会包含
    .git
    目录”)和
    decisions.md
    (选定的会议/目标徽章+工件截止日期)。
  • 结束时:将目标徽章+工件截止日期追加到
    decisions.md
    ,并将每个值得记录的发现按
    - [YYYY-MM-DD] (prepare-artifacts | <范围>) 问题 -> 建议
    格式追加到
    lessons.md
    (可使用
    reflect-and-improve
    reflect_log.py append
    命令,该命令会自动去重并添加日期)。
  • 按需创建
    .paper-memory/
    目录,并建议将其添加到项目的
    .gitignore
    中。该目录仅本地存储;绝不上传或复制到本仓库。