In this section: Hands-On Examples
- Chapter 4 Feature Flag Evaluator Tutorial
- Chapter 5 Post Fetcher Runtime Tutorial
- Chapter 6 Universal Microservices Architecture (UMA) Portability Lab Tutorial
- Chapter 7 Metadata Orchestration Tutorial
- Chapter 8 Service Graph Evolution Tutorial
- Chapter 9 Trust Boundaries Tutorial
- Chapter 10 Architectural Tradeoffs Tutorial
- Chapter 11 Evolution Without Fragmentation Tutorial
- Chapter 12 Discoverable Decisions Tutorial
- Chapter 13 Portable MCP Runtime Tutorial
Chapter 11 UMA code example
Evolution without fragmentation tutorial
This tutorial shows what happens after deployment. You will follow drift, duplicated behavior, version sprawl, and runtime-governed recovery without pretending every system can be rewritten.
Use the links here to move between the evolution chapters without burying the learning path in the footer.
What you will learn
- how locally valid changes create fragmentation over time
- why versioning needs explicit coexistence rules
- how runtime governance supports brownfield adoption
Prerequisites
- Rust 1.76 or newer
- Node.js 20 or newer
- a checkout of the repository
Full tutorial
- Enter the example
cd chapter-11-evolution-without-fragmentation - List the evolution labs
./scripts/list_labs.sh - Validate the contract anchor
./scripts/validate_evolution.sh lab1-contract-anchor - Run the coherent baseline
./scripts/run_evolution_demo.sh lab1-contract-anchor - Inspect behavioral drift
./scripts/diff_evolution.sh lab1-contract-anchor lab2-behavioral-drift - Run duplicate implementations
./scripts/run_evolution_demo.sh lab3-duplicate-implementations - Run governed coexistence
./scripts/run_evolution_demo.sh lab5-runtime-governed-coexistence - Run the full smoke path
./scripts/smoke_evolution_labs.sh
What to inspect
After each command, look for these proof points. They are the signals that connect the code example back to the UMA architecture claim.
- Verdict
- behavioral_drift
- duplicate_behavior
- version_fragmentation
- Runtime Decisions
Acceptance check
The chapter-level validation path is:
./scripts/smoke_evolution_labs.sh
Return to the repository root for the final acceptance gate:
cd ..
./scripts/smoke_reader_paths.sh
Where to go next
Chapter 12 turns runtime decisions into discoverable artifacts.