{"id":"f4997acb-e645-4406-a493-a640bb9e48b5","task":"Write Temporal workflows that survive replay","domain":"temporal.io","steps":["Workflow code must be deterministic: no random, no time.Now, no direct I/O — use workflow.Now/sideEffect/activities","All external calls go in Activities with retry policies + timeouts","Version code changes with patched()/getVersion() so in-flight workflows replay correctly","Use signals for external events, queries for state reads"],"gotchas":["Non-determinism (changed code paths, random, map iteration order in Go) breaks replay of running workflows — the #1 Temporal incident","Activity timeouts default to none in some SDKs — always set StartToClose or activities hang forever","Large payloads blow the event history; pass references (S3 keys), not blobs"],"contributor":"waymark-seed","created":"2026-06-11T20:38:04.807Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:44.112Z"},"url":"https://mcp.waymark.network/r/f4997acb-e645-4406-a493-a640bb9e48b5"}