FP Task
Use this workflow for issue-backed implementation work in Switchyard.
Start
- Inspect repo state with
git status --short.
- Load issue context:
fp context <id> or the exact context command the user gave.
fp issue get <id>.
- If the issue names a parent, epic, dependency, spec, or ADR, load that too.
- Establish a baseline before editing:
- Run relevant scoped checks for the touched workspace when the issue scope is clear.
- Run root checks for broad, cross-workspace, or unclear scope.
- If a baseline check is too expensive or unrelated, record why it was skipped.
- If the baseline is already failing, capture the failure before making changes.
- Claim the task unless the user only asked for analysis:
fp issue update <id> --status in-progress.
fp comment <id> "Starting work: ...".
Understand
Map the issue into concrete deliverables before editing:
- Files to create or change.
- Commands and gates to run.
- Acceptance criteria and tracer bullets.
- Required fp comments, reflections, commit attachments, or status changes.
- Docs, drift, or spec backport obligations.
- Parent/child issue behavior, especially auto-close side effects.
Read linked specs and local docs before writing code. Let existing repo patterns decide structure.
Implement
- Keep changes scoped to the issue.
- Preserve unrelated dirty work.
- Use
fp comment <id> "..." at meaningful milestones.
- If docs describe changed behavior, update docs in the same change and use the
drift skill when bindings are involved.
- Prefer scoped checks while iterating. Inspect the workspace
package.json first and run only scripts that exist. Use exact package names or path selectors, for example:
bun run --filter @switchyard/symphony-orchestrator test
bun run --filter ./playgrounds/symphony-daytona-playground typecheck
Review
Review is mandatory for implementation work unless the user explicitly opts out or the current
environment cannot run subagents.
- Ask a review subagent to inspect the diff for correctness, missed requirements, regressions,
and test gaps.
- If a review skill or plugin is available, instruct the subagent to use it.
- Give the reviewer issue context, acceptance criteria, and the current diff. Do not ask for a
rubber stamp.
- Address actionable findings before final verification. If a finding is intentionally not
addressed, explain why in the final fp comment.
If subagents are unavailable, state that exception clearly, perform a structured self-review, and
ask for human or subagent-capable review before marking the issue done unless the user tells you to
continue.
Verification
Before closing an implementation task, run root gates:
bun run test
bun run format:check
bun run check
Notes:
bun run check runs oxlint, ast-grep, drift, and typecheck.
bun run check does not run tests or format:check.
- Use scoped formatting during development. Run root
bun run format only when root
format:check must be made green, and call out formatter-only churn.
Completion Audit
Before marking done:
- Restate the issue as concrete requirements.
- Check each requirement against files, tests, command output, fp comments, and commits.
- Confirm fixtures or verifier suites actually cover the acceptance criteria.
- Treat missing evidence as incomplete.
- Confirm parent/epic status separately; do not let child completion imply the whole epic is done.
Commit And Close
Stage only the intended work.
Commit with the fp issue id in the message.
Post required reflection or final comment.
Mark done:
fp issue update <id> --status done
1---2name: fp-task3description: Use when picking up, implementing, verifying, committing, or closing an fp issue in this Switchyard repo, especially when the user mentions an fp/SWYRD issue id or asks to work a task through acceptance.4---56# FP Task78Use this workflow for issue-backed implementation work in Switchyard.910## Start11121. Inspect repo state with `git status --short`.132. Load issue context:14 - `fp context <id>` or the exact context command the user gave.15 - `fp issue get <id>`.16 - If the issue names a parent, epic, dependency, spec, or ADR, load that too.173. Establish a baseline before editing:18 - Run relevant scoped checks for the touched workspace when the issue scope is clear.19 - Run root checks for broad, cross-workspace, or unclear scope.20 - If a baseline check is too expensive or unrelated, record why it was skipped.21 - If the baseline is already failing, capture the failure before making changes.224. Claim the task unless the user only asked for analysis:23 - `fp issue update <id> --status in-progress`.24 - `fp comment <id> "Starting work: ..."`.2526## Understand2728Map the issue into concrete deliverables before editing:2930- Files to create or change.31- Commands and gates to run.32- Acceptance criteria and tracer bullets.33- Required fp comments, reflections, commit attachments, or status changes.34- Docs, drift, or spec backport obligations.35- Parent/child issue behavior, especially auto-close side effects.3637Read linked specs and local docs before writing code. Let existing repo patterns decide structure.3839## Implement4041- Keep changes scoped to the issue.42- Preserve unrelated dirty work.43- Use `fp comment <id> "..."` at meaningful milestones.44- If docs describe changed behavior, update docs in the same change and use the `drift` skill when bindings are involved.45- Prefer scoped checks while iterating. Inspect the workspace `package.json` first and run only scripts that exist. Use exact package names or path selectors, for example:46 - `bun run --filter @switchyard/symphony-orchestrator test`47 - `bun run --filter ./playgrounds/symphony-daytona-playground typecheck`4849## Review5051Review is mandatory for implementation work unless the user explicitly opts out or the current52environment cannot run subagents.53541. Ask a review subagent to inspect the diff for correctness, missed requirements, regressions,55 and test gaps.562. If a review skill or plugin is available, instruct the subagent to use it.573. Give the reviewer issue context, acceptance criteria, and the current diff. Do not ask for a58 rubber stamp.594. Address actionable findings before final verification. If a finding is intentionally not60 addressed, explain why in the final fp comment.6162If subagents are unavailable, state that exception clearly, perform a structured self-review, and63ask for human or subagent-capable review before marking the issue done unless the user tells you to64continue.6566## Verification6768Before closing an implementation task, run root gates:6970```bash71bun run test72bun run format:check73bun run check74```7576Notes:7778- `bun run check` runs oxlint, ast-grep, drift, and typecheck.79- `bun run check` does not run tests or `format:check`.80- Use scoped formatting during development. Run root `bun run format` only when root81 `format:check` must be made green, and call out formatter-only churn.8283## Completion Audit8485Before marking done:8687- Restate the issue as concrete requirements.88- Check each requirement against files, tests, command output, fp comments, and commits.89- Confirm fixtures or verifier suites actually cover the acceptance criteria.90- Treat missing evidence as incomplete.91- Confirm parent/epic status separately; do not let child completion imply the whole epic is done.9293## Commit And Close94951. Stage only the intended work.962. Commit with the fp issue id in the message.973. Post required reflection or final comment.984. Mark done:99100 ```bash101 fp issue update <id> --status done102 ```