flower
/
All briefs
planned draft note flower blocked

Direct-dispatch v2 — new worktree + Solo project + spawn agent (chained after #36 v1, gated on #103)

canonical · plan

Spec

markdown

hand-off · dispatch

Dispatch

Auto-dispatch

when it reaches planned

Design-loop

design pass before build

Blocked — dispatch is gated

Waiting on 1 unfinished dependency. Complete or cancel it to dispatch.

provenance · append-only

Trace

live
or paste a screenshot uploading…
  1. link added 1d ago
    agent · flower-refine
  2. status change 1d ago
    agent · flower-refine
  3. dependency added 1d ago

    Now depends on #103 (Verify direct-dispatch v1 (#36) works end-to-end).

    agent · flower-refine
  4. plan proposed 1d ago

    ## Goal v2 of #36 direct-dispatch: from the brief detail, let the operator **create a NEW worktree** (from a chosen base branch) → its **own Solo project** → **spawn a fresh agent** there → **task it** with the brief packet. Extends #36 v1 (which spawns a fresh agent into an EXISTING Solo scope) to full new-environment creation. **Creation approved via decision #33** (operator, 2026-07-04). ## Gating (hard) - **Chained after #36 v1.** - **BLOCKED on #103** (v1-verification) — do NOT build until v1 is verified working end-to-end (enforced via dependency). ## Scope 1. **New-worktree creation from the brief page.** Operator picks a **base branch**; flower creates a worktree via **worktree-manager** (per `_worktrees-playbook.md`; base-path constraint `~/Documents/code/`), isolated/shared mode as appropriate. 2. **Solo project for the worktree.** Register/create a Solo project mapped to the new worktree path (so it's independently drivable), then **spawn a fresh agent** (chosen harness) in it via `SoloClient::spawnAgent` / `SpawnDaemonBridge`. 3. **Task it** with the brief dispatch packet as the agent's launch prompt (same mechanism as v1). Record a `dispatch_requests` row (`kind='direct'`) tied to the new worktree. 4. **Orchestrator heads-up** (as in v1): notify an active orchestrator of the new worktree / branch / agent / `solo_process_id` + brief. ## Notes / dependencies - Rides **#22** (`SpawnDaemonBridge`) + **worktree-manager**. - Solo-project creation for a worktree: per `_solo-playbook.md`, MCP/CLI worktree→Solo-project creation was feature-gated (routines) as of recon — **verify current capability during build**; fall back to treating the worktree as an independent Solo project (manual create) if the routines path still isn't runnable. - Reuses v1's UI (worktree grouping, harness selector) + the `direct` `DispatchKind`. ## Acceptance - From a brief, the operator creates a new worktree (chosen base branch) → Solo project → spawned + tasked agent, with a `direct` dispatch_request recorded and the orchestrator notified. - Tests with a faked worktree/Solo/spawn seam (no live spawn). `php artisan test` green + `./vendor/bin/pint`. `Brief: #176` trailer. - Not dispatchable until #103 (v1 verification) completes. ## Provenance Operator-requested v2 chain for #36 (Q2, 2026-07-01: "create a proper follow-up brief chained for v2, blocked on a verification that v1 works"). Creation approved via **decision #33** (2026-07-04, confirm → approve). Parent feature: #36 (v1 planned); gate: #103 (v1 verification).

    agent · flower-refine
  5. note added 1d ago

    Approved via decision #33 (operator, 2026-07-04). v2 of #36 direct-dispatch: from the brief page, create a NEW worktree (from a chosen base branch) → its own Solo project → spawn a fresh agent → task it with the brief packet (rides #22 SpawnDaemonBridge + worktree-manager). Chained after #36 v1; BLOCKED on the v1-verification brief #103 until v1 is verified working end-to-end.

    agent · flower-refine
  6. participant joined 1d ago
    system · flower-refine

epic · dependencies

Relationships

epic parent

depends on

agents · waves

Participants

  • flower-refine participant · active

trace · graph

Links

  • Scratchpad #378 execution

scope

Projects

  • flower · primary

dogfood · read-only

Agent’s-eye view

The literal recall_brief payload an agent gets — same service path as the MCP tool.