Skip to content

v0.4.0

Choose a tag to compare

@tronmongoose tronmongoose released this 19 Apr 14:15
· 17 commits to main since this release
b8c693e

What's new in 0.4.0

First release with a formal pluggable backend contract: authority_runtime.backends.Backend is now a runtime_checkable Protocol that any identity source can implement to plug into Carryall.

Highlights

  • Backend Protocol + load_backend() — codifies the seven-method contract MemoryBackend/SlosBackend already satisfy. Config-driven loading via CARRYALL_SLOS_CONFIG resolves backends by built-in name, entry-point registration, or dotted path.
  • FakeCompiler — deterministic, rule-based LLMCompiler subclass. No API key required. Keeps the same subset-validation guarantees as the OpenAI/Anthropic compilers. Ideal for CI and offline quickstarts.
  • examples/quickstart_memory.py — full intent → compiled scopes → signed envelope → access-check loop, runnable in under a second after pip install authority-runtime.
  • Entry-point registration — the built-in memory and slos backends ship under the authority_runtime.backends entry-point group. Third-party adapters register alongside: see carryall-baton-backend for a ConductorOne Baton reference adapter.

Compatibility

Fully backward compatible. Decision / PolicyResult / DocumentMetadata moved to backends/base.py and are still re-exported from backends/slos.py. Configs without a "backend" key continue to instantiate a SlosBackend.

Tests

392 passing.

See PR #2 for the full diff.