Skip to content

Running tasks in Develop Mode

In Develop Mode, all development work goes through the Run Task agent. Every request becomes a Task Plan that the AI evaluates, lets you discuss, and only executes once you agree — so you always get a review gate before code is written.

Applies to: Develop Mode — Prompt Engineer and Run Task agents


The task lifecycle

Your request → Evaluating → Planned → (Discussing) → Agreed → Executing → Completed
↘ Failed
StatusMeaning
EvaluatingThe AI is reading the relevant repositories and codebase context
PlannedA full implementation plan has been generated — awaiting your review
DiscussingYou and the AI are iterating on the plan details
AgreedYou’ve approved the plan; the AI has produced the Execution Plan (sub-tasks)
ExecutingEach sub-task is running sequentially across the selected repositories
CompletedAll sub-tasks committed; plan closed
FailedA sub-task failed; the run was aborted (earlier commits remain)

Each sub-task commits independently. If one step fails the run stops; commits from earlier steps stay in your repositories.


Writing effective task requests

The Prompt Engineer can help you refine your request before sending it to Run Task, but the better your input, the better the plan.

Be specific about the target

Instead of:

“Improve the database queries”

Write:

“Fix the N+1 query in OrderListView — use select_related('customer', 'items__product') to reduce the query count on the order listing endpoint”

Describe the outcome, not the implementation

Instead of:

“Add a Redis cache”

Write:

“Cache the product catalogue endpoint (GET /api/products) with a 5-minute TTL to reduce database load. Invalidate the cache when any product is updated or deleted.”

Specify scope boundaries

If you want the agent to stay within a specific file or module:

“Only modify files in billing/. Don’t change any API endpoint contracts.”

Include testing requirements

“Write pytest tests for the new caching logic. Use pytest-mock to mock Redis calls. Coverage should reach 90% on the modified functions.”


Creating a Task Plan

  1. Open the Run Task agent in the Develop Mode sidebar.
  2. The Target Repositories chips pre-select every repository in ready status — tick/untick to narrow the scope.
  3. Optionally change the branch prefix (default feat). Each executed plan creates a branch named <prefix>/... per repo.
  4. Paste your task description (or an Optimized Prompt copied from the Prompt Engineer) and click Evaluate.
  5. Wait for the status to move from Evaluating to Planned, then read the proposed plan.

Reviewing and refining

When the plan reaches Planned, use the Discussion panel to ask questions or request changes. Common refinements:

Can you avoid touching the authentication middleware?
Use the existing RedisClient singleton from src/lib/redis.ts
Add tests using our existing Jest + Supertest setup

Click Agree & Finalise when satisfied. The AI then produces the Execution Plan (typically 3–8 sub-tasks). Review the sub-task titles, then click Execute to start running them.


Interpreting results

Each sub-task in the Execution Plan shows:

IconMeaning
Number dotStep not yet started
⏳ SpinnerStep currently running
✅ Green checkStep completed and committed
⚠️ TriangleStep failed — run aborted

A X / N steps counter tracks overall progress (the view polls every 3 seconds). Each completed step shows a short result summary; each failed step shows its error.

When the run finishes you can:

  • Download the entire Task Plan as a .md file from the plan header.
  • Inspect the commits on your Git host before merging to a protected branch.

If the run fails, read the error in the failed step and create a new Task Plan with additional context — earlier commits remain on the branch and the new plan can build on them.


Managing your plans

The History panel on the left side of the Run Task view lists every plan for the current project with its status icon, title, message count, and last-updated timestamp. Click any entry to reopen the full review. Use the trash icon to delete a plan (only removes the record in Ileen — commits already pushed are not reverted).


Task capabilities

CategoryExamples
RefactoringExtract function, rename symbol across codebase, restructure module
Bug fixesFix a specific error given a stack trace
Feature implementationAdd an endpoint, implement a service, integrate an SDK
Test generationUnit tests, integration tests, edge case coverage
DocumentationDocstrings, README updates, OpenAPI annotations
Dependency updatesUpgrade a package and fix breaking changes
PerformanceOptimise a query, add caching, reduce memory usage

Next steps