Skip to content

feat(discovery): schedule approved follow-ups quietly - #6874

Draft
sunrioa wants to merge 107 commits into
apache:rust-previewfrom
sunrioa:codex/feat-discovery-quiet-followups
Draft

sunrioa wants to merge 107 commits into
apache:rust-previewfrom
sunrioa:codex/feat-discovery-quiet-followups

Conversation

@sunrioa

@sunrioa sunrioa commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Refs #6716. Depends on #6730.

Until #6730 is merged, the PR diff includes its changes. The comparison against the #6730 commit shows the follow-up changes on their own.

When the Bot receives a finding from an approved discovery plan, it can schedule a one-time recheck under that plan's current approval. A recheck that cannot inherit approval remains pending for the user. The Bot keeps routine scheduling confirmations out of chat, and background rechecks are available on demand in the discovery panel.

Verification

  • Four focused native tests passed on macOS, including one-time approval inheritance and rejection of recurring or chained follow-ups.
  • The discovery suite also covered revoking the inherited approval after a parent plan was paused and resumed. Generated runtime declarations were verified.
  • The standalone branch passed three native checks for authorization, revocation, and one-time scheduling with a 16 MiB test thread stack. Five Workbench discovery unit tests passed. A screenshot of the filtered list is pending.

AI use

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex assisted with implementation, regression coverage, verification, and drafting.

Checklist

  • Tests cover the change and fail without it
  • Format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes
  • No
简体中文

关联 #6716,依赖 #6730。

#6730 合并前,本 PR 的 diff 会包含其改动。与 #6730 提交对比可以查看本次复查功能的改动。

Bot 收到已批准的主动发现结果后,可以沿用该计划当前的授权,安排一次性复查。无法沿用授权时,复查会进入待批准状态。成功排期不会在聊天里单独提示,用户可以在主动发现面板里按需查看后台复查。

macOS 上 4 项定向原生测试通过,覆盖一次性复查沿用授权,以及周期复查和链式复查不能沿用授权。主动发现套件也覆盖了父计划暂停并恢复后旧授权失效的情况。生成的运行时声明通过校验。独立分支上,授权、撤销和一次性调度的 3 项原生测试在 16 MiB 测试线程栈上通过,5 项 Workbench 主动发现单测通过。界面截图待补。

OpenAI Codex 协助了实现、回归测试、验证和正文起草。

Add opt-in discovery schedules using fresh read-only worker Sessions and
explicit report or no_report settlement through the existing Bot path.
Preserve original execution identities across restart and Host handoff.

Refs: apache#6716
Generated-by: OpenAI Codex
Keep cancellation durable across resume and service disablement, and
settle only the original investigation Turn. Recheck report authority
at admission and restrict Recall to the enabled built-in implementation.
Preserve uncertain result writes and allow approved inactive plans to resume.

Generated-by: OpenAI Codex
Share scoped investigation outcomes and checkpoints across fresh workers using
the existing scheduler store. Keep complete reasons and source references
available through bounded queries and explicit continuation.

Link corrections and feedback to the original investigation and immutable
user input, including quoted and steered messages. Record notification
decisions in SendUser or sleep without an extra model step, retaining outbox
identity and uncertain-write semantics.

Generated-by: OpenAI Codex
Exercise committed but unacknowledged settlement, uncertain notification receipts, concurrent memory writes, and project relocation with real storage and a test-only fault seam.

Generated-by: OpenAI Codex
Reconcile discovery jobs, feedback and bounded records with the durable Run and queue contracts introduced by apache#6713. Port the Host regressions to the current fixture and preserve unknown-effect cleanup semantics.

Generated-by: OpenAI Codex
Sync rust-preview through apache#6740, retaining its archive and WebSocket recovery fixes. Handle scheduler revision conflicts and wait for original Run cleanup in the discovery fixtures.

Generated-by: OpenAI Codex
Retain always-visible controls when rebuilding the authorized Run catalog, and calculate continuation replay evidence from the discovered tool subset. Keep replay signature validation and current tool authorization unchanged.

Exercise Bot controls with tool discovery enabled; the existing desktop continuation regression covers failed-Run continuation without duplicate input.

Generated-by: OpenAI Codex
Integrate apache#6728 and keep desktop discovery status, publication provenance and quoted feedback on the current Agent execution and queue contracts. Obsolete fixture coverage will be carried by the current Host and journal tests.

Generated-by: OpenAI Codex
Persist admitted discovery identity for desktop status, retain quoted previews through send and history, and migrate restart and UI coverage to the current interfaces.

Generated-by: OpenAI Codex
Keep existing second-based schedules intact during instruction edits. Hide continuation for quoted drafts and recheck quotes around asynchronous continuation admission. Extend existing regression coverage for both review findings.

Generated-by: OpenAI Codex
Preserve discovery tool restrictions and quoted draft actions while adopting upstream model stack and native residency updates.

Generated-by: OpenAI Codex
Check the original approval and pending fire before starting queue consumers. Retract revoked pending reports across both delivery crash windows, and preserve original notification identity when authorization remains valid.

Generated-by: OpenAI Codex
Integrate the durable Agent execution API, retain the A1 read-only investigation scope, and retract revoked pending reports before recovery consumers start. Port behavior coverage to the current real Host harness.

Generated-by: OpenAI Codex
Preserve shared discovery records and feedback while synchronizing the current durable Agent runtime. Carry the recovered-report authorization checks and their real Host regressions into A2.

Generated-by: OpenAI Codex
Include the latest upstream UI changes and regenerate the dependency inventory after the upstream native graph changes.

Generated-by: OpenAI Codex
Carry the current rust-preview synchronization while retaining the recovered-report authority checks and shared-memory regression coverage.

Generated-by: OpenAI Codex
Integrate the current rust-preview dependency stack and preserve desktop discovery, quoted drafts, publication identity, and recovery authorization coverage.

Generated-by: OpenAI Codex
Finish each simulated model step before awaiting steering. Verify that Stop targets the current Run while an accepted followup executes once and the next draft stays intact. Keep the existing input, queue, and timeout checks.

Generated-by: OpenAI Codex
Finish each simulated model step before awaiting steering. Verify that Stop targets the current Run while an accepted followup executes once and the next draft stays intact. Keep the existing input, queue, and timeout checks.

Generated-by: OpenAI Codex
Sync current rust-preview while retaining the recovered-report authorization boundary. Box the new legacy-compaction projection at its entrypoint to bound the debug poll stack, and keep the notification recovery fixture pinned to its original busy Run.

Generated-by: OpenAI Codex
Carry the verified A1 recovery boundary, bounded projection stack, and existing desktop steering fixture correction into the shared-memory layer.

Generated-by: OpenAI Codex
Preserve discovery and quoted drafts while integrating the removal of manual risk UI and history prefetch. Carry the verified recovery authorization and original-Run fixture fixes from A1/A2.

Generated-by: OpenAI Codex
Acquire the existing child handle before the five-second pipe-drain wait. This separates PowerShell fixture startup from drain timing and preserves cleanup when the wait fails; production process behavior and the drain bound are unchanged.

Generated-by: OpenAI Codex
The queue consumer uses try_lock for Goal admission, so an enqueue wake can be consumed while the producer still owns the gate. Notify after releasing it when the persisted schedule still has ready work; keep the existing authorization and ordering checks.

Generated-by: OpenAI Codex
Acquire the existing child handle before the five-second pipe-drain wait. This separates PowerShell fixture startup from drain timing and preserves cleanup when the wait fails; production process behavior and the drain bound are unchanged.

Generated-by: OpenAI Codex
The queue consumer uses try_lock for Goal admission, so an enqueue wake can be consumed while the producer still owns the gate. Notify after releasing it when the persisted schedule still has ready work; keep the existing authorization and ordering checks.

Generated-by: OpenAI Codex
Carry the shared Goal wake and Windows process fixture corrections without changing discovery permissions or memory semantics.

Generated-by: OpenAI Codex
@github-actions github-actions Bot added the effort/XXL Over 2500 readable lines label Nov 14, 2026

This branch has not been deployed

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

Labels

effort/XXL Over 2500 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant