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 5 UMA code example
Post fetcher runtime tutorial
This tutorial shows what the UMA runtime layer owns around a pure service: validation, adapter selection, deterministic event ordering, and lifecycle evidence.
Use the links below to move through the tutorial sequence without dropping to the footer first.
What you will learn
- what belongs in service logic versus runtime logic
- why validation should stop execution before side effects happen
- how lifecycle metadata records the network.fetch adapter binding
Prerequisites
- Rust 1.77 or newer
- cargo
- jq
- Node.js and npm for TypeScript parity
Full tutorial
- Enter the example
cd chapter-05-post-fetcher-runtime - List the guided labs
./scripts/list_labs.sh - Run the golden cloud host path
./scripts/run_lab.sh lab1-cloud-golden-path - Run fail-fast header validation
./scripts/run_lab.sh lab2-header-validation-fail-fast - Inspect adapter binding and wrappers
./scripts/run_lab.sh lab3-adapter-binding-and-wrappers - Verify Rust and TypeScript parity
./scripts/run_lab.sh lab4-rust-ts-parity - Run the chapter smoke path
./scripts/smoke_runtime_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.
- output.events
- lifecycle.bindings
- final lifecycle.state
Acceptance check
The chapter-level validation path is:
./scripts/smoke_runtime_labs.sh
Return to the repository root for the final acceptance gate:
cd ..
./scripts/smoke_reader_paths.sh
Where to go next
Chapter 6 proves portability across native and WASI targets.