# One feature. Fourteen agents.

> The handoffs are the workflow.

- **Format:** short video, 9 steps, ~51 seconds
- **Topic:** One Flutter and Firebase feature walked through an AI agent team — the cancel-order rule moves from a screen into the domain through the analyst, architect and testing agents, and the security agent finds a Firestore rule that still lets a customer write any status on their own order.
- **Author:** Suthahar Jegatheesan (MSDEVBUILD)
- **Category:** AI · AI
- **Published:** 2026-09-29
- **Tags:** aiagents, flutter, firebase, firestore, softwarearchitecture, githubcopilot, aicoding, msdevbuild
- **Canonical URL:** https://blog.msdevbuild.com/shorts/ai-agents-one-feature-fourteen-agents/

---
## What you'll learn

- How one agent’s question becomes the next agent’s input
- Why a business rule must hold in every layer
- How a Firestore rule can be wider than its comment

## Understand it one step at a time

### 1. The question

The analyst lists seven states and asks who pays once cooking starts.

### 2. Screen only

Today the rule lives in OrderTrackingState.canCancel. The domain accepts any status.

### 3. Into the domain

Order.canBeCancelled on the entity. cancelOrder fails when it is false.

### 4. AC-3 goes green

The testing agent wrote AC-3 from the requirement. It failed, then passed.

### 5. The rules say any value

Customers may change status, timeline and isRated. To anything, from anything.

### 6. Check the transition

To cancelled only from placed or confirmed. Rating stays separate.

### 7. Two attacks, every push

Customer cancels own preparing order: denied. Customer sets delivered: denied.

### 8. Shipped, three layers

Plus one ICU message, a named close button, user-language notes, order_cancelled.

### 9. One rule, every layer

The handoffs are the workflow. Start with four agents.

---

## The takeaway

**One rule. Every layer.**

A cancel can arrive through the screen, the domain or Firestore directly. Guard all three.
