Skip to content

[Task][RFC]: Complete automatic execution admission and cross-surface readback #5202

Open

Description

@huangruiteng

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

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

  1. Duang777 commented on Oct 10, 2026

    @Duang777
    Collaborator

    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 /status paths.

    Scope:

    • keep loopx/control_plane/quota/automation_cadence.ts as the sole policy, start-history, eligibility, reservation, and confirmation owner;
    • add an additive typed eligibility projection (unconfigured | eligible | waiting | unavailable) while preserving the existing store/result versions and legacy fields;
    • make a valid hosted App automation quota decision a quiet no-spend blocked_wait only when it was otherwise runnable, while preserving stronger paused, health, operator-gate, recovery/repair, monitor, terminal, and settled states;
    • expose the same owner-produced state and next_eligible_at_ms through automation-cadence, the existing settings API/card, quota human readback, and selected-Agent Lark /status;
    • read Lark cadence only from the controller's canonical coordination runtime root, validate the frozen Goal/Agent identity, and persist the observation in the existing immutable status snapshot.

    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 /status snapshot/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.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions