# Day in the Life

This example models a complete day for a baker character, showing how schedules, behaviors, and life arcs work together to create a rich daily simulation.

## The Baker

```storybook
use schema::core_enums::{Season, DayOfWeek};
use schema::beings::Human;
use schema::templates::SkilledWorker;

character Martha: Human from SkilledWorker {
    age: 42
    occupation: "Master Baker"
    skill_level: 0.95
    energy: 1.0
    mood: 0.8

    uses schedule: MarthaDailySchedule
    uses behaviors: [
        { tree: BakerRoutine, priority: normal },
        { tree: HandleEmergency, when: emergency_detected, priority: critical }
    ]

    ---backstory
    Martha has been baking since she was twelve, learning from her
    grandmother. She now runs the most popular bakery in town and
    is known for her sourdough bread and apple pastries.
    ---
}
```

## The Schedule

```storybook
schedule MarthaDailySchedule {
    block wake_up {
        04:00 - 04:30
        action: routines::morning_wake
    }

    block early_baking {
        04:30 - 07:00
        action: baking::prepare_morning_goods
    }

    block open_shop {
        07:00 - 07:15
        action: shop::open_for_business
    }

    block morning_rush {
        07:15 - 10:00
        action: shop::serve_morning_customers
    }

    block midday_baking {
        10:00 - 12:00
        action: baking::prepare_afternoon_goods
    }

    block lunch_break {
        12:00 - 13:00
        action: social::lunch_with_family
    }

    block afternoon_sales {
        13:00 - 16:00
        action: shop::serve_afternoon_customers
    }

    block close_shop {
        16:00 - 16:30
        action: shop::close_for_day
    }

    block evening_prep {
        16:30 - 17:30
        action: baking::prepare_dough_for_tomorrow
    }

    block family_time {
        18:00 - 21:00
        action: social::family_evening
    }

    block sleep {
        21:00 - 04:00
        action: routines::sleep
    }

    // Saturday: Market day
    recurs MarketDay on day saturday {
        block market_prep {
            03:00 - 05:00
            action: baking::market_batch
        }

        block market_sales {
            06:00 - 14:00
            action: market::sell_at_stall
        }

        block market_cleanup {
            14:00 - 15:00
            action: market::pack_up
        }
    }

    // Summer: Extended hours
    block summer_afternoon {
        13:00 - 18:00
        action: shop::extended_summer_hours
        on season summer
    }
}
```

## Behaviors

### Morning Routine

```storybook
behavior BakerMorningRoutine {
    then morning_sequence {
        WakeUp
        WashFace
        DressInWorkClothes

        // Check the sourdough starter
        then check_starter {
            ExamineStarter
            if(starter_healthy) {
                FeedStarter
            }
        }

        WalkToKitchen
        LightOven
    }
}
```

### Baking Behavior

```storybook
behavior BakerRoutine {
    choose baking_priority {
        // Handle special orders first
        then special_orders {
            if(has_special_orders)
            then fill_order {
                ReviewOrderDetails
                GatherSpecialIngredients
                PrepareSpecialItem
                PackageForCustomer
            }
        }

        // Regular daily baking
        then daily_bread {
            then sourdough {
                MixDough(recipe: "sourdough", quantity: 10)
                KneadDough(duration: 15m)
                FirstRise(duration: 2h)
                ShapLoaves
                SecondRise(duration: 1h)
                BakeLoaves(temperature: 230, duration: 35m)
            }
        }

        // Pastries if time permits
        then pastries {
            succeed_always {
                then apple_pastries {
                    PrepareFillingApple
                    RollPastryDough
                    AssemblePastries
                    BakePastries(temperature: 200, duration: 25m)
                }
            }
        }
    }
}
```

### Customer Service

```storybook
behavior ServeCustomer {
    then service_sequence {
        GreetCustomer
        if(customer_is_regular) {
            RecallPreferences
        }

        choose service_type {
            then take_order {
                if(customer_knows_what_they_want)
                AcceptOrder
                PackageItem
            }

            then help_decide {
                if(not customer_knows_what_they_want)
                OfferRecommendation
                ProvidesSample
                AcceptOrder
                PackageItem
            }
        }

        CollectPayment
        ThankCustomer
    }
}
```

### Emergency Handling

```storybook
behavior HandleEmergency {
    choose emergency_type {
        then oven_fire {
            if(oven_overheating)
            TurnOffOven
            GrabFireExtinguisher
            ExtinguishFire
            AssessDamage
        }

        then ingredient_shortage {
            if(critical_ingredient_missing)
            CheckBackupSupply
            choose procurement {
                SendApprenticeToMarket
                SubstituteIngredient
                AdjustMenu
            }
        }

        then equipment_failure {
            if(equipment_broken)
            StopProduction
            AttemptQuickFix
            choose fallback {
                UseBackupEquipment
                CallRepairPerson
            }
        }
    }
}
```

## Life Arc: Career and Energy

```storybook
life_arc MarthaEnergyLevel {
    state rested {
        on enter {
            Martha.energy: 1.0
            Martha.mood: 0.8
        }
        on energy < 0.5 -> tired
    }

    state tired {
        on enter {
            Martha.mood: 0.6
        }
        on energy < 0.2 -> exhausted
        on energy > 0.7 -> rested
    }

    state exhausted {
        on enter {
            Martha.mood: 0.3
            Martha.quality_output: 0.7
        }
        on energy > 0.5 -> tired
    }
}
```

## Relationships

```storybook
relationship MarthaAndApprentice {
    Martha as mentor self {
        patience: 0.8
        investment: 0.9
    } other {
        sees_potential: 0.85
    }

    Elena as apprentice self {
        dedication: 0.9
        learning_rate: 0.7
    } other {
        respect: 0.95
        admiration: 0.8
    }

    bond: 0.85
    years_together: 2
}

relationship MarthaAndRegularCustomer {
    Martha as shopkeeper
    OldManGregory as regular_customer

    bond: 0.7
    years_known: 15
    always_orders: "sourdough_loaf"

    ---dynamics
    Gregory has been buying Martha's bread every morning for
    fifteen years. They exchange brief pleasantries about the
    weather and local gossip. He is her most reliable customer.
    ---
}
```

## Key Takeaways

This example demonstrates:

1. **Schedule-driven daily flow**: Precise time blocks govern Martha's entire day
2. **Seasonal and weekly variations**: Summer hours and Saturday market
3. **Layered behaviors**: Emergency behavior preempts normal routine via priority
4. **Realistic action sequences**: Baking modeled step by step with parameters
5. **Energy management**: Life arc tracks fatigue affecting mood and output quality
6. **Social connections**: Relationships with apprentice and customers add depth

## Cross-References

- [Schedules Reference](../reference/14-schedules.md) - Schedule syntax
- [Behavior Trees Reference](../reference/11-behavior-trees.md) - Behavior syntax
- [Life Arcs Reference](../reference/13-life-arcs.md) - Life arc syntax
