Skip to content

fix(inbox): 隐藏已有合并审计的终态 PR 刷新噪声 #86

Description

@tiammomo

问题概述

Maintainer inbox 只从 Portfolio 获取开放 PR。已由 RepoSteward 合并并留下权威 merge execution 的 PR 不再出现在开放快照中,却被误判为在线事实缺失并持续生成高优先级 refresh_required,淹没当前待办并诱发无意义 follow-up。

实际结果

当前仓库 inbox 返回 22 项,其中 16 项是已合并 PR 的 P80 refresh_required;这些 PR 在本地 latest merge outcomes 中已有权威合并终态,其中 14 项为 merged,PR #45#67 为已核对精确 verified head 的 already_merged。由于 submitted run 找不到对应开放 PR,build_maintainer_inbox 无条件把它们当作不完整事实。

期望结果

Inbox 在开放 Portfolio 中找不到 tracked submitted PR 时,应先检查同仓库、同 PR 的最新本地 merge execution;只有 mergedalready_merged 的权威终态可安全隐藏。没有终态、失败或未知结果仍保持 refresh_required,开放 PR 的当前在线事实始终优先。

复现步骤

运行 uv run reposteward inbox --repo tiammomo/reposteward --format text,可见 PR #45#52#53#54#55#56#57#59#63#64#65#67#69#74#75#79 均以 refresh_required 出现;usage report 已能从同一 Store 的 latest_merge_outcomes 将其中 14 项标为 merged,并将 #45#67 标为 already_merged

环境信息

RepoSteward origin/main@584c31f10559508f15a98b9b583742dae26b70e4;Inbox 与 Portfolio 均为 prompt-free 只读路径,当前开放 PR 快照完整。

验收条件

  • maintainer_inbox 将 Store 的 latest_merge_outcomes 作为有界本地事实传入 inbox builder,不增加 GitHub 请求、Harness 调用或公开写入;仅当 tracked submitted PR 不在开放 Portfolio 且最新 terminal merge outcome 精确为 mergedalready_merged 时不生成 attention item;PR 仍开放时以新鲜 Portfolio 事实为准,缺失 merge outcome、blocked、failed、unknown 或 closed-unmerged 仍失败关闭为 refresh_required;增加两个合并终态的抑制、开放事实优先和未知结果保留的回归测试,保持 schema/digest 确定性;同步 operator guide,说明终态抑制只信任 RepoSteward 原生合并审计;在当前本地状态做只读 smoke test,确认历史噪声减少而活动 Draft PR 和其他待办仍保留。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions