Checks
A check is a named validation step that a participant must pass to unlock the next chapter.
Check struct
type Check struct {
Description string
Run func(context.Context) error
Timeout time.Duration // 0 = no limit per attempt
Retries int // additional attempts after first failure (0 = run once)
RetryDelay time.Duration // pause between retries (0 = no delay)
}Descriptionis shown in CLI output next to the pass/fail icon.Runis anyfunc(context.Context) error. Returnnilto pass; return a non-nil error to fail with that message. WhenTimeoutis set, the context passed toRuncarries the per-attempt deadline — pass it to any blocking calls so they can be cancelled.Timeout,Retries,RetryDelayare optional — useful for checks that need to wait for services to start.