Runtime.md
Runtime (seam)
type: seam capacity: BACKBONE tags: [seam, backbone]
Classification
Effect boundary between strategies and the world: Strategy.Runtime holds the pipeline's [[src/PuduLangResilience/Clock|clock]], [[src/PuduLangResilience/Randomizer|randomizer]], and [[src/PuduLangResilience/Telemetry|telemetry reporter]], and is handed to every strategy on attach and on each execution.
Adapters
- System —
Clock.system()andRandomizer.system(), the pipeline defaults. - Manual —
Clock.ofManual,Randomizer.seeded, andRandomizer.fixed, used by every timing and chance test and available to package users.
Health
No strategy sleeps, reads time, or draws randomness except through the runtime. Timeouts and cancellable pauses still use Std.Concurrent.Cancel deadlines on the system clock ([[decisions/ADR-0003-cooperative-cancellation]]).
Referenced by
[[CHANGELOG]] · [[architecture/LANGUAGE]] · [[architecture/_MOC]] · [[decisions/ADR-0002-injected-runtime]] · [[grammar/pudu]] · [[seams/_MOC]] · [[src/PuduLangResilience/Clock]] · [[src/PuduLangResilience/Strategy]] · [[src/PuduLangResilience/_MOC]]
