NthLayer override-event sidecar — HTTP → gen_ai.override OTel span bridge
Project description
nthlayer-override-adapter
Standalone HTTP sidecar that accepts human-override events and emits them as gen_ai.override OTel spans. Part of the NthLayer ecosystem; implements opensrm-jmy.7 — § 4 of NTHLAYER_MISSING_CAPABILITIES_SPEC.md.
Why
nthlayer-measure computes judgment SLOs from override metrics consumed via OTel. Operators reviewing AI decisions live in heterogeneous tools (Slack, Jira, internal review UIs, email). The override-adapter is the translation layer: HTTP in, canonical OTel gen_ai.override events out.
Endpoints
POST /api/v1/overrides— canonical OverrideEvent JSON in.POST /api/v1/overrides/batch—{overrides: [...]}with last-in-array-wins on duplicatedecision_id.POST /webhook/{source}— one route per configured adapter; runs a YAML-declared field mapping on the inbound webhook payload.GET /healthz— liveness probe.GET /metrics— Prometheus self-observability.
Run locally
uv sync --extra dev
uv run nthlayer-override-adapter serve --config override-adapter-config.yaml
See override-adapter-config.yaml.example for a Jira-shaped adapter declaration.
Tests
uv run pytest -q
uv run ruff check src/ tests/
Ecosystem testing conventions: ../nthlayer/docs/testing.md.
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 nthlayer_override_adapter-0.2.0.tar.gz.
File metadata
- Download URL: nthlayer_override_adapter-0.2.0.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7a27d20317b4b47dd93b8cfd64000b7db54c395096c4e5d8c0a12ae709fa5ac
|
|
| MD5 |
3d221933bf99055f245f22f571c4ed2a
|
|
| BLAKE2b-256 |
c4d9291e388ee27c347151a123da4971b248017314e55cb0e9e063c4f3ccf44e
|
Provenance
The following attestation bundles were made for nthlayer_override_adapter-0.2.0.tar.gz:
Publisher:
release.yml on rsionnach/nthlayer-override-adapter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nthlayer_override_adapter-0.2.0.tar.gz -
Subject digest:
d7a27d20317b4b47dd93b8cfd64000b7db54c395096c4e5d8c0a12ae709fa5ac - Sigstore transparency entry: 1962624016
- Sigstore integration time:
-
Permalink:
rsionnach/nthlayer-override-adapter@03e060c850f18db14d181bdbd0dbeba84cdf2cd0 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/rsionnach
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@03e060c850f18db14d181bdbd0dbeba84cdf2cd0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nthlayer_override_adapter-0.2.0-py3-none-any.whl.
File metadata
- Download URL: nthlayer_override_adapter-0.2.0-py3-none-any.whl
- Upload date:
- Size: 17.2 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 |
6f75ddcaedff803bf8e4601713ffdd7c12c6cfb0ed463a7cc3d35b09d4e112f0
|
|
| MD5 |
329deec947e6e001757f4099be2c5f06
|
|
| BLAKE2b-256 |
2054f9ed62e30fe713c12aa42b30c46837043ff942767abeb2b0953abd8d2957
|
Provenance
The following attestation bundles were made for nthlayer_override_adapter-0.2.0-py3-none-any.whl:
Publisher:
release.yml on rsionnach/nthlayer-override-adapter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nthlayer_override_adapter-0.2.0-py3-none-any.whl -
Subject digest:
6f75ddcaedff803bf8e4601713ffdd7c12c6cfb0ed463a7cc3d35b09d4e112f0 - Sigstore transparency entry: 1962624096
- Sigstore integration time:
-
Permalink:
rsionnach/nthlayer-override-adapter@03e060c850f18db14d181bdbd0dbeba84cdf2cd0 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/rsionnach
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@03e060c850f18db14d181bdbd0dbeba84cdf2cd0 -
Trigger Event:
push
-
Statement type: