Skip to content

Efficiency Patterns

Patterns for avoiding unnecessary work and ensuring safe retries.

Two Strategies

Idempotency makes reruns safe. Work avoidance prevents reruns entirely. Use both together for maximum efficiency.


Overview

Efficiency patterns optimize what your automation does and whether it needs to do it.

Pattern When to Use Strategy
Idempotency Operations may be retried Same input = same result
Work Avoidance Results can be cached Skip if already done

Decision Flow

flowchart TD
    A[Operation Request] --> B{Already done?}
    B -->|Yes| C[Work Avoidance: Skip]
    B -->|No| D{May be retried?}
    D -->|Yes| E[Idempotency: Safe retry]
    D -->|No| F[Execute normally]

    %% Ghostty Hardcore Theme
    style A fill:#65d9ef,color:#1b1d1e
    style B fill:#fd971e,color:#1b1d1e
    style C fill:#a7e22e,color:#1b1d1e
    style D fill:#fd971e,color:#1b1d1e
    style E fill:#a7e22e,color:#1b1d1e
    style F fill:#9e6ffe,color:#1b1d1e

Quick Reference

Scenario Pattern Reasoning
Re-running same operation Idempotency Same result every time
Resource already exists Idempotency Create-or-update safely
Content unchanged Work Avoidance Skip unnecessary work
Build artifact cached Work Avoidance Reuse previous results

Key Difference

Aspect Idempotency Work Avoidance
Goal Safe to retry Avoid doing work
Mechanism Deterministic result Change detection
Trade-off Complexity vs reliability Cache invalidation vs speed

Idempotency makes retries safe. Work avoidance makes retries unnecessary.

Comments