customType: subagent-slash-result

content:
Step 1: delegate
Brainstorm approaches for: test the prompt workflow chain

Structure your answer as:
1. **Problem restatement** — one paragraph; what we're solving, what constraints matter, what "done" looks like
2. **Alternatives** — 3 to 5 distinct approaches. For each:
   - **Summary** — one or two sentences
   - **How it works** — the key mechanism
   - **Pros** — what it gets right
   - **Cons** — what it costs, risks, or breaks
   - **Best when** — the conditions that would make this the right pick
3. **Comparison table** — across the alternatives, score or rank on: complexity, time-to-ship, reversibility, performance, fit-with-existing-code
4. **Recommendation** — which one to pick *given the current codebase*, with the second choice as a fallback
5. **Unknowns** — questions that, if answered, would change the recommendation

Be opinionated. Surface real trade-offs, not strawmen. If the obvious approach wins decisively, say so and only enumerate 2 alternatives — don't manufacture options for the sake of a full set. If the problem is under-specified, ask clarifying questions before brainstorming.

Step 2: delegate
Create a structured implementation plan for: test the prompt workflow chain

Follow this format:
1. **Goal** — one-sentence objective
2. **Constraints** — existing code, dependencies, tests, or assumptions to respect
3. **Approach** — high-level strategy and rationale
4. **Steps** — numbered, actionable tasks small enough to verify one at a time
5. **Verification** — how to confirm each step works (tests, logs, manual checks)
6. **Risks & Rollbacks** — what could go wrong and how to undo safely
7. **Open Questions** — anything that needs clarification before starting

Use the codebase context as needed. Do not write implementation code yet; only produce the plan.

Step 3: delegate
Write tests for: test the prompt workflow chain

Structure your answer as:
1. **Existing conventions** — name patterns, framework, assertion style, fixtures; match what's already there
2. **Test cases to add** — grouped as:
   - **Happy path** — the primary expected behavior
   - **Edge cases** — empty, zero, max, boundary, off-by-one
   - **Error cases** — invalid input, missing deps, timeouts, permission failures
3. **Test code** — minimal, runnable, following the project's framework (jest, pytest, go test, etc.)
4. **How to run** — the exact command, plus how to run just the new tests
5. **Coverage gaps** — anything still untestable without a refactor; flag it but do not refactor in this pass

Keep tests independent, deterministic, and fast. Prefer many small tests over one large one. If the codebase has no test setup yet, propose the smallest viable setup and call it out clearly so the user can approve before you scaffold it.

Step 4: delegate
Generate a commit message for: test the prompt workflow chain

Structure your answer as:
1. **Type & scope** — one of: feat, fix, refactor, perf, test, docs, build, ci, chore, style; scope is the affected module/subsystem
2. **Subject** — imperative mood, ≤72 chars, no trailing period, no emoji
3. **Body** — wrapped at 72 cols, explain *why* not *what*. Use bullet points for multiple distinct changes.
4. **Footer** — `BREAKING CHANGE: …` if applicable; `Refs: #123` for linked issues
5. **PR description** (if the change is non-trivial) — Summary, Motivation, Changes, Test plan, Risks

Format the final message in a single fenced block ready to copy. If the change spans multiple logical commits, propose a split with one subject per commit and the file groups that belong in each.

Read the diff before writing — never invent files, symbols, or behavior. If `git status` is empty or the diff is unclear, ask before fabricating.

type: text

mode: chain

agent: delegate

status: running

status: pending

chainAgents: delegate delegate delegate delegate


content:
## Subagent result

Async chain: delegate -> delegate -> delegate -> delegate [bf21079c-ea77-4354-9a04-02af537c6b1f]

The async run is detached. Do not run sleep timers or polling loops just to wait for it.
This is a non-interactive run: Pi auto-drains current-session background work at agent_end so detached children are not abandoned; call subagent_wait() when this turn must receive the run's results before it ends, otherwise let the headless auto-drain finish the work.
Use subagent({ action: "status", id: "..." }) when you need a one-shot status/result or to inspect a blocked/stale run. To block until completion, use subagent_wait() — do not poll in a loop.

kind: step

label: delegate