factum

Event sourcing × Spring × AI agents

Every decision on the record.

Factum is a Spring-native framework for event-sourced microservices and AI agents — zero-server on PostgreSQL, durable workflows whose journal is the event store, and agents that survive an audit.

Get startedExplore the family

The golden path

Spring Data feel.
Event-sourced core.

One starter, a handful of annotations, a working event-sourced entity with a same-transaction projection in under 15 minutes. Domain logic stays plain Java — records, pure functions, no framework types.

And when you need to drop a layer, the functional core under the annotations is public API.

Follow the 15-minute path →
Order.java
@EventSourcedEntity(tag = "order")
class Order {
 
    private boolean placed;
 
    @Decide
    List<Object> handle(PlaceOrder cmd) {
        if (placed) throw new AlreadyPlaced(cmd.orderId());
        return List.of(new OrderPlaced(cmd.orderId(), cmd.totalCents()));
    }
 
    @Evolve
    void on(OrderPlaced e) { placed = true; }
}

Why Factum

Audit, replay, recovery, and explainability — as properties, not projects.

Zero-server on PostgreSQL

The full loop — event store, projections, workflows, agents, timers, outbox — runs on the database you already trust. No proprietary server, no broker for the dev loop.

factum.store: postgres

Agents that survive an audit

Every prompt, tool call, guardrail verdict, and human approval is an immutable event. Durable, resumable, replayable, budgeted — compliance by construction, not by retrofit.

agent.ApprovalGranted {actor, payload_hash}

Workflows on the journal

Durable workflow-as-code whose history IS the domain event store. Process state is queryable SQL, never an opaque blob.

ctx.awaitApproval(…)

Boundaries that bend

Dynamic Consistency Boundaries: the aggregate becomes a special case, and the wrong boundary becomes a reviewable diff.

@Decide(tags = {…})

Apache-2.0, forever

The framework — including production persistence — is permissively licensed for good. Enterprise sells governance, never permission to run.

LICENSE: Apache-2.0

The journal

Written like we build.

All articles

Briefings

The case, argued for your role.

Licensing

Free framework. Fair product licenses.

Each product licenses per user, per month, on top of the free framework. We are onboarding early customers. Design partners license at 50% of list, locked for 24 months.

  • Factum Banking SDK$50/user/mo
  • Factum Agents$40/user/mo
  • Factum Financial$20/user/mo
  • Factum Platform bundle$90/user/mo

Put your system on the record.

Release notes, deep dives, and migration guides — a few times a quarter, never more.