feat(sentinel): Agent Sentinel as a clean, signed TRACE Level 0 integration#53
Merged
Merged
Conversation
…integration Carries forward the Agent Sentinel work from the closed #7 and consolidates it under integrations/sentinel/, removing the stale top-level sentinel/ tree (wrong src/ layout, committed bytecode) that the earlier merge left on main. Resolves the review blockers from #7: - manifest: drop unschemad maintainer.name, fix integrates_with to the trace enum, tighten the description, declare trace_conformance_level 0 - fix the sentinel package import (main.py now uses sentinel.models) and remove the divergent sibling schemas.py and the dead duplicate delegation detector - Dockerfile/README/compose off the dead src.* layout; drop the absolute local path; document the required signing key - requirements: httpx (not httpx2), add cryptography and PyJWT Security fixes: - fail closed: a detector exception now forces DENY instead of being swallowed into an ADMIT (risk_engine) - real signing: every enforcement emits an Ed25519-signed TRACE v0.1 JWT, conformant at Level 0, offline-verifiable against cnf.jwk; signing is mandatory (TRACE_PRIVATE_KEY_PEM) and generation fails closed without a key Tests: manifest validates against the integration schema; pytest covers the detector, the health endpoint, TRACE Level 0 conformance (agentrust-trace-tests), and signature verification. All green. Co-authored-by: akhil <warikakhilesh@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Carries the Agent Sentinel work forward from the now-closed #7 (a1k7), consolidated under
integrations/sentinel/and finished to a mergeable, non-overclaiming state. Credited to the original author viaCo-authored-by.Why a fresh PR
#7 had gone quiet with six open blockers plus two security defects, and
mainstill carries the messy top-levelsentinel/tree (wrongsrc/layout, committed bytecode) from the earlier merge. This branch removes that tree and lands a single clean copy.Review blockers from #7, resolved
maintainer.name, fixedintegrates_withto thetraceenum, tightened the description, declaredtrace_conformance_level: 0.sentinelpackage import (main.pynow usessentinel.models); removed the divergent siblingschemas.pyand the dead duplicate delegation detector.src.*layout; removed the absolute local path; documented the signing key.httpx(nothttpx2), addedcryptographyandPyJWT.sentinel/tree and all committed bytecode; added a.gitignore.Security fixes (both design calls confirmed with the maintainer)
DENYinstead of being swallowed into anADMIT(risk_engine).cnf.jwk. Signing is mandatory (TRACE_PRIVATE_KEY_PEM); generation fails closed with no key rather than emitting an unsigned record.Validation (local)
schema/integration.schema.json(OK sentinel).pytestgreen: detector, health endpoint, TRACE Level 0 conformance (agentrust-trace-testsTR-ENV/TR-SIG/TR-POL), and signature verification. 7 passed.Note for the maintainer
Starlette's
TestClientnow emits a deprecation warning suggestinghttpx2, so the earlier "unvetted lookalike" read onhttpx2may be worth revisiting. Tests pass onhttpx, which I kept as the trusted package.Closes #7 in spirit (already closed).