๐งฑOne PrimitiveEvery resilience pattern is an Option: func(ctx, call) error. Retry, backoff โ ready. Timeout, circuit breaker, rate limiter โ same shape, planned.
๐ชถZero Dependencies (target)Target architecture: zero-dependency core, OTEL and future plugins in separate Go modules. Blocked on multimod (extracted to standalone repo) โ today everything lives in one module. Tracking in devlog #3.Why it's blocked โ
๐Two Extension PointsOption controls execution (per-call). Plugin observes execution (shared state). Two words, two contracts, no confusion.
๐OTEL Metrics Built-inrsotel.Plugin() โ one line. Calls, errors, retries, backoff waits โ all metered. No OTEL SDK? Zero overhead (no-op instruments).
๐ฏPer-Call StateEach Do() gets fresh Options. No shared mutable state. No data races by construction, not by mutex.
๐งActive DevelopmentBorn from killing a 1500-line framework inside autosolve. Retry and backoff are battle-tested. Circuit breaker, rate limiter, bulkhead โ planned. This is a growing toolkit, not a finished product.See the roadmap โ