Lifecycle event observability feature for Kestrel Sovereign — hook-driven logging with shared Prometheus registry
Project description
kestrel-feature-observability
Lifecycle event observability for Kestrel Sovereign agents. Attaches an ObservabilityHook to the agent's hook system; every lifecycle event is logged to the agent's observability_store. Prometheus metrics emit through the SDK's shared registry, so a single /metrics scrape stays coherent across the framework + every feature package.
Installation
uv pip install kestrel-feature-observability
For real Prometheus output:
uv pip install 'kestrel-feature-observability[metrics]'
The feature is auto-discovered by Kestrel Sovereign via the kestrel_sovereign.features entry point — install it alongside kestrel-sovereign and ObservabilityFeature registers itself at startup.
Tools
| Tool | Category | Description |
|---|---|---|
observability_summary |
DATA_ACCESS | Recent metric and error counts |
observability_query |
DATA_ACCESS | Query lifecycle events by type and time window |
observability_session |
DATA_ACCESS | Per-session event timeline |
Privacy
The hook is observational — it never blocks, denies, or modifies. User-message content is not logged (only length); tool errors are truncated to 200 chars; exceptions in the hook are swallowed so they cannot affect agent operation.
Dependencies
kestrel-sovereign-sdk>=0.3,<1— baseFeature,tool,ToolCategory,Hook, and sharedmetricsmodule- Optional
[metrics]extra →kestrel-sovereign-sdk[metrics]→prometheus-client
No runtime dependency on kestrel-sovereign itself; the feature accesses agent.observability_store via duck typing, so it works against any host that provides one.
Development
uv pip install -e '.[test]'
uv run pytest
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kestrel_feature_observability-0.1.0.tar.gz.
File metadata
- Download URL: kestrel_feature_observability-0.1.0.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ce3553f9f6b735a3f16346d2e2074bd8e7462ca7b0bdb5bfe675b078397ecd8
|
|
| MD5 |
d39629a44f91cb05974d02ef4b13a056
|
|
| BLAKE2b-256 |
4db95e7b955987f0025b6089226a17e1d91c5fa45a87dea2adab458bf5809af4
|
Provenance
The following attestation bundles were made for kestrel_feature_observability-0.1.0.tar.gz:
Publisher:
publish.yml on KestrelSovereignAI/kestrel-feature-observability
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kestrel_feature_observability-0.1.0.tar.gz -
Subject digest:
0ce3553f9f6b735a3f16346d2e2074bd8e7462ca7b0bdb5bfe675b078397ecd8 - Sigstore transparency entry: 1461561022
- Sigstore integration time:
-
Permalink:
KestrelSovereignAI/kestrel-feature-observability@c23987f6b40ef1724a5891e0b49d0f6853ba7805 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/KestrelSovereignAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c23987f6b40ef1724a5891e0b49d0f6853ba7805 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kestrel_feature_observability-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kestrel_feature_observability-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d6302521d27836b3264e564f4048858535f11889f1008ce51ff5e0f5b8ef3b3
|
|
| MD5 |
4914de2dd73bb9fd022f8a20d9fdbcab
|
|
| BLAKE2b-256 |
03c38048b8ca32d21cf1b0812439bca61f27b5c6ae7fe1456b87405b8a06f454
|
Provenance
The following attestation bundles were made for kestrel_feature_observability-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on KestrelSovereignAI/kestrel-feature-observability
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kestrel_feature_observability-0.1.0-py3-none-any.whl -
Subject digest:
6d6302521d27836b3264e564f4048858535f11889f1008ce51ff5e0f5b8ef3b3 - Sigstore transparency entry: 1461561084
- Sigstore integration time:
-
Permalink:
KestrelSovereignAI/kestrel-feature-observability@c23987f6b40ef1724a5891e0b49d0f6853ba7805 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/KestrelSovereignAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c23987f6b40ef1724a5891e0b49d0f6853ba7805 -
Trigger Event:
push
-
Statement type: