Effectus¶
Effectus compiles typed rules into checked protobuf IR. The runtime executes that IR through one durable engine.
Use Effectus when¶
- You need static checks for facts, verbs, bindings, and declared types.
- You need one execution model across HTTP, Kafka, gRPC, and recovery.
- You need immutable runtime generations with atomic activation.
- You need durable admission, saga state, recovery, and audit data in PostgreSQL.
- You need signed OCI bundles and explicit deployment boundaries.
Execution boundary¶
Effectus controls admission and internal execution state. It does not make an external service transactional.
External systems must enforce each supplied idempotency key or fencing token. Compensation is recovery work, not an ACID rollback.
Read Runtime Guarantees before a production deployment.
Select a first-run path¶
-
:material-language-go:{ .lg .middle } Embedded Go
Run checked rules and business handlers in one Go process. The demo state is ephemeral.
-
:material-docker:{ .lg .middle } Durable Docker
Run
effectusd, PostgreSQL, and a separate business executor. The demo proves restart-safe replay.
Production path¶
The production path has one checked boundary:
.eff and .effx sources
|
v
compiler.CompileChecked
|
v
checked protobuf IR
|
v
runtime.Engine.Execute
|
+--> HTTP
+--> Kafka
+--> generated gRPC
+--> recovery
Unsupported production paths fail with explicit errors. Compatibility APIs do not replace the checked runtime boundary.
Documentation map¶
| Task | Document |
|---|---|
| Choose library or daemon mode | Integration guide |
Configure effectusd |
Runtime configuration |
| Integrate a client | gRPC execution and client examples |
| Add a source | Fact sources |
| Add an executor | Extension system |
| Understand durability | Runtime guarantees |
| Operate production | Production runbook |
| Understand sagas | Durable saga protocol |
| Review architecture | Architecture |