Skip to content

fix: preserve replacement drafts and captured native owners - #70

Merged
forrestlinfeng merged 5 commits into
EvoMap:mainfrom
imxyanua:codex/keep-replacement-draft
Nov 11, 2026
Merged

forrestlinfeng merged 5 commits into
EvoMap:mainfrom
imxyanua:codex/keep-replacement-draft

Conversation

@imxyanua

@imxyanua imxyanua commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

A successful reply to an older draft submission could delete a newer draft with the same ID. Cleanup now compares the saved draft with the submitted snapshot inside the existing locked update, keeping a replacement even if its creation timestamp is unchanged and only its receipt differs.

The Windows CI failure also exposed a native finalization bug. An explicitly unknown captured owner (pid: null) triggered another ancestry lookup inside the tightly bounded Kimi Notification hook. Finalization now preserves that captured value and still uses the existing fallback when no owner was captured.

Evidence

  • The draft regression reproduced an empty real file store after saving a replacement during a mock Proxy submit. Both replacement variants now survive on Node 22 and 26.
  • The native regression reproduced the extra ancestry lookup through reconcileNativeTurn. Finalization now creates the candidate and report without that lookup.
  • Native turn, native distillation, lifecycle and packed Kimi CLI/Desktop hook tests passed 81/81 on Windows Node 22 and 26 at the original hook budgets.
  • Upstream CI is running for the current head.

Merge Danger

Two-way. The publication request and receipt are unchanged. The owner fix applies to the existing native mechanism; #68 replaces that mechanism, so its shared late-terminal flow should take precedence when the branches are synchronized.

@evomap-aiqa-bot

evomap-aiqa-bot Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Sentinel 已审核此变更,未发现已核验问题,但发现需要人工确认的风险。

GitHub CI 未通过。 此状态来自当前 CI gate,不是 Sentinel finding;请以最新 CI attempt 的日志为准。

另有 1 个需要人工确认的风险;黄色 advisory 不阻塞合并,建议开发 agent review advisory 评论并逐条确认。

开发 agent 查询详情: 调用 MCP 工具 sentinel_pr_review_context,传入 owner_repo="evomap/evolver-agent-plugin"、pr_number=70、head_sha="254f72af3e7da62d384fb9db9947d58f2572c20e",并按条目追加 finding_id 或 finding_key。

由 Sentinel 审核 · 目标提交 254f72af3e7d

@evomap-aiqa-bot

Copy link
Copy Markdown

Sentinel 保留了 1 个尚未确认的审核候选。这些黄色条目不阻塞合并;红色 P0/P1 与其他独立硬门禁不受影响。 单一猜测、缺少变更行证据或纯 checklist 的候选会统一降为 P3。
开发 agent:请 review 以下 advisory,并逐条给出“已验证无风险 / 已修复 / 转为后续事项”的结论;不要只做整体确认。

  • [P2] 用 JSON.stringify 判断草稿版本会将等价重写误判为替换 — 成功提交后的删除条件以 JSON.stringify(current) === JSON.stringify(draft) 判断是否仍为已提交版本�...(truncated) · lib/app/commands/drafts.js · advisory_759d034ea7eb24deac428a62

需要完整证据时,可用行末 finding_key 查询 Sentinel PR review context。

由 Sentinel 审核 · 目标提交 254f72af3e7d

@imxyanua imxyanua changed the title fix: keep replacement drafts after delayed publication fix: preserve replacement drafts and captured native owners Nov 11, 2026
@evomap-aiqa-bot

evomap-aiqa-bot Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Sentinel 已审核此变更,未发现需要报告的问题。

开发 agent 查询详情: 调用 MCP 工具 sentinel_pr_review_context,传入 owner_repo="evomap/evolver-agent-plugin"、pr_number=70、head_sha="d947fbefa0ef06def684d4e9af10fb36b9babf11",并按条目追加 finding_id 或 finding_key。

由 Sentinel 审核 · 目标提交 d947fbefa0ef

forrestlinfeng and others added 2 commits November 11, 2026 10:08
The captured-owner change targeted lib/app/native-turn.js, which EvoMap#68 removed; main's shared late-terminal flow
takes precedence, as the PR description anticipated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@forrestlinfeng

Copy link
Copy Markdown
Contributor

Merged with maintainer changes: main merged in, dropping the shared "retain unknown native owners during finalization" commit (it targets native-turn code #68 removed; main's turn-end.js is kept), and the post-submit removal moved into a withoutSubmittedDraft helper in lib/distill.js. Thanks!

@forrestlinfeng
forrestlinfeng merged commit 8ea66d2 into EvoMap:main Nov 11, 2026
6 checks passed
@evomap-aiqa-bot

evomap-aiqa-bot Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Sentinel 已审核此变更,未发现已核验问题,但发现需要人工确认的风险。

另有 1 个需要人工确认的风险;黄色 advisory 不阻塞合并,建议开发 agent review advisory 评论并逐条确认。

开发 agent 查询详情: 调用 MCP 工具 sentinel_pr_review_context,传入 owner_repo="evomap/evolver-agent-plugin"、pr_number=70、head_sha="06903d3287652f553c25b770f6b1eba9049ee0ac",并按条目追加 finding_id 或 finding_key。

由 Sentinel 审核 · 目标提交 06903d328765

@evomap-aiqa-bot

Copy link
Copy Markdown

Sentinel 保留了 1 个尚未确认的审核候选。这些黄色条目不阻塞合并;红色 P0/P1 与其他独立硬门禁不受影响。 单一猜测、缺少变更行证据或纯 checklist 的候选会统一降为 P3。
开发 agent:请 review 以下 advisory,并逐条给出“已验证无风险 / 已修复 / 转为后续事项”的结论;不要只做整体确认。

  • [P3] 用 JSON.stringify 判断草稿版本会受键顺序影响 — withoutSubmittedDraft() 通过 JSON.stringify(draft) !== JSON.stringify(submitted) 判断同 ID 草稿是否为提��...(truncated) · lib/distill.js · advisory_e64a85d41de809e6eaabc925

需要完整证据时,可用行末 finding_key 查询 Sentinel PR review context。

由 Sentinel 审核 · 目标提交 06903d328765

forrestlinfeng pushed a commit to imxyanua/evolver-agent-plugin that referenced this pull request Nov 11, 2026
The native-turn finalization path the owner fix touched was replaced on main by EvoMap#68; the owner fix is reviewed with EvoMap#70.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
forrestlinfeng pushed a commit to imxyanua/evolver-agent-plugin that referenced this pull request Nov 11, 2026
Session end now closes an open turn through closeUnfinishedTurn (EvoMap#68); the lifecycle fence and same-turn guards
apply to that path. The owner fix in turn-end.js is reviewed with EvoMap#70; main's finalization code replaced it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
forrestlinfeng pushed a commit to imxyanua/evolver-agent-plugin that referenced this pull request Nov 11, 2026
EvoMap#68 removed the deferred native-turn path; the evidence-read reopen, claim release and queue-failure bookkeeping
are ported onto main's single turnEnded path. The owner fix in turn-end.js is reviewed with EvoMap#70.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants