Skip to content

[Example] Add RuntimeHooks observability example #24

@Acacian

Description

@Acacian

What

Add an example script (examples/hooks_demo.py) showing how to use RuntimeHooks for observability.

Why

RuntimeHooks (on_decision, on_approval, on_execute) were added in v0.1.3 but don't have a standalone example. This is one of Aegis's most useful features for production monitoring.

Expected example

from aegis import Action, Policy, Runtime
from aegis.runtime.engine import RuntimeHooks

async def on_decision(decision):
    print(f"[DECISION] {decision.action.type}{decision.approval.value}")

async def on_execute(result):
    print(f"[EXECUTED] {result.action.type}{result.status.value}")

hooks = RuntimeHooks(on_decision=on_decision, on_execute=on_execute)
runtime = Runtime(executor=..., policy=..., hooks=hooks)

Acceptance criteria

  • examples/hooks_demo.py runs without errors
  • Shows all 3 hook types (on_decision, on_approval, on_execute)
  • Added to examples/README.md
  • Uses AutoApprovalHandler so it runs non-interactively

Difficulty

Beginner — copy patterns from existing examples.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions