Documentation / QUAD Workflow / Project Lifecycle

QUAD Project Lifecycle

From Client Call to Deliverable Stories

Part of QUADβ„’ (Quick Unified Agentic Development) Methodology Β© 2025 Suman Addanke / A2 Vibe Creators LLC


Table of Contents

  • The Problem We're Solving
  • The Vicious Cycle
  • QUAD Solution Overview
  • Phase 0: Client Engagement
  • Phase 1: Requirement Intake
  • Phase 2: Story Generation
  • Phase 3: Story Refinement
  • DETAILED: Button-Level Workflow
  • Project Context System

  • The Problem We're Solving

    Real-World Scenario

    Manager: "We have problems. Slow delivery. Quality issues. Team burnout."
    

    Why? Let's trace it back:

  • SLOW DELIVERY ← Because of rework
  • QUALITY ISSUES ← Because building wrong things
  • TEAM BURNOUT ← Because requirements keep changing
  • TECHNICAL DEBT ← Because of quick fixes under pressure
  • ROOT CAUSE ← VAGUE REQUIREMENTS
  • The Pain Points

    SymptomReal Impact Requirement GapsDevelopers guess, build wrong thing Frequent ChangesTeam redoes work 2-3 times Burned Out TeamBest engineers leave Technical Debt"We'll fix it later" (never happens) Quality IssuesBugs shipped to production Slow DeliveryMissed deadlines, unhappy clients

    The Vicious Cycle

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  VAGUE REQS     β”‚
                        β”‚  from client    β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                                 β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  WRONG BUILD    β”‚
                        β”‚  devs guess     β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                                 β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  REWORK         β”‚
                        β”‚  "not what I    β”‚
                        β”‚   wanted!"      β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                                 β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  DEADLINE       β”‚
                        β”‚  PRESSURE       β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                                 β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  QUICK FIXES    β”‚
                        β”‚  skip tests     β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                                 β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  TECH DEBT      β”‚
                        β”‚  accumulates    β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                                 β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  TEAM BURNOUT   β”‚
                        β”‚  best leave     β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                                 β”‚
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚  CYCLE REPEATS              β”‚
                  β”‚  New project, same problems β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    QUAD breaks this cycle at the SOURCE: Requirements.

    QUAD Solution Overview

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                     QUAD PROJECT LIFECYCLE                          β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                     β”‚
    β”‚  Phase 0          Phase 1           Phase 2          Phase 3        β”‚
    β”‚  ────────         ────────          ────────         ────────       β”‚
    β”‚                                                                     β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
    β”‚  β”‚ CLIENT β”‚      β”‚ RAW    β”‚        β”‚ STORY  β”‚       β”‚ REFINEDβ”‚     β”‚
    β”‚  β”‚ CALL   β”‚ ──▢  β”‚ DOCS   β”‚  ──▢   β”‚ AGENT  β”‚  ──▢  β”‚ STORIESβ”‚     β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
    β”‚                                                                     β”‚
    β”‚  Budget: $400K   "20% off          AI generates     Complete with   β”‚
    β”‚  Scope: API,     seasonal          base stories     acceptance      β”‚
    β”‚  Web, iOS,       promo,            with questions   criteria,       β”‚
    β”‚  Android, Batch  lottery..."                        labels, est.    β”‚
    β”‚                                                                     β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Phase 0: Client Engagement

    What Happens

  • Client Call: "I have $400K budget. Need API, Batch, Web, iOS, Android."
  • Business Context: Client explains their business goals
  • Stakeholder Meeting: Discuss promotions, timelines, features
  • Example Scenario

    CLIENT: "We want to reach customers faster. Here's our plan:
            - 20% seasonal discount (Jan 15 - Feb 15)
            - Lottery giveaway (random gifts)
            - New customer onboarding flow
            - Push notifications for deals"
    

    US: "Got it. Let's document this and generate stories."

    Output: Raw Requirement Document

    The client provides whatever they have:

  • β€’ Email threads
  • β€’ Meeting notes
  • β€’ PowerPoint slides
  • β€’ Verbal descriptions
  • β€’ Screenshots of competitors
  • Key Principle: Client input may be incomplete or wrong, but we RESPECT it. We don't dismiss - we CLARIFY.

    Phase 1: Requirement Intake

    Document Processing

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                   REQUIREMENT INTAKE                         β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                             β”‚
    β”‚  INPUT                          OUTPUT                      β”‚
    β”‚  ─────                          ──────                      β”‚
    β”‚                                                             β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
    β”‚  β”‚ Email Thread β”‚              β”‚ Structured       β”‚        β”‚
    β”‚  β”‚ "20% off..." β”‚              β”‚ Requirements     β”‚        β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜              β”‚ Document         β”‚        β”‚
    β”‚         β”‚                      β”‚                  β”‚        β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”              β”‚ - Business Goals β”‚        β”‚
    β”‚  β”‚ Meeting Notesβ”‚    ────▢     β”‚ - User Personas  β”‚        β”‚
    β”‚  β”‚ "lottery..." β”‚              β”‚ - Feature List   β”‚        β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜              β”‚ - Constraints    β”‚        β”‚
    β”‚         β”‚                      β”‚ - Questions      β”‚        β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
    β”‚  β”‚ Verbal Notes β”‚                                          β”‚
    β”‚  β”‚ "fast app"   β”‚                                          β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                          β”‚
    β”‚                                                             β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Structured Output

    <h1 class="text-3xl font-bold text-white mb-8">requirement_intake.yaml</h1>
    project:
      name: "Customer Rewards Platform"
      budget: 400000
      timeline: "Q1 2025"
    

    platforms: - api - batch - web - ios - android

    business_goals: - "Increase customer acquisition by 30%" - "Reduce cart abandonment by 20%" - "Launch seasonal promotion campaign"

    features_mentioned: - "20% seasonal discount" - "Lottery/giveaway system" - "Push notifications" - "Customer onboarding"

    constraints: - "Must launch before Jan 15" - "Budget cap: $400K" - "PCI compliance required for payments"

    open_questions: - "What happens if discount conflicts with existing promo?" - "Who picks lottery winners? Manual or automatic?" - "What's the notification frequency limit?"


    Phase 2: Story Generation

    Story Agent Activation

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                      STORY AGENT FLOW                           β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                 β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                                β”‚
    β”‚  β”‚     BA      β”‚                                                β”‚
    β”‚  β”‚  (Human)    β”‚                                                β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜                                                β”‚
    β”‚         β”‚                                                       β”‚
    β”‚         β”‚ 1. Writes requirement                                 β”‚
    β”‚         β”‚    "read @project_xyz sample"                         β”‚
    β”‚         β–Ό                                                       β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
    β”‚  β”‚                    STORY AGENT                           β”‚   β”‚
    β”‚  β”‚                                                          β”‚   β”‚
    β”‚  β”‚  Inputs:                                                 β”‚   β”‚
    β”‚  β”‚  β”œβ”€β”€ Project context (@project_xyz)                      β”‚   β”‚
    β”‚  β”‚  β”œβ”€β”€ Requirement document                                β”‚   β”‚
    β”‚  β”‚  └── BA's question/request                               β”‚   β”‚
    β”‚  β”‚                                                          β”‚   β”‚
    β”‚  β”‚  Processing:                                             β”‚   β”‚
    β”‚  β”‚  β”œβ”€β”€ Parse business requirements                         β”‚   β”‚
    β”‚  β”‚  β”œβ”€β”€ Identify user personas                              β”‚   β”‚
    β”‚  β”‚  β”œβ”€β”€ Break into user stories                             β”‚   β”‚
    β”‚  β”‚  β”œβ”€β”€ Generate acceptance criteria                        β”‚   β”‚
    β”‚  β”‚  └── Flag ambiguities                                    β”‚   β”‚
    β”‚  β”‚                                                          β”‚   β”‚
    β”‚  β”‚  Outputs:                                                β”‚   β”‚
    β”‚  β”‚  β”œβ”€β”€ Base stories (STORY-001 to STORY-nnn)              β”‚   β”‚
    β”‚  β”‚  β”œβ”€β”€ Clarifying questions for BA                         β”‚   β”‚
    β”‚  β”‚  └── Suggested labels                                    β”‚   β”‚
    β”‚  β”‚                                                          β”‚   β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
    β”‚                                                                 β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Sample Generated Stories

    STORY-001: Seasonal Discount Application
    story_id: STORY-001
    title: "Apply 20% Seasonal Discount at Checkout"
    type: FEATURE
    priority: P0
    circle: 2  # Development
    platform: [API, WEB, IOS, ANDROID]
    

    as_a: "Customer" i_want: "to see and apply the 20% seasonal discount at checkout" so_that: "I can save money during the promotion period"

    acceptance_criteria: - GIVEN promotion period is active (Jan 15 - Feb 15) WHEN customer views cart THEN 20% discount is automatically applied - GIVEN discount is applied WHEN customer views order summary THEN original price, discount amount, and final price are shown - GIVEN promotion period has ended WHEN customer views cart THEN no discount is applied and no error is shown

    questions_for_ba: - "Does discount apply to all products or specific categories?" - "Can discount stack with existing promo codes?" - "Is there a minimum cart value for discount eligibility?"

    suggested_labels: - priority/P0 - type/FEATURE - circle/2-development - platform/API - platform/WEB - platform/IOS - platform/ANDROID - complexity/CUBE

    estimated_complexity: CUBE # 6 points - Multi-platform, business logic

    STORY-002: Lottery Entry System
    story_id: STORY-002
    title: "Enter Customer Into Lottery After Purchase"
    type: FEATURE
    priority: P1
    circle: 2  # Development
    platform: [API, BATCH]
    

    as_a: "Customer" i_want: "to be automatically entered into the gift lottery after purchase" so_that: "I have a chance to win prizes"

    acceptance_criteria: - GIVEN customer completes a purchase during promo period WHEN order is confirmed THEN customer is automatically entered into lottery - GIVEN customer is entered into lottery WHEN entry is recorded THEN customer receives confirmation notification - GIVEN lottery drawing occurs WHEN winners are selected THEN winning customers are notified via email and push

    questions_for_ba: - "One entry per purchase or per customer?" - "When and how often are drawings?" - "What are the prizes? Need to display them?" - "Manual or automatic winner selection?"

    suggested_labels: - priority/P1 - type/FEATURE - circle/2-development - platform/API - platform/BATCH - complexity/OCTAHEDRON

    estimated_complexity: OCTAHEDRON # 8 points - Async, notifications


    Phase 3: Story Refinement

    BA Review Cycle

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                    STORY REFINEMENT LOOP                        β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                 β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
    β”‚  β”‚   STORY     β”‚      β”‚     BA      β”‚      β”‚   STORY     β”‚     β”‚
    β”‚  β”‚   AGENT     β”‚ ───▢ β”‚   REVIEW    β”‚ ───▢ β”‚   AGENT     β”‚     β”‚
    β”‚  β”‚  (Draft)    β”‚      β”‚  (Clarify)  β”‚      β”‚  (Refine)   β”‚     β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
    β”‚                              β”‚                    β”‚             β”‚
    β”‚                              β”‚                    β”‚             β”‚
    β”‚                              β–Ό                    β–Ό             β”‚
    β”‚                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
    β”‚                       β”‚ "Discount   β”‚      β”‚ Updated     β”‚     β”‚
    β”‚                       β”‚  only on    β”‚      β”‚ Stories     β”‚     β”‚
    β”‚                       β”‚  orders     β”‚      β”‚ with BA     β”‚     β”‚
    β”‚                       β”‚  over $50"  β”‚      β”‚ answers     β”‚     β”‚
    β”‚                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
    β”‚                                                                 β”‚
    β”‚  ITERATION COUNT: Usually 2-3 rounds until stories are clear   β”‚
    β”‚                                                                 β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Refined Story Example

    After BA answers: "Discount only applies to orders over $50, cannot stack with other promos"

    story_id: STORY-001
    title: "Apply 20% Seasonal Discount at Checkout"
    status: REFINED  # Was DRAFT
    

    acceptance_criteria: - GIVEN promotion period is active (Jan 15 - Feb 15) AND cart total is >= $50 WHEN customer views cart THEN 20% discount is automatically applied - GIVEN cart total is < $50 WHEN customer views cart THEN message shows "Add $X more to qualify for 20% off" - GIVEN customer has another promo code applied WHEN seasonal discount would apply THEN only the higher discount is used (no stacking) - GIVEN discount is applied WHEN customer views order summary THEN original price, discount amount, savings, and final price shown

    ba_clarifications: - "Minimum order: $50" - "No promo stacking - use higher discount" - "All product categories eligible"

    refinement_date: "2025-01-05" refined_by: "BA-John"


    DETAILED: Button-Level Workflow

    This section shows exactly who clicks what button, where at each step.

    Complete Story Lifecycle: From Draft to Development

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚           COMPLETE WORKFLOW: WHO DOES WHAT, WHERE                          β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                            β”‚
    β”‚  STEP 1: BA CREATES RAW REQUIREMENT                                        β”‚
    β”‚  ════════════════════════════════════                                      β”‚
    β”‚                                                                            β”‚
    β”‚  WHO:     BA (Business Analyst)                                            β”‚
    β”‚  WHERE:   Jira β†’ Create Issue                                              β”‚
    β”‚  BUTTON:  [Create] button in Jira                                          β”‚
    β”‚                                                                            β”‚
    β”‚  WHAT BA DOES:                                                             β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
    β”‚  β”‚  Jira: Create Issue                                                   β”‚ β”‚
    β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”‚
    β”‚  β”‚  β”‚  Project:     [PROJ β–Ό]                                         β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  Type:        [Story β–Ό]                                        β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  Summary:     "User login with OAuth2"                         β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  Description: "As a user, I want to login using Google..."     β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚                                                                β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  Labels:      [requirement] [needs-expansion]                  β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚                                                                β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚             [Create]  [Cancel]                                 β”‚  β”‚ β”‚
    β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
    β”‚                                                                            β”‚
    β”‚  WHAT HAPPENS NEXT:                                                        β”‚
    β”‚  β€’ Jira fires webhook to QUAD Agent Runtime (QAR)                          β”‚
    β”‚  β€’ QAR sees label "needs-expansion" β†’ triggers Story Agent                 β”‚
    β”‚  β€’ Story status changes to "Draft" automatically                           β”‚
    β”‚                                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                            β”‚
    β”‚  STEP 2: STORY AGENT EXPANDS (AUTOMATIC)                                   β”‚
    β”‚  ════════════════════════════════════════                                  β”‚
    β”‚                                                                            β”‚
    β”‚  WHO:     Story Agent (AI) - AUTOMATIC, no human action                    β”‚
    β”‚  WHERE:   Background processing                                            β”‚
    β”‚  BUTTON:  None - triggered by webhook                                      β”‚
    β”‚                                                                            β”‚
    β”‚  WHAT STORY AGENT DOES:                                                    β”‚
    β”‚  1. Reads the raw requirement from Jira                                    β”‚
    β”‚  2. Loads project context (@project_xyz)                                   β”‚
    β”‚  3. Uses Gemini/Claude to expand into full stories                         β”‚
    β”‚  4. Generates acceptance criteria                                          β”‚
    β”‚  5. Identifies questions that need BA clarification                        β”‚
    β”‚  6. Creates Confluence page with detailed specs                            β”‚
    β”‚  7. Updates Jira story with:                                               β”‚
    β”‚     β€’ Link to Confluence specs                                             β”‚
    β”‚     β€’ Suggested labels                                                     β”‚
    β”‚     β€’ Status: "Draft - Pending Review"                                     β”‚
    β”‚     β€’ Comment: "@BA-John: Please review and answer questions"              β”‚
    β”‚                                                                            β”‚
    β”‚  JIRA AFTER EXPANSION:                                                     β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
    β”‚  β”‚  PROJ-123: User login with OAuth2                                    β”‚ β”‚
    β”‚  β”‚  Status: [Draft - Pending Review]                                    β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  πŸ“Ž Attachments:                                                      β”‚ β”‚
    β”‚  β”‚  └── πŸ“„ Specs: PROJ-123-specs (Confluence)                           β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  πŸ’¬ Comments:                                                         β”‚ β”‚
    β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”‚
    β”‚  β”‚  β”‚  πŸ€– Story Agent (just now)                                     β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚                                                                β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  Story expanded. Please review and answer:                     β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚                                                                β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  ❓ Q1: Which OAuth providers? (Google, Apple, Facebook?)      β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  ❓ Q2: Should we support password fallback?                   β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  ❓ Q3: Session duration: 24h or 7 days?                       β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚                                                                β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  @BA-John please clarify                                       β”‚  β”‚ β”‚
    β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
    β”‚                                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                            β”‚
    β”‚  STEP 3: BA REVIEWS AND ANSWERS QUESTIONS                                  β”‚
    β”‚  ════════════════════════════════════════                                  β”‚
    β”‚                                                                            β”‚
    β”‚  WHO:     BA (Business Analyst)                                            β”‚
    β”‚  WHERE:   Jira β†’ Story Comments OR Confluence β†’ Specs Page                 β”‚
    β”‚  BUTTON:  [Comment] in Jira OR [Edit] in Confluence                        β”‚
    β”‚                                                                            β”‚
    β”‚  OPTION A: Answer in Jira Comments                                         β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
    β”‚  β”‚  Add Comment:                                                         β”‚ β”‚
    β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”‚
    β”‚  β”‚  β”‚  @story-agent                                                  β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚                                                                β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  A1: Google and Apple only, no Facebook                        β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  A2: Yes, password fallback for existing users                 β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚  A3: 7 days for mobile, 24h for web                           β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚                                                                β”‚  β”‚ β”‚
    β”‚  β”‚  β”‚                           [Save]  [Cancel]                     β”‚  β”‚ β”‚
    β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
    β”‚                                                                            β”‚
    β”‚  OPTION B: Answer in Confluence (More Detailed)                            β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
    β”‚  β”‚  Confluence: PROJ-123-specs                              [Edit]       β”‚ β”‚
    β”‚  β”‚  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  ## BA Clarifications                                                 β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  QuestionAnswerAnswered By                                  β”‚ β”‚
    β”‚  β”‚                                    β”‚ β”‚
    β”‚  β”‚  OAuth providersGoogle, Apple@BA-John                       β”‚ β”‚
    β”‚  β”‚  Password fallbackYes, for existing@BA-John                 β”‚ β”‚
    β”‚  β”‚  Session duration7d mobile, 24h web@BA-John                 β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  [Publish]                                                            β”‚ β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
    β”‚                                                                            β”‚
    β”‚  WHAT HAPPENS NEXT:                                                        β”‚
    β”‚  β€’ Jira/Confluence webhook fires on BA's comment/edit                      β”‚
    β”‚  β€’ QAR triggers Story Agent to refine based on answers                     β”‚
    β”‚  β€’ Story Agent updates story with new acceptance criteria                  β”‚
    β”‚                                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                            β”‚
    β”‚  STEP 4: STORY AGENT REFINES (AUTOMATIC)                                   β”‚
    β”‚  ════════════════════════════════════════                                  β”‚
    β”‚                                                                            β”‚
    β”‚  WHO:     Story Agent (AI) - AUTOMATIC                                     β”‚
    β”‚  WHERE:   Background processing                                            β”‚
    β”‚  BUTTON:  None - triggered by BA's comment                                 β”‚
    β”‚                                                                            β”‚
    β”‚  WHAT STORY AGENT DOES:                                                    β”‚
    β”‚  1. Reads BA's answers                                                     β”‚
    β”‚  2. Updates acceptance criteria with specific details                      β”‚
    β”‚  3. Updates Confluence specs                                               β”‚
    β”‚  4. Changes status to "Refined - Ready for Approval"                       β”‚
    β”‚  5. Notifies BA: "Story refined. Please approve or request changes."       β”‚
    β”‚                                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                            β”‚
    β”‚  STEP 5: BA APPROVES STORY                                                 β”‚
    β”‚  ══════════════════════════                                                β”‚
    β”‚                                                                            β”‚
    β”‚  WHO:     BA (Business Analyst)                                            β”‚
    β”‚  WHERE:   Jira β†’ Story Detail                                              β”‚
    β”‚  BUTTON:  [Approve] custom button OR transition workflow                   β”‚
    β”‚                                                                            β”‚
    β”‚  OPTION A: Custom QUAD Button in Jira                                      β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
    β”‚  β”‚  PROJ-123: User login with OAuth2                                    β”‚ β”‚
    β”‚  β”‚  Status: [Refined - Ready for Approval]                              β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  QUAD Actions:                                                        β”‚ β”‚
    β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”‚
    β”‚  β”‚  β”‚  [βœ“ Approve Story]  [↻ Request Changes]  [βœ• Reject]            β”‚  β”‚ β”‚
    β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  BA clicks [βœ“ Approve Story]                                         β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
    β”‚                                                                            β”‚
    β”‚  OPTION B: Jira Workflow Transition                                        β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
    β”‚  β”‚  Workflow transitions in Jira:                                        β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  [Draft] β†’ [Pending Review] β†’ [Refined] β†’ [Approved] β†’ [Ready]       β”‚ β”‚
    β”‚  β”‚                                                    ↑                  β”‚ β”‚
    β”‚  β”‚                                              BA clicks here           β”‚ β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
    β”‚                                                                            β”‚
    β”‚  WHAT HAPPENS NEXT:                                                        β”‚
    β”‚  β€’ Status changes to "Approved - Ready for Sprint"                         β”‚
    β”‚  β€’ Story Agent applies final labels: priority, complexity                  β”‚
    β”‚  β€’ Story appears in backlog for sprint planning                            β”‚
    β”‚  β€’ Estimation Agent may auto-run to calculate points                       β”‚
    β”‚                                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                            β”‚
    β”‚  STEP 6: PM ADDS TO SPRINT                                                 β”‚
    β”‚  ═════════════════════════                                                 β”‚
    β”‚                                                                            β”‚
    β”‚  WHO:     PM (Project Manager) or Tech Lead                                β”‚
    β”‚  WHERE:   Jira β†’ Backlog or Sprint Board                                   β”‚
    β”‚  BUTTON:  Drag & Drop OR [Add to Sprint] button                            β”‚
    β”‚                                                                            β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
    β”‚  β”‚  Jira Backlog                                                         β”‚ β”‚
    β”‚  β”‚  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  Sprint 5 (Jan 15-28)         β”‚  Backlog                             β”‚ β”‚
    β”‚  β”‚  ─────────────────────────────│──────────────────────────────────    β”‚ β”‚
    β”‚  β”‚                               β”‚                                       β”‚ β”‚
    β”‚  β”‚  β–‘ PROJ-100 (8 pts)           β”‚  βœ“ PROJ-123 (8 pts) ←── Drag here    β”‚ β”‚
    β”‚  β”‚  β–‘ PROJ-101 (6 pts)           β”‚  β–‘ PROJ-124 (4 pts)                  β”‚ β”‚
    β”‚  β”‚  β–‘ PROJ-102 (4 pts)           β”‚  β–‘ PROJ-125 (12 pts)                 β”‚ β”‚
    β”‚  β”‚                               β”‚                                       β”‚ β”‚
    β”‚  β”‚  Capacity: 40 pts             β”‚  Backlog: 67 pts                     β”‚ β”‚
    β”‚  β”‚  Committed: 18 pts            β”‚                                       β”‚ β”‚
    β”‚  β”‚                               β”‚                                       β”‚ β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
    β”‚                                                                            β”‚
    β”‚  WHAT HAPPENS NEXT:                                                        β”‚
    β”‚  β€’ Story is assigned sprint/SPRINT-05 label                                β”‚
    β”‚  β€’ Story status: "Ready for Development"                                   β”‚
    β”‚  β€’ Dev team sees it in their sprint board                                  β”‚
    β”‚                                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                            β”‚
    β”‚  STEP 7: DEV STARTS WORK                                                   β”‚
    β”‚  ═══════════════════════                                                   β”‚
    β”‚                                                                            β”‚
    β”‚  WHO:     Developer                                                        β”‚
    β”‚  WHERE:   Jira β†’ Sprint Board                                              β”‚
    β”‚  BUTTON:  [Start Progress] or drag to "In Progress"                        β”‚
    β”‚                                                                            β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
    β”‚  β”‚  Sprint 5 Board                                                       β”‚ β”‚
    β”‚  β”‚  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  β”‚ β”‚
    β”‚  β”‚                                                                       β”‚ β”‚
    β”‚  β”‚  TODO          β”‚  IN PROGRESS    β”‚  CODE REVIEW    β”‚  DONE           β”‚ β”‚
    β”‚  β”‚  ──────────────│─────────────────│─────────────────│────────────     β”‚ β”‚
    β”‚  β”‚                β”‚                 β”‚                 β”‚                 β”‚ β”‚
    β”‚  β”‚  PROJ-123      β”‚                 β”‚                 β”‚                 β”‚ β”‚
    β”‚  β”‚  (8 pts)       β”‚                 β”‚                 β”‚                 β”‚ β”‚
    β”‚  β”‚  [Start] ──────┼────────────────▢│                 β”‚                 β”‚ β”‚
    β”‚  β”‚                β”‚  PROJ-123       β”‚                 β”‚                 β”‚ β”‚
    β”‚  β”‚                β”‚  @dev-john      β”‚                 β”‚                 β”‚ β”‚
    β”‚  β”‚                β”‚                 β”‚                 β”‚                 β”‚ β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
    β”‚                                                                            β”‚
    β”‚  OPTIONAL: Dev can use /commands in IDE or chat:                           β”‚
    β”‚  β€’ /context @proj-123  β†’ Load story context                                β”‚
    β”‚  β€’ /estimate PROJ-123  β†’ Get complexity breakdown                          β”‚
    β”‚  β€’ /agent invoke dev-agent-api --story=PROJ-123 β†’ Get AI help              β”‚
    β”‚                                                                            β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Summary: Who Clicks What

    StepWHOWHEREBUTTON/ACTIONRESULT 1BAJira[Create]Raw story created, webhook fires 2AIBackground(Automatic)Story expanded, questions posted 3BAJira/Confluence[Comment] or [Edit]Answers provided 4AIBackground(Automatic)Story refined with answers 5BAJira[Approve Story]Story approved for sprint 6PMJira BacklogDrag & DropStory added to sprint 7DevJira Board[Start Progress]Development begins

    Jira Workflow States

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                       JIRA STORY WORKFLOW                               β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                         β”‚
    β”‚  [DRAFT]                                                                β”‚
    β”‚     β”‚                                                                   β”‚
    β”‚     β”‚ (Auto: Story Agent expands)                                       β”‚
    β”‚     β–Ό                                                                   β”‚
    β”‚  [PENDING REVIEW]                                                       β”‚
    β”‚     β”‚                                                                   β”‚
    β”‚     β”‚ (BA answers questions)                                            β”‚
    β”‚     β–Ό                                                                   β”‚
    β”‚  [REFINED]                                                              β”‚
    β”‚     β”‚                                                                   β”‚
    β”‚     β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                     β”‚
    β”‚     β”‚ (BA approves)                              β”‚ (BA requests changes)β”‚
    β”‚     β–Ό                                            β–Ό                      β”‚
    β”‚  [APPROVED]                                   [NEEDS WORK]              β”‚
    β”‚     β”‚                                            β”‚                      β”‚
    β”‚     β”‚ (PM adds to sprint)                        β”‚ (Back to PENDING)    β”‚
    β”‚     β–Ό                                            β”‚                      β”‚
    β”‚  [READY FOR DEV]                                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚     β”‚                                                                   β”‚
    β”‚     β”‚ (Dev starts work)                                                 β”‚
    β”‚     β–Ό                                                                   β”‚
    β”‚  [IN PROGRESS]                                                          β”‚
    β”‚     β”‚                                                                   β”‚
    β”‚     β”‚ (Dev creates PR)                                                  β”‚
    β”‚     β–Ό                                                                   β”‚
    β”‚  [CODE REVIEW]                                                          β”‚
    β”‚     β”‚                                                                   β”‚
    β”‚     β”‚ (PR merged)                                                       β”‚
    β”‚     β–Ό                                                                   β”‚
    β”‚  [QA READY]                                                             β”‚
    β”‚     β”‚                                                                   β”‚
    β”‚     β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                     β”‚
    β”‚     β”‚ (QA passes)                                β”‚ (QA fails)           β”‚
    β”‚     β–Ό                                            β–Ό                      β”‚
    β”‚  [DONE]                                       [QA FAILED]               β”‚
    β”‚                                                  β”‚                      β”‚
    β”‚                                                  β”‚ (Back to IN PROGRESS)β”‚
    β”‚                                                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚                                                                         β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Alternative: BA Uses Chat Instead of Jira

    BA can also work through chat (Claude, Copilot, Slack):

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                     CHAT-BASED WORKFLOW                                 β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                         β”‚
    β”‚  Slack / Claude / Copilot Chat                                          β”‚
    β”‚  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  β”‚
    β”‚                                                                         β”‚
    β”‚  BA-John: @QUAD create story: "User login with OAuth2"                  β”‚
    β”‚                                                                         β”‚
    β”‚  πŸ€– QUAD: Story PROJ-123 created. Expanding...                          β”‚
    β”‚                                                                         β”‚
    β”‚  πŸ€– QUAD: Story expanded. I have 3 questions:                           β”‚
    β”‚                                                                         β”‚
    β”‚           ❓ Which OAuth providers? (Google, Apple, Facebook?)          β”‚
    β”‚           ❓ Password fallback for existing users?                      β”‚
    β”‚           ❓ Session duration preference?                                β”‚
    β”‚                                                                         β”‚
    β”‚  BA-John: Google and Apple only. Yes password fallback.                 β”‚
    β”‚           7 days mobile, 24h web.                                       β”‚
    β”‚                                                                         β”‚
    β”‚  πŸ€– QUAD: Got it. Updating story...                                     β”‚
    β”‚                                                                         β”‚
    β”‚  πŸ€– QUAD: βœ“ Story PROJ-123 refined.                                     β”‚
    β”‚           πŸ“Ž Specs: confluence.com/PROJ/123-specs                       β”‚
    β”‚           πŸ“Š Complexity: OCTAHEDRON (8 pts)                             β”‚
    β”‚           🏷️ Labels: priority/P1, platform/API, platform/WEB            β”‚
    β”‚                                                                         β”‚
    β”‚           Ready to approve? [Yes, approve] [No, more changes]           β”‚
    β”‚                                                                         β”‚
    β”‚  BA-John: clicks [Yes, approve]                                       β”‚
    β”‚                                                                         β”‚
    β”‚  πŸ€– QUAD: βœ“ Story PROJ-123 approved. Added to backlog.                  β”‚
    β”‚           PM can now add to sprint.                                     β”‚
    β”‚                                                                         β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Alternative: BA Uses IDE (VS Code)

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                     IDE-BASED WORKFLOW (VS Code)                        β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                         β”‚
    β”‚  VS Code with QUAD Extension                                            β”‚
    β”‚  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  β”‚
    β”‚                                                                         β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
    β”‚  β”‚  File: requirement.md                                            β”‚   β”‚
    β”‚  β”‚  ─────────────────────────────────────────────────────────────   β”‚   β”‚
    β”‚  β”‚                                                                  β”‚   β”‚
    β”‚  β”‚  # User Login Feature                                            β”‚   β”‚
    β”‚  β”‚                                                                  β”‚   β”‚
    β”‚  β”‚  As a user, I want to login using OAuth2 so that I can          β”‚   β”‚
    β”‚  β”‚  access my account without remembering a password.               β”‚   β”‚
    β”‚  β”‚                                                                  β”‚   β”‚
    β”‚  β”‚  ## Requirements                                                 β”‚   β”‚
    β”‚  β”‚  - Google OAuth                                                  β”‚   β”‚
    β”‚  β”‚  - Apple Sign In                                                 β”‚   β”‚
    β”‚  β”‚  - Session management                                            β”‚   β”‚
    β”‚  β”‚                                                                  β”‚   β”‚
    β”‚  β”‚  [Right-click shows context menu]                                β”‚   β”‚
    β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                  β”‚   β”‚
    β”‚  β”‚  β”‚ πŸ€– QUAD: Expand Story      β”‚ ← BA clicks here                β”‚   β”‚
    β”‚  β”‚  β”‚ πŸ€– QUAD: Estimate          β”‚                                  β”‚   β”‚
    β”‚  β”‚  β”‚ πŸ€– QUAD: Create in Jira    β”‚                                  β”‚   β”‚
    β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                  β”‚   β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
    β”‚                                                                         β”‚
    β”‚  After clicking "Expand Story":                                         β”‚
    β”‚                                                                         β”‚
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
    β”‚  β”‚  QUAD Panel (sidebar)                                            β”‚   β”‚
    β”‚  β”‚  ─────────────────────────────────────────────────────────────   β”‚   β”‚
    β”‚  β”‚                                                                  β”‚   β”‚
    β”‚  β”‚  Story: PROJ-123 - User Login                                   β”‚   β”‚
    β”‚  β”‚  Status: Expanded βœ“                                              β”‚   β”‚
    β”‚  β”‚                                                                  β”‚   β”‚
    β”‚  β”‚  Questions:                                                      β”‚   β”‚
    β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚   β”‚
    β”‚  β”‚  β”‚ Q1: OAuth providers?                                     β”‚    β”‚   β”‚
    β”‚  β”‚  β”‚ [Google] [Apple] [Facebook] [Other...]                   β”‚    β”‚   β”‚
    β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚   β”‚
    β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚   β”‚
    β”‚  β”‚  β”‚ Q2: Password fallback?                                   β”‚    β”‚   β”‚
    β”‚  β”‚  β”‚ (Yes) (No)                                               β”‚    β”‚   β”‚
    β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚   β”‚
    β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚   β”‚
    β”‚  β”‚  β”‚ Q3: Session duration?                                    β”‚    β”‚   β”‚
    β”‚  β”‚  β”‚ Mobile: [7 days β–Ό]  Web: [24 hours β–Ό]                    β”‚    β”‚   β”‚
    β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚   β”‚
    β”‚  β”‚                                                                  β”‚   β”‚
    β”‚  β”‚  [Refine Story]  [Skip to Approve]                              β”‚   β”‚
    β”‚  β”‚                                                                  β”‚   β”‚
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
    β”‚                                                                         β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Project Context System

    How @project_xyz Works

    When BA writes @project_xyz, the Story Agent loads project-specific context:

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                     PROJECT CONTEXT SYSTEM                      β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                                 β”‚
    β”‚  @project_xyz resolves to:                                      β”‚
    β”‚                                                                 β”‚
    β”‚  /.quad/contexts/project_xyz/                                   β”‚
    β”‚  β”œβ”€β”€ README.md              # Project overview                  β”‚
    β”‚  β”œβ”€β”€ tech_stack.yaml        # Technologies used                 β”‚
    β”‚  β”œβ”€β”€ architecture.md        # System architecture               β”‚
    β”‚  β”œβ”€β”€ api_standards.md       # API conventions                   β”‚
    β”‚  β”œβ”€β”€ naming_conventions.md  # Code naming rules                 β”‚
    β”‚  β”œβ”€β”€ existing_stories/      # Previously completed stories      β”‚
    β”‚  β”‚   β”œβ”€β”€ STORY-001.yaml                                        β”‚
    β”‚  β”‚   └── STORY-002.yaml                                        β”‚
    β”‚  └── domain_glossary.md     # Business terms definitions        β”‚
    β”‚                                                                 β”‚
    β”‚  Story Agent uses this context to:                              β”‚
    β”‚  βœ“ Maintain consistency with existing architecture              β”‚
    β”‚  βœ“ Use correct terminology                                      β”‚
    β”‚  βœ“ Reference related stories                                    β”‚
    β”‚  βœ“ Follow established patterns                                  β”‚
    β”‚                                                                 β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Context File Examples

    tech_stack.yaml
    backend:
      language: Java
      framework: Spring Boot 3.2
      database: PostgreSQL 15
    

    frontend: web: React 18 / Next.js 14 ios: SwiftUI android: Kotlin Jetpack Compose

    infrastructure: cloud: GCP container: Docker / Cloud Run ci_cd: GitHub Actions

    api_standards.md
    <h1 class="text-3xl font-bold text-white mb-8">API Standards</h1>
    
  • β€’ REST endpoints prefixed with /api/v1/
  • β€’ Use kebab-case for URLs: /api/v1/user-profiles
  • β€’ Response format: JSON with envelope
  • β€’ Authentication: JWT Bearer tokens
  • β€’ Pagination: ?page=1&size=20
  • β€’ Error format: { "error": { "code": "ERR_001", "message": "..." } }

  • Summary

    PhaseInputOutputAgent 0: Client EngagementClient call, budget, scopeRaw requirements docHuman (BA/PM) 1: Requirement IntakeRaw docs, emails, notesStructured requirementsHuman + AI assist 2: Story Generation@project context + requirementsBase stories + questionsStory Agent 3: Story RefinementBA answers to questionsRefined stories, ready for devStory Agent + BA Key Benefits of QUAD Approach:
  • No More Guessing - AI generates questions, humans answer
  • Consistent Format - All stories follow same structure
  • Traceable - Every decision documented
  • Context-Aware - AI knows your project's patterns
  • Iterative - Refinement loop until clear

  • Next: See QUAD_STORY_LABELS.md for the labeling system.
    Part of QUADβ„’ (Quick Unified Agentic Development) Methodology Β© 2025 Suman Addanke / A2 Vibe Creators LLC