Design Philosophy

Republic is not trying to take over application logic. It provides a predictable, replayable, and evolvable set of building blocks.

1. Slow is Fast

Define data boundaries and execution traces first, then optimize without rework.

2. Plain Python First

Use ordinary functions, branches, and tests to organize intelligent workflows.

3. Structured over Clever

Use one structured return shape and stable error kinds so callers can make explicit decisions.

4. Tape as Evidence

Each run has an evidence chain: input, output, tools, errors, usage, and events.

5. Small Surface, Strong Composition

Keep the core interfaces small, but composable into complex workflows.