effectus

module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 2, 2026 License: MIT

README

Effectus

Effectus logo

Effectus compiles .eff and .effx rules to checked protobuf IR. The runtime executes checked rules through one durable engine.

Start here

Choose one first-run path in the Getting Started guide:

Path Choose it when
Embedded Go A Go service owns rules, handlers, and process lifecycle
Durable Docker Execution state and business effects must survive service restarts

Both paths use the same order-review rule and scenario artifact. Each path proves matching replay and one business review.

Production boundary

Effectus controls durable admission and internal execution state. It does not make an external service transactional.

External services must enforce the supplied idempotency key or fencing token. Compensation is recovery work, not an ACID rollback.

Read Runtime Guarantees before a production deployment.

Install

Use binaries, checksums, SBOMs, signatures, and images from the latest release.

Do not use a mutable @main Go dependency for production. Pin a release tag or commit.

Documentation

Development

See CONTRIBUTING.md for repository workflows and test requirements.

License

Effectus uses the MIT license. See LICENSE.

Directories

Path Synopsis
Package bundle defines the portable source input to checked compilation.
Package bundle defines the portable source input to checked compilation.
cmd
effectusc command
Command effectusc validates source bundles and emits checked IR.
Command effectusc validates source bundles and emits checked IR.
effectusd command
Command effectusd runs one immutable source bundle through one checked generation.
Command effectusd runs one immutable source bundle through one checked generation.
compat
v03/embedded
Package embedded preserves the v0.3 embedded vocabulary during migration.
Package embedded preserves the v0.3 embedded vocabulary during migration.
v03/executorhttp
Package executorhttp preserves the v0.3 HTTP business-executor handler API.
Package executorhttp preserves the v0.3 HTTP business-executor handler API.
v03/invocation
Package invocation preserves the v0.3 invocation vocabulary during migration.
Package invocation preserves the v0.3 invocation vocabulary during migration.
Package embedded executes one immutable source bundle in-process.
Package embedded executes one immutable source bundle in-process.
examples
embedded_orders command
grpc_execution command
standalone_executor command
bundle.go creates the source bundle used by the standalone order-review demo.
bundle.go creates the source bundle used by the standalone order-review demo.
Package executorhttp adapts an Effectus HTTP verb target to a Go handler.
Package executorhttp adapts an Effectus HTTP verb target to a Go handler.
gen
internal
demo/orderreview
Package orderreview contains test-only helpers for the shared first-run scenario.
Package orderreview contains test-only helpers for the shared first-run scenario.
guardrails
Package guardrails implements repository surface-area checks.
Package guardrails implements repository surface-area checks.
guardrails/cmd command
Package invocation defines metadata that must cross every external effect boundary.
Package invocation defines metadata that must cross every external effect boundary.
Package ir defines Effectus's callback-free, checked execution representation.
Package ir defines Effectus's callback-free, checked execution representation.
expression
Package expression defines the narrow contracts used by expression clients.
Package expression defines the narrow contracts used by expression clients.
fencing
Package fencing defines resource leases that issue fencing tokens.
Package fencing defines resource leases that issue fencing tokens.
ledger
Package ledger defines durable execution admission and recovery contracts without database or queue implementations.
Package ledger defines durable execution admission and recovery contracts without database or queue implementations.
workflow
Package workflow defines durable saga and outbox contracts without storage implementations.
Package workflow defines durable saga and outbox contracts without storage implementations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL