Complete end-to-end example demonstrating the Multi-Stage Orchestration Workflow from feature request to production release.
Feature Name: E-Commerce Order Management System
Business Objective: Enable customers to place orders, track order status, and manage their order history while integrating with inventory and payment systems.
Requirements:
Success Criteria:
Agent: OpenCoder (orchestrator) + ContextScout
CLI Command:
# OpenCoder delegates to ArchitectureAnalyzer
task(
subagent_type="ArchitectureAnalyzer",
description="Analyze architecture for Order Management System",
prompt="Analyze domain structure for Order Management System.
Requirements: [see above]
Identify bounded contexts, aggregates, and relationships."
)
File: .tmp/tasks/order-management-system/contexts.json
{
"feature": "order-management-system",
"analyzed_at": "2026-02-14T10:00:00Z",
"bounded_contexts": [
{
"name": "order-management",
"type": "core",
"description": "Manages order lifecycle from creation to fulfillment",
"module": "@app/orders",
"aggregates": [
{
"name": "Order",
"root": "Order",
"entities": ["Order", "LineItem"],
"value_objects": ["OrderStatus", "Money", "Address"],
"invariants": [
"Order must have at least one line item",
"Order total must match sum of line items",
"Cannot modify order after it's shipped",
"Quantity must be positive"
]
}
],
"domain_events": [
{
"name": "OrderPlaced",
"description": "Order successfully created",
"payload": ["orderId", "customerId", "items", "total", "timestamp"]
},
{
"name": "OrderModified",
"description": "Order details updated",
"payload": ["orderId", "changes", "timestamp"]
},
{
"name": "OrderCancelled",
"description": "Order cancelled by user or system",
"payload": ["orderId", "reason", "timestamp"]
},
{
"name": "OrderShipped",
"description": "Order shipped to customer",
"payload": ["orderId", "trackingNumber", "timestamp"]
},
{
"name": "OrderDelivered",
"description": "Order delivered to customer",
"payload": ["orderId", "timestamp"]
}
],
"capabilities": [
"Create order",
"Modify order",
"Cancel order",
"Track order status",
"View order history"
]
},
{
"name": "inventory",
"type": "supporting",
"description": "Manages product inventory and stock reservations",
"module": "@app/inventory",
"aggregates": [
{
"name": "Product",
"root": "Product",
"entities": ["Product", "StockLevel"],
"value_objects": ["SKU", "Quantity"],
"invariants": [
"Stock level cannot be negative",
"Reserved quantity cannot exceed available stock"
]
}
],
"domain_events": [
{
"name": "StockReserved",
"description": "Stock reserved for order",
"payload": ["productId", "quantity", "orderId", "timestamp"]
},
{
"name": "StockReleased",
"description": "Reserved stock released back to inventory",
"payload": ["productId", "quantity", "orderId", "timestamp"]
},
{
"name": "StockReplenished",
"description": "New stock added to inventory",
"payload": ["productId", "quantity", "timestamp"]
}
],
"capabilities": [
"Reserve stock",
"Release stock",
"Check availability",
"Update stock levels"
]
},
{
"name": "payment",
"type": "supporting",
"description": "Handles payment processing and refunds",
"module": "@app/payment",
"aggregates": [
{
"name": "Payment",
"root": "Payment",
"entities": ["Payment", "PaymentMethod"],
"value_objects": ["Money", "PaymentStatus"],
"invariants": [
"Payment amount must match order total",
"Cannot refund more than paid amount"
]
}
],
"domain_events": [
{
"name": "PaymentProcessed",
"description": "Payment successfully processed",
"payload": ["paymentId", "orderId", "amount", "timestamp"]
},
{
"name": "PaymentFailed",
"description": "Payment processing failed",
"payload": ["paymentId", "orderId", "reason", "timestamp"]
},
{
"name": "RefundIssued",
"description": "Refund issued to customer",
"payload": ["refundId", "paymentId", "amount", "timestamp"]
}
],
"capabilities": [
"Process payment",
"Refund payment",
"Verify payment status"
]
},
{
"name": "notification",
"type": "generic",
"description": "Sends email and SMS notifications",
"module": "@app/notification",
"aggregates": [
{
"name": "Notification",
"root": "Notification",
"entities": ["Notification"],
"value_objects": ["NotificationType", "DeliveryStatus"],
"invariants": [
"Notification must have recipient",
"Template must exist for notification type"
]
}
],
"domain_events": [
{
"name": "EmailSent",
"description": "Email notification sent",
"payload": ["notificationId", "recipient", "subject", "timestamp"]
},
{
"name": "SMSSent",
"description": "SMS notification sent",
"payload": ["notificationId", "recipient", "message", "timestamp"]
}
],
"capabilities": [
"Send email",
"Send SMS",
"Track delivery status"
]
}
],
"context_relationships": [
{
"upstream": "inventory",
"downstream": "order-management",
"relationship_type": "customer-supplier",
"integration_pattern": "events",
"description": "Order Management subscribes to StockReserved/StockReleased events"
},
{
"upstream": "payment",
"downstream": "order-management",
"relationship_type": "customer-supplier",
"integration_pattern": "api",
"description": "Order Management calls Payment API to process payments"
},
{
"upstream": "order-management",
"downstream": "notification",
"relationship_type": "publisher-subscriber",
"integration_pattern": "events",
"description": "Notification subscribes to OrderPlaced, OrderShipped, etc."
}
],
"ubiquitous_language": {
"Order": "Customer request to purchase products",
"LineItem": "Individual product and quantity within an order",
"OrderStatus": "Current state of order (pending, confirmed, shipped, delivered, cancelled)",
"StockReservation": "Temporary hold on inventory for pending order",
"Payment": "Financial transaction for order",
"Notification": "Communication sent to customer about order status"
}
}
Module Briefs Created:
.tmp/tasks/order-management-system/module-briefs/order-management.md.tmp/tasks/order-management-system/module-briefs/inventory.md.tmp/tasks/order-management-system/module-briefs/payment.md.tmp/tasks/order-management-system/module-briefs/notification.mdAgent: OpenCoder (orchestrator) + StoryMapper
CLI Command:
# OpenCoder delegates to StoryMapper
task(
subagent_type="StoryMapper",
description="Map user journeys for Order Management",
prompt="Transform Order Management requirements into user journeys, epics, and stories.
Use bounded contexts from contexts.json.
Identify vertical slices for parallel development."
)
File: .tmp/planning/order-management-system/map.json
{
"feature": "order-management-system",
"created_at": "2026-02-14T10:30:00Z",
"personas": [
{
"id": "customer",
"name": "Customer",
"role": "End User",
"goals": ["Purchase products", "Track orders", "Manage order history"],
"pain_points": ["Complex checkout", "Unclear order status", "Difficult cancellation"],
"technical_level": "low",
"primary_use_cases": ["place-order", "track-order", "cancel-order"]
},
{
"id": "admin",
"name": "Admin",
"role": "System Administrator",
"goals": ["Manage orders", "Monitor inventory", "Handle customer issues"],
"pain_points": ["Manual order processing", "Inventory discrepancies"],
"technical_level": "high",
"primary_use_cases": ["order-management", "inventory-management"]
}
],
"journeys": [
{
"id": "place-order",
"name": "Place Order Journey",
"persona": "customer",
"steps": [
{
"id": "step-1",
"action": "Add products to cart",
"touchpoint": "Product catalog",
"validation": ["Product exists", "Stock available"]
},
{
"id": "step-2",
"action": "Review cart and proceed to checkout",
"touchpoint": "Shopping cart",
"validation": ["Cart not empty", "Prices current"]
},
{
"id": "step-3",
"action": "Enter shipping address",
"touchpoint": "Checkout form",
"validation": ["Valid address format", "Deliverable location"]
},
{
"id": "step-4",
"action": "Select payment method and pay",
"touchpoint": "Payment form",
"validation": ["Valid payment method", "Sufficient funds"]
},
{
"id": "step-5",
"action": "Receive order confirmation",
"touchpoint": "Confirmation page + email",
"validation": ["Order created", "Email sent"]
}
],
"success_criteria": [
"Order created in system",
"Inventory reserved",
"Payment processed",
"Confirmation email sent"
],
"edge_cases": [
"Out of stock during checkout",
"Payment failure",
"Invalid shipping address"
]
},
{
"id": "track-order",
"name": "Track Order Journey",
"persona": "customer",
"steps": [
{
"id": "step-1",
"action": "Navigate to order history",
"touchpoint": "User dashboard",
"validation": ["User authenticated"]
},
{
"id": "step-2",
"action": "View order details",
"touchpoint": "Order detail page",
"validation": ["Order exists", "User owns order"]
},
{
"id": "step-3",
"action": "Check order status",
"touchpoint": "Status timeline",
"validation": ["Status is current"]
}
],
"success_criteria": [
"Order status displayed",
"Timeline shows progress",
"Tracking number visible (if shipped)"
],
"edge_cases": ["Order not found", "Status update delay"]
}
],
"vertical_slices": [
{
"id": "order-placement-slice",
"name": "Order Placement Slice",
"journeys": ["place-order"],
"bounded_contexts": ["order-management", "inventory", "payment", "notification"],
"layers": {
"frontend": ["Product catalog", "Shopping cart", "Checkout form"],
"backend": ["Order API", "Inventory API", "Payment API"],
"database": ["Orders table", "LineItems table", "Inventory table"],
"external": ["Payment gateway", "Email service"]
},
"dependencies": [],
"estimated_effort": "2 weeks"
},
{
"id": "order-tracking-slice",
"name": "Order Tracking Slice",
"journeys": ["track-order"],
"bounded_contexts": ["order-management"],
"layers": {
"frontend": ["Order history page", "Order detail page"],
"backend": ["Order query API"],
"database": ["Orders table"],
"external": []
},
"dependencies": ["order-placement-slice"],
"estimated_effort": "1 week"
}
],
"epics": [
{
"id": "epic-order-lifecycle",
"name": "Order Lifecycle Management",
"description": "Enable customers to place, track, and manage orders",
"journeys": ["place-order", "track-order"],
"vertical_slices": ["order-placement-slice", "order-tracking-slice"],
"bounded_contexts": ["order-management", "inventory", "payment", "notification"],
"acceptance_criteria": [
"Customers can place orders",
"Inventory is reserved automatically",
"Payments are processed securely",
"Customers receive email confirmations",
"Customers can track order status"
],
"priority": "high",
"estimated_effort": "3 weeks"
}
],
"stories": [
{
"id": "story-order-001",
"title": "Customer can add products to cart",
"story": "As a customer, I want to add products to my cart so that I can purchase multiple items",
"epic": "epic-order-lifecycle",
"bounded_context": "order-management",
"acceptance_criteria": [
"Product can be added to cart",
"Quantity can be specified",
"Cart persists across sessions",
"Out-of-stock products show warning"
],
"dependencies": [],
"parallel": true,
"estimated_effort": "2 days",
"technical_notes": "Use session storage for cart persistence"
},
{
"id": "story-order-002",
"title": "System reserves inventory when order is placed",
"story": "As a system, I want to reserve inventory when an order is placed so that stock is not oversold",
"epic": "epic-order-lifecycle",
"bounded_context": "inventory",
"acceptance_criteria": [
"Stock is reserved when order is created",
"Reserved stock is deducted from available quantity",
"Reservation expires after 15 minutes if payment not completed",
"Stock is released if order is cancelled"
],
"dependencies": [],
"parallel": true,
"estimated_effort": "3 days",
"technical_notes": "Implement reservation timeout mechanism"
},
{
"id": "story-order-003",
"title": "Customer can complete checkout with payment",
"story": "As a customer, I want to pay for my order so that I can complete my purchase",
"epic": "epic-order-lifecycle",
"bounded_context": "payment",
"acceptance_criteria": [
"Payment form accepts credit card details",
"Payment is processed via payment gateway",
"Order status updates to 'confirmed' on successful payment",
"Payment failure shows clear error message"
],
"dependencies": ["story-order-001", "story-order-002"],
"parallel": false,
"estimated_effort": "3 days",
"technical_notes": "Integrate with Stripe API"
},
{
"id": "story-order-004",
"title": "Customer receives order confirmation email",
"story": "As a customer, I want to receive an email confirmation so that I have a record of my order",
"epic": "epic-order-lifecycle",
"bounded_context": "notification",
"acceptance_criteria": [
"Email sent immediately after order placement",
"Email includes order number, items, total, and shipping address",
"Email template is branded",
"Failed email sends are logged"
],
"dependencies": ["story-order-003"],
"parallel": false,
"estimated_effort": "2 days",
"technical_notes": "Use SendGrid for email delivery"
},
{
"id": "story-order-005",
"title": "Customer can view order history",
"story": "As a customer, I want to view my order history so that I can track past purchases",
"epic": "epic-order-lifecycle",
"bounded_context": "order-management",
"acceptance_criteria": [
"Order history page shows all customer orders",
"Orders are sorted by date (newest first)",
"Each order shows status, total, and date",
"Clicking order navigates to detail page"
],
"dependencies": ["story-order-003"],
"parallel": true,
"estimated_effort": "2 days",
"technical_notes": "Implement pagination for large order lists"
}
],
"bounded_context_mapping": {
"order-management": {
"stories": ["story-order-001", "story-order-005"],
"epics": ["epic-order-lifecycle"],
"vertical_slices": ["order-placement-slice", "order-tracking-slice"]
},
"inventory": {
"stories": ["story-order-002"],
"epics": ["epic-order-lifecycle"],
"vertical_slices": ["order-placement-slice"]
},
"payment": {
"stories": ["story-order-003"],
"epics": ["epic-order-lifecycle"],
"vertical_slices": ["order-placement-slice"]
},
"notification": {
"stories": ["story-order-004"],
"epics": ["epic-order-lifecycle"],
"vertical_slices": ["order-placement-slice"]
}
}
}
Agent: OpenCoder (orchestrator) + PrioritizationEngine
CLI Command:
# OpenCoder delegates to PrioritizationEngine
task(
subagent_type="PrioritizationEngine",
description="Prioritize Order Management backlog",
prompt="Score and prioritize stories from map.json using RICE and WSJF.
Identify MVP vs. post-MVP features.
Context: E-commerce order system, 100k users, Q1 2026 launch."
)
File: .tmp/planning/prioritized.json
{
"metadata": {
"generated_at": "2026-02-14T11:00:00Z",
"source": "StoryMapper output",
"frameworks": ["RICE", "WSJF"],
"total_items": 5,
"mvp_count": 4,
"post_mvp_count": 1
},
"scoring_criteria": {
"rice": {
"reach_period": "per quarter",
"impact_scale": "0.25 (minimal) to 3.0 (massive)",
"confidence_scale": "0-100%",
"effort_unit": "person-months"
},
"wsjf": {
"business_value_scale": "1-10",
"time_criticality_scale": "1-10",
"risk_reduction_scale": "1-10",
"job_size_scale": "1-10 (inverse effort)"
}
},
"mvp_features": [
{
"id": "story-order-001",
"title": "Customer can add products to cart",
"epic": "Order Lifecycle Management",
"rice_score": {
"reach": 80000,
"impact": 3.0,
"confidence": 90,
"effort": 0.2,
"score": 1080000,
"justification": {
"reach": "80% of 100k users add to cart quarterly",
"impact": "Core value proposition - cannot purchase without cart",
"confidence": "Standard e-commerce feature, well understood",
"effort": "2 days = 0.2 person-months"
}
},
"wsjf_score": {
"business_value": 10,
"time_criticality": 10,
"risk_reduction": 8,
"job_size": 9,
"score": 3.11,
"justification": {
"business_value": "Critical - no cart = no sales",
"time_criticality": "Immediate - required for launch",
"risk_reduction": "Enables all downstream features",
"job_size": "2 days = tiny effort"
}
},
"combined_rank": 1,
"mvp_reason": "Core value proposition, dependency blocker for checkout",
"estimated_effort": "2 days",
"dependencies": []
},
{
"id": "story-order-002",
"title": "System reserves inventory when order is placed",
"epic": "Order Lifecycle Management",
"rice_score": {
"reach": 50000,
"impact": 2.0,
"confidence": 80,
"effort": 0.3,
"score": 266667,
"justification": {
"reach": "50% of users complete checkout quarterly",
"impact": "High - prevents overselling and customer complaints",
"confidence": "Common pattern, some complexity in timeout logic",
"effort": "3 days = 0.3 person-months"
}
},
"wsjf_score": {
"business_value": 9,
"time_criticality": 9,
"risk_reduction": 9,
"job_size": 8,
"score": 3.38,
"justification": {
"business_value": "Critical - prevents overselling",
"time_criticality": "Urgent - required for launch",
"risk_reduction": "High - prevents inventory issues",
"job_size": "3 days = tiny effort"
}
},
"combined_rank": 2,
"mvp_reason": "Prevents overselling, critical for business integrity",
"estimated_effort": "3 days",
"dependencies": []
},
{
"id": "story-order-003",
"title": "Customer can complete checkout with payment",
"epic": "Order Lifecycle Management",
"rice_score": {
"reach": 50000,
"impact": 3.0,
"confidence": 85,
"effort": 0.3,
"score": 425000,
"justification": {
"reach": "50% of users complete checkout quarterly",
"impact": "Massive - direct revenue driver",
"confidence": "High - Stripe integration is well documented",
"effort": "3 days = 0.3 person-months"
}
},
"wsjf_score": {
"business_value": 10,
"time_criticality": 10,
"risk_reduction": 7,
"job_size": 8,
"score": 3.38,
"justification": {
"business_value": "Critical - no payment = no revenue",
"time_criticality": "Immediate - required for launch",
"risk_reduction": "Medium - payment gateway handles most risk",
"job_size": "3 days = tiny effort"
}
},
"combined_rank": 3,
"mvp_reason": "Direct revenue driver, core value proposition",
"estimated_effort": "3 days",
"dependencies": ["story-order-001", "story-order-002"]
},
{
"id": "story-order-004",
"title": "Customer receives order confirmation email",
"epic": "Order Lifecycle Management",
"rice_score": {
"reach": 50000,
"impact": 1.0,
"confidence": 90,
"effort": 0.2,
"score": 225000,
"justification": {
"reach": "50% of users complete checkout quarterly",
"impact": "Medium - improves customer experience, not critical",
"confidence": "High - SendGrid integration is straightforward",
"effort": "2 days = 0.2 person-months"
}
},
"wsjf_score": {
"business_value": 7,
"time_criticality": 8,
"risk_reduction": 5,
"job_size": 9,
"score": 2.22,
"justification": {
"business_value": "Medium - improves trust and reduces support load",
"time_criticality": "Moderate urgency - customers expect confirmation",
"risk_reduction": "Low - reduces support inquiries",
"job_size": "2 days = tiny effort"
}
},
"combined_rank": 4,
"mvp_reason": "Customer expectation, reduces support load",
"estimated_effort": "2 days",
"dependencies": ["story-order-003"]
}
],
"post_mvp_features": [
{
"id": "story-order-005",
"title": "Customer can view order history",
"epic": "Order Lifecycle Management",
"rice_score": {
"reach": 30000,
"impact": 0.5,
"confidence": 80,
"effort": 0.2,
"score": 60000,
"justification": {
"reach": "30% of users view order history quarterly",
"impact": "Low - nice-to-have, not essential for first purchase",
"confidence": "High - standard CRUD operation",
"effort": "2 days = 0.2 person-months"
}
},
"wsjf_score": {
"business_value": 5,
"time_criticality": 4,
"risk_reduction": 3,
"job_size": 9,
"score": 1.33,
"justification": {
"business_value": "Low - improves UX but not critical",
"time_criticality": "Low urgency - can be added post-launch",
"risk_reduction": "Low - no significant risk reduction",
"job_size": "2 days = tiny effort"
}
},
"combined_rank": 5,
"post_mvp_reason": "Enhancement, not essential for core order flow",
"estimated_effort": "2 days",
"dependencies": ["story-order-003"]
}
],
"release_recommendations": {
"mvp_timeline": "2 weeks (sum of MVP efforts: 10 days)",
"mvp_scope": "Core order placement flow with cart, inventory, payment, and confirmation",
"post_mvp_phases": [
{
"phase": "Phase 2",
"timeline": "1 week",
"features": ["story-order-005"],
"theme": "Order history and tracking"
}
]
}
}
Agent: TaskManager + ContextScout
CLI Command:
# OpenCoder delegates to TaskManager
task(
subagent_type="TaskManager",
description="Create tasks for Order Management MVP",
prompt="Create implementation tasks for Order Management MVP.
Use contexts.json for bounded contexts.
Use map.json for stories.
Use prioritized.json for MVP scope.
Focus on MVP features only (stories 001-004)."
)
File: .tmp/tasks/order-management-mvp/task.json
{
"id": "order-management-mvp",
"name": "Order Management MVP",
"status": "active",
"objective": "Implement core order placement flow with cart, inventory, payment, and confirmation",
"context_files": [
".opencode/context/core/standards/code-quality.md",
".opencode/context/core/standards/security-patterns.md",
".opencode/context/core/workflows/multi-stage-orchestration.md"
],
"reference_files": [
"src/api/base.controller.ts",
"src/database/base.repository.ts"
],
"exit_criteria": [
"All MVP stories implemented (001-004)",
"Integration tests passing",
"Payment gateway integrated",
"Email notifications working"
],
"subtask_count": 12,
"completed_count": 0,
"created_at": "2026-02-14T11:30:00Z",
"bounded_context": "order-management",
"module": "@app/orders",
"vertical_slice": "order-placement-slice",
"contracts": [
{
"type": "api",
"name": "OrderAPI",
"path": "src/api/orders/order.contract.ts",
"status": "defined"
},
{
"type": "api",
"name": "InventoryAPI",
"path": "src/api/inventory/inventory.contract.ts",
"status": "defined"
},
{
"type": "api",
"name": "PaymentAPI",
"path": "src/api/payment/payment.contract.ts",
"status": "defined"
}
],
"related_adrs": [
{
"id": "ADR-001",
"path": "docs/adr/001-event-driven-architecture.md",
"title": "Use event-driven architecture for cross-context communication"
},
{
"id": "ADR-002",
"path": "docs/adr/002-stripe-payment-gateway.md",
"title": "Use Stripe as payment gateway"
}
],
"rice_score": {
"reach": 50000,
"impact": 3.0,
"confidence": 85,
"effort": 1.2,
"score": 106250
},
"wsjf_score": {
"business_value": 10,
"time_criticality": 10,
"risk_reduction": 8,
"job_size": 5,
"score": 5.6
},
"release_slice": "v1.0.0"
}
File: .tmp/tasks/order-management-mvp/subtask_01.json
{
"id": "order-management-mvp-01",
"seq": "01",
"title": "Setup project structure and install dependencies",
"status": "pending",
"depends_on": [],
"parallel": true,
"suggested_agent": "CoderAgent",
"context_files": [
{
"path": ".opencode/context/core/standards/code-quality.md",
"lines": "24-50",
"reason": "Modular design and component structure patterns"
}
],
"reference_files": ["package.json"],
"acceptance_criteria": [
"Project structure follows modular design",
"Dependencies installed (Express, TypeScript, Stripe, SendGrid)",
"TypeScript configured with strict mode",
"ESLint and Prettier configured"
],
"deliverables": [
"src/orders/",
"src/inventory/",
"src/payment/",
"src/notification/",
"package.json",
"tsconfig.json"
],
"bounded_context": "order-management",
"module": "@app/orders"
}
File: .tmp/tasks/order-management-mvp/subtask_02.json
{
"id": "order-management-mvp-02",
"seq": "02",
"title": "Define TypeScript interfaces and contracts",
"status": "pending",
"depends_on": ["01"],
"parallel": false,
"suggested_agent": "CoderAgent",
"context_files": [
{
"path": ".opencode/context/core/standards/code-quality.md",
"lines": "53-95",
"reason": "Pure function and immutability patterns"
}
],
"reference_files": [
".tmp/tasks/order-management-system/contexts.json"
],
"acceptance_criteria": [
"Order, LineItem, Product interfaces defined",
"OrderService, InventoryService, PaymentService contracts defined",
"Domain events defined (OrderPlaced, StockReserved, etc.)",
"All interfaces use immutable types"
],
"deliverables": [
"src/orders/types/order.types.ts",
"src/orders/types/events.types.ts",
"src/contracts/order-service.contract.ts",
"src/contracts/inventory-service.contract.ts",
"src/contracts/payment-service.contract.ts"
],
"bounded_context": "order-management",
"module": "@app/orders",
"contracts": [
{
"type": "interface",
"name": "OrderService",
"path": "src/contracts/order-service.contract.ts",
"status": "defined"
}
],
"related_adrs": [
{
"id": "ADR-001",
"path": "docs/adr/001-event-driven-architecture.md"
}
]
}
File: .tmp/tasks/order-management-mvp/subtask_03.json
{
"id": "order-management-mvp-03",
"seq": "03",
"title": "Implement shopping cart service",
"status": "pending",
"depends_on": ["02"],
"parallel": true,
"suggested_agent": "CoderAgent",
"context_files": [
{
"path": ".opencode/context/core/standards/code-quality.md",
"lines": "53-72",
"reason": "Pure function patterns for cart operations"
},
{
"path": ".opencode/context/core/standards/code-quality.md",
"lines": "64-72",
"reason": "Immutability patterns for cart state"
}
],
"reference_files": [
"src/contracts/order-service.contract.ts"
],
"acceptance_criteria": [
"Cart service uses pure functions",
"Cart state is immutable",
"Add/remove/update item operations work correctly",
"Cart persists to session storage",
"Unit tests cover all cart operations"
],
"deliverables": [
"src/orders/services/cart.service.ts",
"src/orders/services/cart.service.test.ts"
],
"bounded_context": "order-management",
"module": "@app/orders"
}
File: .tmp/tasks/order-management-mvp/subtask_04.json
{
"id": "order-management-mvp-04",
"seq": "04",
"title": "Implement inventory reservation service",
"status": "pending",
"depends_on": ["02"],
"parallel": true,
"suggested_agent": "CoderAgent",
"context_files": [
{
"path": ".opencode/context/core/standards/code-quality.md",
"lines": "53-72",
"reason": "Pure function patterns"
},
{
"path": ".opencode/context/core/standards/security-patterns.md",
"lines": "80-120",
"reason": "Transaction handling and race condition prevention"
}
],
"reference_files": [
"src/contracts/inventory-service.contract.ts"
],
"acceptance_criteria": [
"Stock reservation uses database transactions",
"Reservation timeout mechanism implemented (15 minutes)",
"Race conditions prevented with optimistic locking",
"StockReserved and StockReleased events emitted",
"Unit tests cover reservation logic"
],
"deliverables": [
"src/inventory/services/reservation.service.ts",
"src/inventory/services/reservation.service.test.ts"
],
"bounded_context": "inventory",
"module": "@app/inventory",
"contracts": [
{
"type": "interface",
"name": "InventoryService",
"path": "src/contracts/inventory-service.contract.ts",
"status": "implemented"
}
]
}
File: .tmp/tasks/order-management-mvp/subtask_05.json
{
"id": "order-management-mvp-05",
"seq": "05",
"title": "Implement payment service with Stripe integration",
"status": "pending",
"depends_on": ["02"],
"parallel": true,
"suggested_agent": "CoderAgent",
"context_files": [
{
"path": ".opencode/context/core/standards/security-patterns.md",
"lines": "40-80",
"reason": "API key management and secure payment handling"
}
],
"reference_files": [
"src/contracts/payment-service.contract.ts"
],
"acceptance_criteria": [
"Stripe SDK integrated",
"Payment processing uses Stripe API",
"API keys stored securely in environment variables",
"Payment errors handled gracefully",
"PaymentProcessed and PaymentFailed events emitted",
"Unit tests use Stripe test mode"
],
"deliverables": [
"src/payment/services/payment.service.ts",
"src/payment/services/payment.service.test.ts"
],
"bounded_context": "payment",
"module": "@app/payment",
"contracts": [
{
"type": "interface",
"name": "PaymentService",
"path": "src/contracts/payment-service.contract.ts",
"status": "implemented"
}
],
"related_adrs": [
{
"id": "ADR-002",
"path": "docs/adr/002-stripe-payment-gateway.md"
}
]
}
File: .tmp/tasks/order-management-mvp/subtask_06.json
{
"id": "order-management-mvp-06",
"seq": "06",
"title": "Implement notification service with SendGrid",
"status": "pending",
"depends_on": ["02"],
"parallel": true,
"suggested_agent": "CoderAgent",
"context_files": [
{
"path": ".opencode/context/core/standards/code-quality.md",
"lines": "106-124",
"reason": "Error handling patterns for external API calls"
}
],
"reference_files": [],
"acceptance_criteria": [
"SendGrid SDK integrated",
"Email templates created for order confirmation",
"Email sending uses SendGrid API",
"Failed email sends are logged",
"EmailSent events emitted",
"Unit tests mock SendGrid API"
],
"deliverables": [
"src/notification/services/email.service.ts",
"src/notification/services/email.service.test.ts",
"src/notification/templates/order-confirmation.html"
],
"bounded_context": "notification",
"module": "@app/notification"
}
File: .tmp/tasks/order-management-mvp/subtask_07.json
{
"id": "order-management-mvp-07",
"seq": "07",
"title": "Implement order service orchestrating cart, inventory, payment",
"status": "pending",
"depends_on": ["03", "04", "05"],
"parallel": false,
"suggested_agent": "CoderAgent",
"context_files": [
{
"path": ".opencode/context/core/standards/code-quality.md",
"lines": "127-142",
"reason": "Dependency injection patterns"
}
],
"reference_files": [
"src/orders/services/cart.service.ts",
"src/inventory/services/reservation.service.ts",
"src/payment/services/payment.service.ts"
],
"acceptance_criteria": [
"Order service uses dependency injection",
"Place order workflow: validate cart → reserve inventory → process payment → create order",
"Rollback logic if payment fails (release inventory)",
"OrderPlaced event emitted on success",
"Error handling for each step",
"Unit tests cover happy path and error scenarios"
],
"deliverables": [
"src/orders/services/order.service.ts",
"src/orders/services/order.service.test.ts"
],
"bounded_context": "order-management",
"module": "@app/orders",
"contracts": [
{
"type": "interface",
"name": "OrderService",
"path": "src/contracts/order-service.contract.ts",
"status": "implemented"
}
]
}
File: .tmp/tasks/order-management-mvp/subtask_08.json
{
"id": "order-management-mvp-08",
"seq": "08",
"title": "Create REST API endpoints for orders",
"status": "pending",
"depends_on": ["07"],
"parallel": false,
"suggested_agent": "CoderAgent",
"context_files": [
{
"path": ".opencode/context/core/standards/code-quality.md",
"lines": "106-124",
"reason": "Error handling and validation patterns"
}
],
"reference_files": [
"src/api/base.controller.ts",
"src/orders/services/order.service.ts"
],
"acceptance_criteria": [
"POST /api/orders endpoint creates order",
"GET /api/orders/:id endpoint retrieves order",
"Request validation middleware applied",
"Error responses follow standard format",
"API tests cover all endpoints"
],
"deliverables": [
"src/api/orders/order.controller.ts",
"src/api/orders/order.routes.ts",
"src/api/orders/order.controller.test.ts"
],
"bounded_context": "order-management",
"module": "@app/orders"
}
File: .tmp/tasks/order-management-mvp/subtask_09.json
{
"id": "order-management-mvp-09",
"seq": "09",
"title": "Implement event handler for order confirmation emails",
"status": "pending",
"depends_on": ["06", "07"],
"parallel": false,
"suggested_agent": "CoderAgent",
"context_files": [
{
"path": ".opencode/context/core/standards/code-quality.md",
"lines": "106-124",
"reason": "Error handling for async operations"
}
],
"reference_files": [
"src/notification/services/email.service.ts"
],
"acceptance_criteria": [
"Event handler subscribes to OrderPlaced events",
"Handler sends confirmation email on OrderPlaced",
"Email includes order details from event payload",
"Failed email sends are logged but don't block order creation",
"Unit tests mock event bus and email service"
],
"deliverables": [
"src/notification/handlers/order-placed.handler.ts",
"src/notification/handlers/order-placed.handler.test.ts"
],
"bounded_context": "notification",
"module": "@app/notification",
"related_adrs": [
{
"id": "ADR-001",
"path": "docs/adr/001-event-driven-architecture.md"
}
]
}
File: .tmp/tasks/order-management-mvp/subtask_10.json
{
"id": "order-management-mvp-10",
"seq": "10",
"title": "Create database schema and migrations",
"status": "pending",
"depends_on": ["02"],
"parallel": true,
"suggested_agent": "CoderAgent",
"context_files": [],
"reference_files": [
"src/database/base.repository.ts",
"src/orders/types/order.types.ts"
],
"acceptance_criteria": [
"Orders table created with proper indexes",
"LineItems table created with foreign key to Orders",
"Inventory table created with stock tracking",
"Migrations are reversible",
"Database constraints enforce invariants"
],
"deliverables": [
"migrations/001_create_orders_table.sql",
"migrations/002_create_line_items_table.sql",
"migrations/003_create_inventory_table.sql"
],
"bounded_context": "order-management",
"module": "@app/orders"
}
File: .tmp/tasks/order-management-mvp/subtask_11.json
{
"id": "order-management-mvp-11",
"seq": "11",
"title": "Create integration tests for order placement flow",
"status": "pending",
"depends_on": ["08", "09", "10"],
"parallel": false,
"suggested_agent": "CoderAgent",
"context_files": [],
"reference_files": [
"src/api/orders/order.controller.ts",
"src/orders/services/order.service.ts"
],
"acceptance_criteria": [
"End-to-end test: add to cart → checkout → payment → confirmation email",
"Test covers happy path",
"Test covers payment failure scenario",
"Test covers out-of-stock scenario",
"All tests pass"
],
"deliverables": [
"tests/integration/order-placement.test.ts"
],
"bounded_context": "order-management",
"module": "@app/orders"
}
File: .tmp/tasks/order-management-mvp/subtask_12.json
{
"id": "order-management-mvp-12",
"seq": "12",
"title": "Create API documentation with OpenAPI spec",
"status": "pending",
"depends_on": ["08"],
"parallel": true,
"suggested_agent": "CoderAgent",
"context_files": [],
"reference_files": [
"src/api/orders/order.routes.ts"
],
"acceptance_criteria": [
"OpenAPI 3.0 spec created",
"All endpoints documented",
"Request/response schemas defined",
"Example requests/responses provided",
"Swagger UI accessible at /api-docs"
],
"deliverables": [
"docs/api/openapi.yaml",
"src/api/swagger.config.ts"
],
"bounded_context": "order-management",
"module": "@app/orders"
}
CLI Validation:
npx ts-node --compiler-options '{"module":"commonjs"}' \
.opencode/skill/task-management/scripts/task-cli.ts \
validate order-management-mvp
# Output:
# ✅ Task JSON valid
# ✅ All subtasks have dependencies resolved
# ✅ Parallel batches identified: 4 batches
# Batch 1: [01]
# Batch 2: [03, 04, 05, 06, 10]
# Batch 3: [07]
# Batch 4: [08, 12]
# Batch 5: [09]
# Batch 6: [11]
Agent: OpenCoder (orchestrator) + ContractManager
CLI Command:
# OpenCoder delegates to ContractManager
task(
subagent_type="ContractManager",
description="Define API contracts for Order Management",
prompt="Create API contracts for Order, Inventory, and Payment services.
Use bounded contexts from contexts.json.
Enable parallel frontend/backend development.
Output: OpenAPI 3.0 specs and contract.json files."
)
File: .tmp/contracts/order-management/order-api/contract.json
{
"contract_id": "order-api",
"version": "1.0.0",
"bounded_context": "order-management",
"service_name": "OrderAPI",
"description": "REST API for order management operations",
"openapi_spec_path": "contract.openapi.yaml",
"consumers": [
{
"name": "web-frontend",
"type": "spa",
"endpoints_used": ["/orders", "/orders/{id}"],
"authentication": "JWT"
}
],
"providers": [
{
"name": "order-service",
"type": "rest-api",
"implementation_path": "src/api/orders",
"technology": "Node.js/Express"
}
],
"testing_strategy": {
"approach": "consumer-driven",
"framework": "pact",
"consumer_tests": [
{
"consumer": "web-frontend",
"test_path": "tests/contracts/order-api.pact.spec.ts",
"scenarios": [
"Create order - success",
"Create order - payment failure",
"Get order by ID - success",
"Get order by ID - not found"
]
}
],
"provider_verification": {
"provider": "order-service",
"verification_path": "tests/contracts/verify-pacts.spec.ts",
"run_on": "pre-commit, CI/CD"
}
},
"mock_server": {
"enabled": true,
"tool": "prism",
"command": "prism mock contract.openapi.yaml",
"port": 4010,
"purpose": "Enable frontend development before backend implementation"
},
"versioning": {
"scheme": "semantic",
"current_version": "1.0.0",
"breaking_change_policy": "new major version required",
"deprecation_policy": "6 months notice, support N-1 versions",
"version_in_url": true,
"version_in_header": false,
"changelog_path": "docs/api/changelog.md"
},
"evolution_rules": {
"safe_changes": [
"Add new optional fields to responses",
"Add new endpoints",
"Add new optional query parameters"
],
"breaking_changes": [
"Remove or rename fields",
"Change field types",
"Remove endpoints",
"Make optional fields required"
],
"migration_support": {
"dual_version_support": true,
"migration_guide_required": true,
"migration_guide_path": "docs/api/migrations/"
}
},
"created_at": "2026-02-14T12:00:00Z",
"updated_at": "2026-02-14T12:00:00Z"
}
File: .tmp/contracts/order-management/order-api/contract.openapi.yaml
openapi: 3.0.3
info:
title: Order Management API
version: 1.0.0
description: REST API for managing e-commerce orders
servers:
- url: https://api.example.com/v1
description: Production
- url: https://api-staging.example.com/v1
description: Staging
- url: http://localhost:4010
description: Mock Server
paths:
/orders:
post:
summary: Create a new order
operationId: createOrder
tags:
- Orders
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrderRequest'
example:
customerId: "cust_123"
items:
- productId: "prod_456"
quantity: 2
price: 29.99
shippingAddress:
street: "123 Main St"
city: "San Francisco"
state: "CA"
zip: "94102"
paymentMethod:
type: "card"
token: "tok_visa"
responses:
'201':
description: Order created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
example:
id: "ord_789"
customerId: "cust_123"
status: "confirmed"
items:
- productId: "prod_456"
quantity: 2
price: 29.99
total: 59.98
createdAt: "2026-02-14T12:00:00Z"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
'402':
description: Payment Failed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Out of Stock
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/orders/{id}:
get:
summary: Get order by ID
operationId: getOrder
tags:
- Orders
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Order ID
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'401':
description: Unauthorized
'404':
description: Order not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
CreateOrderRequest:
type: object
required:
- customerId
- items
- shippingAddress
- paymentMethod
properties:
customerId:
type: string
description: Customer ID
items:
type: array
items:
$ref: '#/components/schemas/LineItem'
minItems: 1
shippingAddress:
$ref: '#/components/schemas/Address'
paymentMethod:
$ref: '#/components/schemas/PaymentMethod'
Order:
type: object
required:
- id
- customerId
- status
- items
- total
- createdAt
properties:
id:
type: string
format: uuid
customerId:
type: string
status:
type: string
enum: [pending, confirmed, shipped, delivered, cancelled]
items:
type: array
items:
$ref: '#/components/schemas/LineItem'
total:
type: number
format: double
shippingAddress:
$ref: '#/components/schemas/Address'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
LineItem:
type: object
required:
- productId
- quantity
- price
properties:
productId:
type: string
quantity:
type: integer
minimum: 1
price:
type: number
format: double
Address:
type: object
required:
- street
- city
- state
- zip
properties:
street:
type: string
city:
type: string
state:
type: string
zip:
type: string
PaymentMethod:
type: object
required:
- type
- token
properties:
type:
type: string
enum: [card, paypal]
token:
type: string
description: Payment token from payment gateway
Error:
type: object
required:
- code
- message
properties:
code:
type: string
message:
type: string
details:
type: object
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
security:
- bearerAuth: []
Similar contracts created for:
.tmp/contracts/inventory/inventory-api/ (Inventory API).tmp/contracts/payment/payment-api/ (Payment API)Agent: BatchExecutor → CoderAgent (multiple simultaneous)
CLI Commands:
# Identify parallel batches
npx ts-node --compiler-options '{"module":"commonjs"}' \
.opencode/skill/task-management/scripts/task-cli.ts \
parallel order-management-mvp
# Output:
# Batch 1 (1 task): [01]
# Batch 2 (5 tasks): [03, 04, 05, 06, 10]
# Batch 3 (1 task): [07]
# Batch 4 (2 tasks): [08, 12]
# Batch 5 (1 task): [09]
# Batch 6 (1 task): [11]
BatchExecutor delegates: Task 01 to CoderAgent
CoderAgent workflow:
.opencode/context/core/standards/code-quality.md (lines 24-50)package.jsonbash
bash .opencode/skill/task-management/router.sh complete \
order-management-mvp 01 "Project structure and dependencies configured"
BatchExecutor verifies: Task 01 marked complete, deliverables exist
BatchExecutor delegates: Tasks 03, 04, 05, 06, 10 to five CoderAgents simultaneously
CoderAgent 1 (Task 03 - Cart Service):
src/contracts/order-service.contract.tssrc/orders/services/cart.service.ts with pure functions and immutable stateCoderAgent 2 (Task 04 - Inventory Reservation):
src/contracts/inventory-service.contract.tssrc/inventory/services/reservation.service.ts with transaction handlingCoderAgent 3 (Task 05 - Payment Service):
src/contracts/payment-service.contract.tssrc/payment/services/payment.service.ts with Stripe integrationCoderAgent 4 (Task 06 - Notification Service):
src/notification/services/email.service.ts with SendGridCoderAgent 5 (Task 10 - Database Schema):
src/database/base.repository.ts, src/orders/types/order.types.tsBatchExecutor verifies: All 5 tasks in Batch 2 marked complete
BatchExecutor delegates: Task 07 to CoderAgent
CoderAgent workflow:
src/orders/services/order.service.ts orchestrating all servicesBatchExecutor delegates: Tasks 08, 12 to two CoderAgents simultaneously
CoderAgent 1 (Task 08 - REST API):
src/api/orders/order.controller.ts with validation middlewareCoderAgent 2 (Task 12 - API Documentation):
docs/api/openapi.yaml and Swagger UI configBatchExecutor delegates: Task 09 to CoderAgent
CoderAgent workflow:
src/notification/handlers/order-placed.handler.tsBatchExecutor delegates: Task 11 to CoderAgent
CoderAgent workflow:
tests/integration/order-placement.test.tsFinal Status:
npx ts-node --compiler-options '{"module":"commonjs"}' \
.opencode/skill/task-management/scripts/task-cli.ts \
status order-management-mvp
# Output:
# [order-management-mvp] Order Management MVP
# Status: active | Progress: 100% (12/12)
# Pending: 0 | In Progress: 0 | Completed: 12 | Blocked: 0
Agent: OpenCoder (orchestrator) + CoderAgent + TestEngineer
Wire Components Together
Run Integration Tests ```bash npm run test:integration
# Output: # ✅ Order placement flow - happy path # ✅ Order placement flow - payment failure # ✅ Order placement flow - out of stock # ✅ Email notification on order placed # All tests passing (4/4)
3. **Validate Against Requirements**
- ✅ Customers can add products to cart
- ✅ Inventory is reserved automatically
- ✅ Payments are processed securely via Stripe
- ✅ Customers receive email confirmations
- ✅ Order status tracking works
4. **Performance Testing**
```bash
npm run test:performance
# Output:
# Order placement time: 1.2s (target: < 2s) ✅
# Inventory reservation time: 0.3s ✅
# Payment processing time: 0.8s ✅
File: .tmp/validation/order-management-mvp-report.md
# Order Management MVP - Validation Report
**Date**: 2026-02-14
**Status**: ✅ PASSED
## Acceptance Criteria
- ✅ All MVP stories implemented (001-004)
- ✅ Integration tests passing (4/4)
- ✅ Payment gateway integrated (Stripe)
- ✅ Email notifications working (SendGrid)
## Performance Metrics
- Order placement time: 1.2s (target: < 2s) ✅
- Order success rate: 98% (target: 95%) ✅
- Inventory update latency: 0.3s ✅
## Security Review
- ✅ API keys secured
- ✅ Authentication enforced
- ✅ Input validation implemented
- ✅ SQL injection prevented
- ✅ XSS prevention in place
## Issues Found
None
## Recommendation
**APPROVED FOR RELEASE**
Agent: OpenCoder (orchestrator)
Prepare Release
v1.0.0Deploy to Staging ```bash npm run deploy:staging
# Output: # ✅ Database migrations applied # ✅ Application deployed # ✅ Health checks passing # ✅ Smoke tests passing
3. **Deploy to Production**
```bash
npm run deploy:production
# Output:
# ✅ Blue-green deployment initiated
# ✅ Traffic shifted to new version
# ✅ Health checks passing
# ✅ Monitoring active
File: docs/retrospectives/order-management-mvp.md
# Order Management MVP - Retrospective
**Date**: 2026-02-15
**Team**: OpenCoder, TaskManager, BatchExecutor, CoderAgent
## What Went Well
1. **Multi-Stage Orchestration Workflow**
- Architecture decomposition identified clear bounded contexts
- Story mapping aligned features with user journeys
- Prioritization ensured MVP focus
- Enhanced task breakdown enabled parallel execution
2. **Parallel Execution**
- Batch 2 (5 tasks) completed simultaneously, saving 8 days
- Contract-first design enabled frontend/backend parallel work
- No integration conflicts due to clear contracts
3. **Quality**
- Self-review loop caught issues before integration
- Integration tests validated end-to-end flows
- Performance targets met on first deployment
## What Could Be Improved
1. **Planning Phase**
- Could have identified more parallel opportunities in Batch 3-6
- ADR creation could have been done earlier (before implementation)
2. **Testing**
- Could have added more edge case tests
- Performance testing could have been more comprehensive
3. **Documentation**
- API documentation could have been created earlier (parallel with contracts)
## Action Items
1. **Update Standards**
- Document parallel execution patterns in `.opencode/context/core/workflows/`
- Add contract-first design guide
- Create ADR template for future features
2. **Improve Tooling**
- Enhance task-cli.ts to suggest optimal parallel batches
- Add performance testing to CI/CD pipeline
3. **Knowledge Sharing**
- Share this workflow example with team
- Create training materials on multi-stage orchestration
## Metrics
- **Planning Time**: 2 hours (Stages 1-4)
- **Implementation Time**: 3 days (with parallel execution)
- **Integration Time**: 1 day (Stage 7)
- **Total Time**: 4.5 days (vs. 12 days sequential)
- **Time Saved**: 7.5 days (62% reduction)
## Conclusion
The Multi-Stage Orchestration Workflow successfully delivered the Order Management MVP in 4.5 days with high quality and no integration issues. Parallel execution was the key enabler, saving 7.5 days compared to sequential implementation.
**Recommendation**: Use this workflow for all complex features going forward.
File: .opencode/context/core/workflows/contract-first-design.md
# Contract-First Design Pattern
## Overview
Define API contracts before implementation to enable parallel frontend/backend development.
## Process
1. **Define Contracts** (Stage 5)
- Create OpenAPI 3.0 specs
- Define TypeScript interfaces
- Document request/response schemas
2. **Enable Parallel Work**
- Frontend uses mock server (Prism)
- Backend implements against contract
- Both work independently
3. **Validate Integration**
- Consumer-driven contract tests
- Provider verification tests
- Integration tests
## Benefits
- Parallel development (frontend + backend)
- Clear integration points
- Reduced integration issues
- Better API design
## Example
See: `.opencode/docs/workflows/full-project-workflow.md` (Stage 5)
Planning Outputs:
.tmp/tasks/order-management-system/contexts.json.tmp/planning/order-management-system/map.json.tmp/planning/prioritized.jsonTask Definitions:
.tmp/tasks/order-management-mvp/task.json.tmp/tasks/order-management-mvp/subtask_01.json through subtask_12.jsonContracts:
.tmp/contracts/order-management/order-api/contract.json.tmp/contracts/order-management/order-api/contract.openapi.yaml.tmp/contracts/inventory/inventory-api/contract.json.tmp/contracts/payment/payment-api/contract.jsonImplementation:
src/orders/ (cart service, order service, types)src/inventory/ (reservation service)src/payment/ (payment service with Stripe)src/notification/ (email service with SendGrid, event handlers)src/api/orders/ (REST API endpoints)migrations/ (database schema)tests/integration/ (end-to-end tests)docs/api/ (OpenAPI spec, Swagger UI)Documentation:
.tmp/validation/order-management-mvp-report.mddocs/retrospectives/order-management-mvp.md.opencode/context/core/workflows/contract-first-design.md# Stage 4: Task Breakdown
npx ts-node --compiler-options '{"module":"commonjs"}' \
.opencode/skill/task-management/scripts/task-cli.ts \
validate order-management-mvp
# Stage 6: Parallel Execution
npx ts-node --compiler-options '{"module":"commonjs"}' \
.opencode/skill/task-management/scripts/task-cli.ts \
parallel order-management-mvp
# Stage 6: Mark Task Complete (per task)
bash .opencode/skill/task-management/router.sh complete \
order-management-mvp 01 "Project structure and dependencies configured"
# Stage 6: Check Status
npx ts-node --compiler-options '{"module":"commonjs"}' \
.opencode/skill/task-management/scripts/task-cli.ts \
status order-management-mvp
# Stage 7: Run Tests
npm run test:integration
npm run test:performance
# Stage 8: Deploy
npm run deploy:staging
npm run deploy:production
This end-to-end example demonstrates the complete Multi-Stage Orchestration Workflow in action:
Result: A production-ready Order Management MVP delivered in 4.5 days with 62% time savings, high quality, and zero integration issues.
Key Success Factors:
This workflow is now the recommended approach for all complex feature development in the OpenAgents ecosystem.