flower
/
All briefs
in progress draft note flower
epic · Decouple agent/process management from Solo → flower...

Flower-only agent pipeline — repeatable provisioning & launch recipe

Dispatch

canonical · plan

Spec

markdown

hand-off · dispatch

Dispatch

Auto-dispatch

when it reaches planned

Design-loop

design pass before build

kind

No dispatch requests yet — dispatch above to generate a copy-paste packet.

provenance · append-only

Trace

live
or paste a screenshot uploading…
  1. note added 10h ago

    **Pipeline progress (2026-07-05).** Two scripts now in the repo working tree (`bin/`): - `bin/flower-agent` — the flower-only launch wrapper (proven: it launched the CT310 Claude worker). `--strict-mcp-config`, generates `flower-only.mcp.json`, wires a stable `actor_ref` via `--append-system-prompt`. - `bin/provision-flower-agent-lxc.sh` — codifies tonight's manually-proven base build (create debian-12 LXC → tun passthrough → node 24 + Claude Code + git + tailscale → join tailnet → flower-agent env + wrapper). Parameterized (CTID, TS_AUTHKEY, CLAUDE_TOKEN, FLOWER_MCP_URL, WRAPPER_SRC, …); runs on the Proxmox host. Gets "create → provision → run a flower-only worker" to ~one command — the #270 goal. **Commit decision (mine):** NOT direct-committed to `master`. MAIN is the served/stable env and the orchestrator is the single merge point (flower convention); direct-committing from MAIN bypasses that and I can't cleanly branch on MAIN without disrupting flower.test. Left in the working tree + documented here — land via the normal worktree/orchestrator flow when ready. **Next:** convert CT 310 → `pct template` → linked-clone per worktree (validates the provisioning script + realizes the parallel-env vision); trim the wrapper's `daemon_checkin` note reference; Pi pass-2; standing reach (#110 + /mcp auth).

    agent · claude-interactive
  2. status change 11h ago
    agent · claude-interactive
  3. parent set 11h ago

    Grouped under epic #263.

    agent · claude-interactive
  4. plan proposed 11h ago

    # Flower-only agent pipeline — repeatable provisioning & launch recipe Parent epic #263. **PRIORITY (Mike, 2026-07-05).** Builds on the proven local recipe (#264) + the remote smoke (#265 / #269). ## Goal One-step, harness-agnostic provisioning + launch of a **flower-only worker** — an agent whose ONLY MCP is flower over HTTP (no Solo) that joins the roster, claims/drives briefs, and reports, anywhere (local worktree or remote LXC). Turn the proven recipe into a repeatable pipeline (script + config templates) so spinning up a worker is one command. ## Proven building blocks (already de-risked) - flower `/mcp` serves 69 callable tools over HTTP (#264 spike). - flower-only launch: `claude --strict-mcp-config --mcp-config <flower-only.json>` → zero Solo tools, full flower surface (#264, verified twice). - Remote reach works: a client on the R710 coordinated over the network (#269 smoke). - Subscription auth: `claude setup-token` → 1-year `CLAUDE_CODE_OAUTH_TOKEN`. ## Deliverables 1. **MCP config template** — `flower-only.mcp.json`: `{"mcpServers":{"flower":{"type":"http","url":"<FLOWER_MCP_URL>","headers":{...}}}}`. `FLOWER_MCP_URL` = `http://flower.test/mcp` (local) or the tailnet URL (remote, once #110 lands). 2. **Launch profile / wrapper** — a small `flower-agent [--url URL] [--repo PATH]` script that runs the harness with `--strict-mcp-config --mcp-config` (+ token in env), no Solo. Claude first; Codex/Pi later (Codex needs API key remotely). 3. **Identity / roster handling** — each worker passes a stable, distinct `actor_ref` and checks in via `daemon_checkin`. Blocker for N *distinct* workers: role='other' collapses to one `flower-other` roster slot (tracked on #265 as the per-worker-identity requirement) — the pipeline surfaces this and consumes the fix when it lands. 4. **Work loop** — the minimal "get + report work" loop: claim via `brief_claim` / `signal_claim`, drive via `brief_*`, report via `brief_dispatch_complete`; respond to `daemon_poke` / dispatch queue. 5. **Provisioning script** — installs harness + node ≥24.15 + git + token into a clean environment (local dir or LXC), writes the config, ready to launch. This is exactly what the remote LXC (#265) runs. ## Acceptance `flower-agent` one-command launch from a clean environment → a worker appears in `recall_roster` with its own actor_ref, claims a scratch brief, drives it, reports done — reproducibly. First target: local; then the same script inside the Proxmox LXC (#265). ## Sequencing **Startable NOW** — local, no infra deps, not blocked by #110. The remote LXC (#265) consumes this pipeline verbatim.

    agent · claude-interactive
  5. note added 11h ago

    PRIORITY (Mike, 2026-07-05). Turn the proven flower-only agent recipe (#264) into a repeatable, harness-agnostic PIPELINE: a provisioning script + launch profile that stands up a flower-only worker in one step — MCP config template (HTTP /mcp, no Solo), --strict-mcp-config launch, subscription auth, identity/roster handling, and how it picks up + reports work via briefs/dispatch. Local-runnable now; reused verbatim by the remote LXC (#265). Full spec to follow.

    agent · claude-interactive
  6. participant joined 11h ago
    system · claude-interactive

epic · dependencies

Relationships

depends on

No dependencies — dispatchable once planned.

agents · waves

Participants

  • claude-interactive participant · active

trace · graph

Links

No links yet — they accrue as agents work the brief.

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.