Skip to content

Enoch v0.4.0

Choose a tag to compare

@peking2 peking2 released this 30 Jul 07:10
9f95fc2

Enoch v0.4.0

Enoch v0.4.0 establishes a public agent-composition boundary. Descendants can
now add durable domain capabilities as independently packaged agent extensions
while Enoch remains the single owner of providers, authorization, polling,
workflow execution, recovery, publication, and delivery.

Highlights

  • Added the versioned AgentExtension API with namespaced private state and
    artifacts, capability-governed commands, lifecycle hooks, /help
    integration, entry-point discovery, and explicit configuration.
  • Added ExtensionWorkflow, a constrained façade over Enoch's governed
    workflow. Extension commands retain task provenance and may use stable,
    domain-derived idempotency keys for retries and multi-task fan-out.
  • Added durable extension task events for queued, started, completed,
    failed, and cancelled work. Events carry stable identities plus result,
    failure, revision, review, and runtime-output evidence.
  • Added ordered, extension-scoped delivery receipts. A hook failure, restart,
    or crash before receipt replays the same event ID, providing an explicit
    at-least-once contract for idempotent downstream consumers.
  • Made process startup hooks independent of chat locks and notification
    delivery, with exactly one on_startup invocation per application process.
  • Added AgentExtensionConformanceMixin and ExtensionCommandCase so
    independently packaged extensions can verify API compatibility, discovery,
    storage isolation, lifecycle behavior, and governed task submission.
  • Expanded the offline installation E2E to build and install an independent
    extension wheel, discover it by entry point and configuration, complete its
    work, and observe its durable completion event.
  • Added active extension names and API versions to /status, and documented
    the stable profile/extension boundary and trusted-code model.

Validation

  • The 770-test Enoch body suite passes.
  • All 72 reference provider and library tests pass independently.
  • The Genesis cross-artifact gate creates and validates a fresh descendant from
    the v0.4.0 body.
  • GitHub Actions covers Python 3.11, 3.12, 3.13, and 3.14.

Compatibility

  • Python 3.11 or newer.
  • genesis.toml schema version 1.
  • Agent Extension API version 1.
  • Workflow API version 3.
  • Profile API version 5.
  • Provider-kit 0.7.0.
  • Genesis v0.1.1 or a later compatible build.
  • Existing installations select no extensions by default and retain their
    current behavior.
  • Extension packages are trusted Python code rather than sandbox boundaries.
  • Durable task-event delivery is at least once. Consumers must apply stable
    event IDs idempotently because a crash can occur after the extension changes
    its state but before Enoch records the success receipt.

Credentials, memories, logs, chat identifiers, task state, extension state,
and instance configuration remain outside both the public source archive and
the inheritable software body.