Welcome to Agento

Agento Kernel v0.3: Temporal Workflow Engine, Skill Registry & RBAC Audit Layer
Product

Agento Kernel v0.3: Temporal Workflow Engine, Skill Registry & RBAC Audit Layer

The largest infrastructure release since launch. Kernel v0.3 replaces the in-memory task queue with Temporal, introduces the versioned Skill Registry, and ships a full RBAC audit layer with structured JSON logging and sink integrations for Datadog, Splunk, and CloudWatch.

Temporal Workflow Engine

Why We Replaced the v0.2 Task Queue

The v0.2 in-memory task queue was sufficient for single-session, short-duration workflows. It was not sufficient for workflows spanning multiple hours or days (e.g., waiting for human approval), fault recovery (if the orchestration service restarted, in-flight workflows were lost), or parallel branching (the queue was linear; branching required custom logic in every workflow definition).

Temporal solves all three. It provides durable execution state, automatic activity retry with configurable backoff, workflow versioning, and a Web UI for workflow visibility.

Key Temporal Capabilities Now Available

Durable timers: await asyncio.sleep(timedelta(days=2)) that survive service restarts. No polling. No cron workarounds.
Signals: send external events into running workflows. Engineer approval triggers workflow.signal() and resumes the paused workflow immediately.
Queries: inspect running workflow state without interrupting execution. Useful for status dashboards and audit integrations.
Child workflows: decompose complex workflows into reusable, independently versioned sub-workflows.
Schedule triggers: cron-based workflow scheduling via Temporal Schedules. No external scheduler required.

Deployment Configuration

# agento-kernel-config.yaml
temporal:
  mode: cloud         # or "self-hosted"
  endpoint: "your-namespace.tmprl.cloud:7233"
  namespace: "agento-production"
  tls: true
  api_key: ${TEMPORAL_API_KEY}

Temporal is deployed as a sidecar to the Agento Kernel. The default configuration uses Temporal Cloud. Self-hosted Temporal (Docker or Kubernetes, Server v1.24+) is supported from v0.3.1.

Skill Registry

The skill registry is a versioned catalogue of agent capabilities. Each "skill" is a self-contained unit of agent behaviour: a prompt template, a set of allowed tools, an output schema, and an execution config. Skills can be published (available to all workflows), scoped (restricted to specific projects or teams), or versioned (pinned in a workflow definition to prevent silent behaviour changes on updates).

from agento.skills import SkillRegistry

registry = SkillRegistry()

registry.register(
    skill_id="bess_commissioning_retrieval",
    version="1.2.0",
    description="Retrieves BESS commissioning test data from ACC",
    allowed_connectors=["acc", "sharepoint"],
    prompt_template="skills/bess_retrieval.jinja2",
    output_schema=BESSTestDataSchema,
    rbac_scope="engineering.commissioning"
)

# Invoke from a workflow activity
@activity.defn
async def retrieve_test_data(input):
    skill = registry.get("bess_commissioning_retrieval",
                         version="1.2.0")
    return await skill.execute(input)

Skills can be updated without restarting the Kernel service. Running workflows continue on their pinned version; new executions pick up the latest (or a specified version if pinned in the workflow definition).

RBAC Audit Layer

Every agent action in v0.3 produces a structured audit event written to the Agento Audit API and any configured sink integrations:

{
  "event_id": "evt_01HVKM3X9XQPZ8R7N4T",
  "timestamp": "2026-04-15T09:23:41.842Z",
  "workflow_id": "bess-commissioning-wf-2026-04-15",
  "activity_id": "retrieve_acc_test_data",
  "agent_id": "retrieval-agent-v1",
  "action": "document_read",
  "resource": {
    "connector": "acc",
    "project_id": "proj_abc123",
    "document_id": "doc_xyz789",
    "document_name": "BESS-TR-001-TestSheet-Rev2.pdf"
  },
  "rbac_scope": "engineering.commissioning",
  "user_context": {
    "initiated_by": "user_j_morrison",
    "on_behalf_of": "project_alpha"
  },
  "result": "success",
  "latency_ms": 342
}

Permissions are enforced at three levels:

LevelScopeExample
PlatformGlobal agent permissionsWhich connectors any agent may use
OrganisationTeam-level permissionsEngineering team may access ACC; Finance may not
WorkflowPer-workflow permissionsBESS workflow may only read documents, not write

Audit log sinks: Datadog (GA), CloudWatch (GA), Splunk (beta, see known limitations), and generic webhook.

Migration Guide: v0.2 → v0.3

Task Queue → Temporal

Before (v0.2):

@agento.task
async def my_workflow(input: WorkflowInput):
    result_a = await task_queue.run(step_a, input)
    result_b = await task_queue.run(step_b, result_a)
    return result_b

After (v0.3):

@workflow.defn
class MyWorkflow:
    @workflow.run
    async def run(self, input: WorkflowInput):
        result_a = await workflow.execute_activity(
            step_a, args=[input],
            start_to_close_timeout=timedelta(minutes=5)
        )
        result_b = await workflow.execute_activity(
            step_b, args=[result_a],
            start_to_close_timeout=timedelta(minutes=5)
        )
        return result_b

Breaking Changes

agento.task decorator removed; replace with @workflow.defn + @activity.defn
WorkflowRunner.run_sync() removed; workflows must now be submitted via WorkflowClient
In-memory skill cache removed; all skills must be registered in the Skill Registry before use
AgentContext.permissions is now AgentContext.rbac_scope (string, not list)

Known Limitations in v0.3

Temporal self-hosted requires Temporal Server v1.24+
Skill registry hot-swap has a 30-second propagation delay in multi-instance Kernel deployments
Splunk audit sink is in beta, not recommended for production compliance use cases until v0.3.1
Child workflow support requires Temporal Cloud; not yet available for self-hosted in v0.3.0

Coming in v0.4

UI Operator skill: browser and desktop automation for systems without APIs
Connector SDK: build custom connectors without forking the Kernel
Workflow template library: pre-built, configurable workflows for common engineering use cases
Cost tracking per workflow: token usage, API call count, latency per execution
Back to all articles