Skip to content

docs: add "Why kernel enforcement, not a container per agent" positioning - #62

Merged
tattoosonmyskin merged 1 commit into
mainfrom
docs/positioning-kernel-vs-container
Jul 26, 2026
Merged

docs: add "Why kernel enforcement, not a container per agent" positioning#62
tattoosonmyskin merged 1 commit into
mainfrom
docs/positioning-kernel-vs-container

Conversation

@tattoosonmyskin

Copy link
Copy Markdown
Contributor

Adds a README positioning section answering Microsoft's Agent Governance Toolkit (AGT) head-on.

Framing (claim-calibrated): AGT already ships per-agent identity, a Merkle tamper-evident ledger, a fail-closed policy engine, and a Rust SDK, so identity/ledger/policy are not the differentiator. The only superiority claim made is the specific bundle: kernel per-action enforcement welded to per-agent identity + a hash-chained ledger, single Linux host, non-K8s, with the agent removed from the verdict path.

Defends four points on merits:

  1. A container isolates a process tree, not a semantic action; it cannot emit a per-action allow/deny verdict bound to a cryptographic agent identity.
  2. A container leaves no per-action, attributable, tamper-evident trace tied to who acted.
  3. One container per agent breaks on spawned subprocesses, executed generated code, and shared hosts; only a kernel hook sees all the syscalls.
  4. AGT's shared process boundary puts a compromised agent between policy and verification; kernel enforcement removes it from that path.

Performance paragraph states the hard constraint: the in-kernel verdict must be a precomputed map lookup, never a userspace roundtrip or on-path solve.

No new capability claims. Anchors to the existing guarantees table and THREAT_MODEL §8. No "formal proof"/"no equivalent exists" language.

🤖 Generated with Claude Code

…ning

Answer Microsoft's Agent Governance Toolkit head-on. AGT ships identity,
Merkle ledger, and a fail-closed policy engine, so those are not the
differentiator. The defensible bundle is kernel per-action enforcement
welded to per-agent identity + hash-chained ledger, single Linux host,
non-K8s, with the agent removed from the verdict path.

Defends four points on merits (container isolates a process tree not an
action; leaves no per-action attributable trace; breaks on subprocesses /
generated code / shared hosts; shared process boundary puts a compromised
agent between policy and verification) and states the performance constraint
(verdict must be a precomputed in-kernel map lookup, never an on-path solve).

No new capability claims; anchors to the existing guarantees table and
THREAT_MODEL §8.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 8, 2026 03:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a README positioning section that contrasts Jinn Guard’s per-action, in-kernel enforcement model with a “one container per agent” approach (including an explicit comparison to Microsoft’s Agent Governance Toolkit), and explains why kernel placement matters for attribution, coverage of subprocesses, and fail-closed enforcement.

Changes:

  • Adds a new README section arguing for kernel per-action enforcement vs. container-per-agent isolation.
  • Describes attribution/audit implications (hash-chained, per-action ledger) and subprocess/host co-tenancy coverage.
  • Adds a performance framing for keeping enforcement on a constant-time in-kernel map lookup.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
Comment on lines +322 to +324
Rust SDK. It is MIT-licensed, Microsoft-signed, and widely adopted. So identity,
ledger, and policy are **not** what sets Jinn Guard apart. AGT has all three, and
in some respects has them further along.
Comment thread README.md
Comment on lines +399 to +405
Per-operation BPF-LSM enforcement adds low-single-digit microseconds when the
verdict is an in-kernel map lookup. For agent workloads that overhead is
effectively free, and not by rounding. Every tool call an agent makes is gated
behind an LLM inference that costs on the order of hundreds of milliseconds to
seconds. That is five to six orders of magnitude more than the entire syscall
sequence the enforcement decision sits on. The governance layer is not on the
critical path in any measurable sense.
@tattoosonmyskin
tattoosonmyskin merged commit 9926e87 into main Jul 26, 2026
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants