You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deliver the first complete Agentify-owned relay path: a developer can start a bounded read-only provider task, receive a stable Agentify task ID, observe durable events from another CLI process, and cancel the task.
This slice should use current one-shot delegate adapters as the execution fallback. It establishes broker ownership and task semantics without claiming multi-turn provider sessions, nested delegation, or write support.
User story
As a developer, I can start a Claude or Codex task in one terminal and inspect or cancel it from another terminal without relying on the provider's opaque session state.
Proposed CLI
agentify agent spawn --provider codex --mode read"Review the retry design"
agentify agent observe agt_01K... --follow
agentify agent cancel agt_01K... --reason "No longer needed"
agentify agent list --state running
A synchronous convenience command may compose spawn + observe:
agentify agent ask --provider claude "Explain the failing test"
Required behavior
Generate stable opaque task IDs owned by Agentify.
Persist task metadata, immutable execution policy, messages, sequenced events, terminal result, usage, and errors in worktree-local SQLite state.
Run a per-repository local supervisor reachable by owner-only Unix socket or Windows named pipe.
Autostart the supervisor on the first command and handle compatible reconnects.
Reuse existing route/profile/fallback/timeout/usage normalization instead of duplicating provider selection.
Execute only mode: read; reject write and nested-delegation requests.
Emit normalized, bounded, redacted public events.
Make event delivery at-least-once with monotonic per-task sequence numbers and cursor-based deduplication.
Support cooperative cancellation followed by owned process-tree termination after a grace period.
Mark terminal status honestly as succeeded, failed, cancelled, or lost.
Keep current agentify delegate behavior unchanged.
Parent
#377
What to build
Deliver the first complete Agentify-owned relay path: a developer can start a bounded read-only provider task, receive a stable Agentify task ID, observe durable events from another CLI process, and cancel the task.
This slice should use current one-shot delegate adapters as the execution fallback. It establishes broker ownership and task semantics without claiming multi-turn provider sessions, nested delegation, or write support.
User story
As a developer, I can start a Claude or Codex task in one terminal and inspect or cancel it from another terminal without relying on the provider's opaque session state.
Proposed CLI
A synchronous convenience command may compose
spawn + observe:agentify agent ask --provider claude "Explain the failing test"Required behavior
mode: read; reject write and nested-delegation requests.succeeded,failed,cancelled, orlost.agentify delegatebehavior unchanged.Minimal internal contract
A task request must capture:
nullin this slice;Suggested implementation seams
src/core/models.js.src/core/provider-registry.jswith declared one-shot capability manifests.src/core/agent-broker/.src/core/project-store.js.src/main.jsand completions insrc/core/completion.js.Acceptance criteria
agentify agent spawnreturns before a long-running worker completes and prints a stable task ID.--followexits on a terminal state and returns a meaningful exit code.loststate.delegate,acp,serve, context, and workflow tests remain green.--jsonschemas are versioned and documented.Out of scope
Blocked by
None - can start immediately.