Repository navigation
[Task][RFC]: Complete automatic execution admission and cross-surface readback #5202
Description
Outcome / 目标
完成自动执行准入与跨入口反馈。One task tracks this RFC's delivery; keep implementation PRs and milestone evidence here instead of creating a parallel task tree.
Canonical design: RFC. Roadmap: S2/S4/S5/S7, under #4574. Design acceptance is distinct from implementation, live qualification and promotion.
Current boundary
Source audit: main at ce3862e33 (2026-09-28). This is source/PR inspection, not a new test or live-qualification claim.
M1 owner floor and managed Turn admission shipped in #4921/#4929. The current RFC also records M3 settings and #5186 fixes Agent selection. Live timer-to-hook coverage, non-Turn launchers and next-eligibility parity remain distinct gaps.
Work remaining
- Complete real schedule apply/readback and trustworthy automatic-start identity on supported hosts; explicitly show unsupported launchers.
- Finish shared next-eligible/wait feedback across existing settings, CLI and Lark; preserve inherited Goal/Agent/automation policy.
Ownership and ongoing work
Continue the existing quota/scheduler/settings owners. PR #5187 changes capability-settings scope; coordinate that companion instead of adding another editor. Creating this task does not activate or rebind any automation.
Contribution route: implementation/integration overlaps active work. Start from the linked current owners/PRs and identify an unowned acceptance gap in a claim comment; do not begin a competing rewrite.
Acceptance
- Concurrent starts admit once; reserved-but-unstarted crash recovery remains resumable and confirmed attempts cannot replay as fresh starts.
- Manual interval bypass affects only the interval and cannot bypass other authority/quota gates.
- Configuration target changes invalidate previews; restart, backoff/reset and downgrade preserve the documented v1/v2 boundary.
- Reconcile the RFC's current delivery checkpoint and this issue with the integrated revision, commands, passed/failed/untested evidence and remaining gates. Close the accepted scope only; no claim that a merged PR alone completes the RFC.
Starting points and delivery boundary
- loopx/control_plane/quota
- loopx/control_plane/scheduler
- apps/presentation/dashboard/src/features/personal-workspace
Base: latest main. Reuse the existing typed owner and provider boundaries. Include affected CLI/frontend/Lark companions; verify real entrypoints and backend where changed. Preserve existing first-screen review and maintainer merge gates. Public artifacts contain only synthetic/public-safe evidence, no private operational state. This task does not authorize provider promotion, benchmark launches, release/deployment or unrelated protected effects.
Activity
Duang777 commentedon Oct 10, 2026
I would like to claim one bounded M3 slice on the latest
main: shared cadence wait / next-eligible readback across the existing quota, CLI, Dashboard, and selected-Agent Lark/statuspaths.Scope:
loopx/control_plane/quota/automation_cadence.tsas the sole policy, start-history, eligibility, reservation, and confirmation owner;unconfigured | eligible | waiting | unavailable) while preserving the existing store/result versions and legacy fields;blocked_waitonly when it was otherwise runnable, while preserving stronger paused, health, operator-gate, recovery/repair, monitor, terminal, and settled states;next_eligible_at_msthroughautomation-cadence, the existing settings API/card, quota human readback, and selected-Agent Lark/status;Primary files are the cadence owner and quota packet/readback adapter, the existing cadence API/CLI/Dashboard settings files, and the existing native-chat conversation status snapshot/renderer. I will also reconcile the RFC's English and Chinese delivery checkpoint with exact evidence.
Acceptance evidence will cover exact due-time and inherited scope behavior; default-off/v1-v2 compatibility; manual bypass remaining admission-only; strongest-state precedence; no host/writeback/spend/scheduler ACK on wait; public-field allowlisting; API/CLI rendering; the existing packaged Dashboard browser scenario at desktop/mobile against the real loopback HTTP and TypeScript file authority; and the real Lark
/statussnapshot/replay path.Explicitly excluded: proactive cadence notifications, human-gate or Todo/Kanban synthesis, App timer mutation, scheduler ACK/state writes, provider promotion, non-Turn launcher qualification, live-provider or cross-host claims, and any duplicate policy calculation/store.
Coordination boundary: this does not replace or broaden the existing settings editor and will avoid overlapping timer-to-hook / host-qualification work. I will keep atomic
admitAutomationStart()immediately before each managed host attempt as the final authority.