prepare-regression

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Prepare a change

准备变更

When to Use

何时使用

Input: PR URL or repository plus commit/range, and registry assignment. Follow project guidance after resolving the target commit.
输入:PR URL 或 repository,加上 commit/range 和 registry assignment。 解析目标 commit 后,遵循项目指南。

When NOT to Use

何时不要使用

The same inputs have a verified preparation record; reuse it.
相同输入已有经验证的准备记录时,直接复用。

Prepare

准备

  1. Read the standard and file contract. Pin the complete change as S0/S1: commit parent or explicit range baseline; merge base to frozen head for unmerged PRs; merge first parent to merge commit, squash parent to squash, or the complete rebased series for merged PRs. Ambiguous ranges and missing root baselines block preparation.
  2. Freeze commit titles/messages or PR title, body, discussion, reviews and inline comments with URLs and collection time. Paginate APIs; record limits and lifecycle. Locate security/threat-model documents in both states; record paths or search limitations.
  3. Run snapshot.py via
    uv run --no-project
    with repository, S0, S1 and a new directory, or equivalent Git commands for special source needs. Preserve dependency/submodule/LFS revisions. Exclude later history; keep exports pristine and build in separate copies.
  4. Write and seal
    prepare.json
    with boundary explanations, frozen context and source artifacts. If blocked, preserve collected evidence and name the prerequisite.
  1. 阅读标准和文件契约。将完整变更固定为 S0/S1: 对于 commit,使用其 parent 或显式 range 基线;对于未合并的 PR,使用 merge base 到 frozen head;对于已合并的 PR,使用 merge first parent 到 merge commit、squash parent 到 squash,或完整的 rebased series。存在歧义的 range 或缺少 root baseline 时,将阻塞准备流程。
  2. 冻结 commit 标题/消息,或 PR 标题、正文、讨论、reviews 和 inline comments,并记录 URL 和收集时间。对 API 进行分页;记录限制和 lifecycle。在两个状态中定位 security/threat-model 文档;记录路径或搜索限制。
  3. 使用
    uv run --no-project
    运行 snapshot.py,传入 repository、S0、S1 和一个新目录;对于特殊的源代码需求,也可使用等效的 Git 命令。保留 dependency/submodule/LFS revisions。排除后续 history;保持 exports 原样,并在独立副本中进行构建。
  4. 写入并封存
    prepare.json
    ,其中包含边界说明、冻结的上下文和源文件产物。如果流程被阻塞,保留已收集的证据,并明确说明缺失的前置条件。

Report Back

回报结果

Keep detailed evidence in the sealed package. Return only:
  • Status:
    complete
    or
    blocked
    , matching the record.
  • Record: sealed
    prepare.json
    path, or why none was produced.
  • Result: selected S0/S1 and material collection limitations.
  • Blocker: missing prerequisite or required caller action, if blocked.
将详细证据保存在已封存的 package 中。仅返回:
  • Status:
    complete
    或
    blocked
    ,与记录一致。
  • Record: 已封存的
    prepare.json
    路径,或未生成的原因。
  • Result: 选定的 S0/S1,以及材料收集方面的限制。
  • Blocker: 如果被阻塞,说明缺失的前置条件或调用方需要采取的操作。

Rationalizations to Reject

需要拒绝的判断依据

  • “The PR is merged”: that does not identify the complete change boundary.
  • “PR 已合并”:这无法确定完整的变更边界。