Skip to content

docs: add AI Agent Runtime capability page (Agent Sessions API) - #2345

Open
wasaga wants to merge 5 commits into
mainfrom
wasaga/agentic-runtime-capability
Open

docs: add AI Agent Runtime capability page (Agent Sessions API)#2345
wasaga wants to merge 5 commits into
mainfrom
wasaga/agentic-runtime-capability

Conversation

@wasaga

@wasaga wasaga commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new capabilities page, Run AI Agents in Isolated Sandboxes (/docs/capabilities/agentic-runtime), documenting the agentic runtime: run identity, the Agent Sessions API, and the sandbox model.

The page is written for a reader who has never heard of Pomerium. It opens with the problem (agents take instructions from untrusted text, so a key given to an agent is a key given to its input), then walks the stack bottom-up: Pomerium as the policy-enforcing gateway with gateway-side secret injection (${secret.…} references), run identity binding a human approval to an attested pod (act.* claims, bearer_token_format: agentic_run_token), the two-container sandbox pod built on Kubernetes agent-sandbox, the Agent Sessions API (sessions/turns/events), client tiers (SDKs, companion, polling), a compromised-component analysis, and positioning.

Includes two D2-sourced SVG diagrams (committed with their .d2 sources, house style), two mermaid sequence diagrams, sidebar registration, and llms-txt route entries.

Docs link: https://deploy-preview-2345--pomerium-docs.netlify.app/docs/capabilities/agentic-runtime

AI disclosure

Claude Code drafted the page and diagrams.

Checklist

  • reference any related issues
  • disclosed AI usage (or wrote "none") per AI_POLICY.md

@netlify

netlify Bot commented Aug 12, 2026

Copy link
Copy Markdown

Deploy Preview for pomerium-docs ready!

Name Link
🔨 Latest commit 484aa80
🔍 Latest deploy log https://app.netlify.com/projects/pomerium-docs/deploys/6a7d06fd2ae5450008e79163
😎 Deploy Preview https://deploy-preview-2345--pomerium-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@wasaga
wasaga marked this pull request as ready for review August 12, 2026 18:25
@wasaga
wasaga requested a review from a team as a code owner August 12, 2026 18:25
@wasaga
wasaga requested review from nickytonline and removed request for a team August 12, 2026 18:25
@greptile-apps

greptile-apps Bot commented Aug 12, 2026

Copy link
Copy Markdown

Greptile Summary

Adds an early-access AI agent runtime capability page and registers it in site navigation and LLM-facing documentation outputs.

  • Documents run identity, sandbox isolation, Agent Sessions API behavior, client options, and component compromise boundaries.
  • Adds light and dark D2/SVG architecture diagrams with theme-aware rendering.
  • Registers the page in the sidebar and both curated and full llms.txt route manifests.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
content/docs/capabilities/agentic-runtime.mdx Adds the complete capability narrative, configuration examples, API flow, and threat-model discussion; no eligible follow-up defect was established.
plugins/llms-txt-plugin.js Adds the new route to curated and Tier 1 outputs; its current route resolves and available bundle headroom avoids the hypothesized size-limit condition.
sidebars.js Registers the new page under Capabilities using the matching document ID.
src/css/custom.css Adds light/dark diagram visibility rules keyed to Docusaurus's data-theme attribute; no eligible follow-up defect was established.

Sequence Diagram

sequenceDiagram
    participant Client
    participant Sessions as Agent Sessions API
    participant Sandbox
    participant Pomerium
    participant Upstream
    Client->>Sessions: Create session and prompt
    Sessions->>Sandbox: Claim pod and launch agent
    Sandbox->>Pomerium: Request with approved run token
    Pomerium->>Pomerium: Evaluate policy and inject secret
    Pomerium->>Upstream: Forward authorized request
Loading

Reviews (2): Last reviewed commit: "docs: theme-aware diagrams — dark varian..." | Re-trigger Greptile

policy:
allow:
and:
- claim/email: alice@example.com # who approved

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why not email ?

```yaml
policy:
allow:
and:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

IS this valid ppl?

@nickytonline nickytonline left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Also, should we mention that this is a k8s only solution? I know we mention k8s throughout the docs, but probably good to mention it up front?


You want an agent to do real work: read tickets, query a database, call an internal API, open a pull request. Real work needs credentials. But an agent is a program that takes instructions from untrusted text. Give it an API key, and you have given the key to anyone who can influence its input — a hostile issue comment, a poisoned dependency README, a malicious tool description.

The usual mitigations try to make the agent careful. Careful is not a security boundary. The alternative is an architecture in which the agent has nothing to leak: it runs in a sandbox with no secrets, and everything it is allowed to reach sits behind a gateway that decides, per request and deterministically, whether this agent, acting for this person, may reach this resource.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

maybe mention an example of this like hooks in a harness?


The layers, from enforcement up to product:

- **Pomerium** is the gateway. It authenticates every request against your identity provider, evaluates a deterministic policy, injects the credentials the upstream needs, and logs the result. In the reference configuration, every credentialed request a sandbox makes leaves through it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This sounds a bit weird the last phrase in this bullet point.

Suggested change
- **Pomerium** is the gateway. It authenticates every request against your identity provider, evaluates a deterministic policy, injects the credentials the upstream needs, and logs the result. In the reference configuration, every credentialed request a sandbox makes leaves through it.
- **Pomerium** is the gateway. It authenticates every request against your identity provider, evaluates a deterministic policy, injects the credentials the upstream needs, and logs the result. In the reference configuration, all outbound requests from a sandbox that require credentials are routed through Pomerium.


- **Pomerium** is the gateway. It authenticates every request against your identity provider, evaluates a deterministic policy, injects the credentials the upstream needs, and logs the result. In the reference configuration, every credentialed request a sandbox makes leaves through it.
- **The sandbox pod** runs your agent next to a sidecar. The agent container holds no credentials of any kind. The sidecar holds the pod's credentials and proxies the agent's traffic to Pomerium.
- **The Agent Sessions API** manages sessions: it claims sandbox pods, launches agents in them, streams their output as durable events, and suspends and revives them.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Probably need to mention destroying the pods too?

Suggested change
- **The Agent Sessions API** manages sessions: it claims sandbox pods, launches agents in them, streams their output as durable events, and suspends and revives them.
- **The Agent Sessions API** manages sessions: it claims sandbox pods, launches agents in them, streams their output as durable events, and suspends, revives them or terminates them.

P-->>S: policy evaluated, credentials injected
```

Each hop carries a different credential: the manager's workload token, the person's SSO session, the pod's projected token, the run token. None of them can stand in for another.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Should manager be orchestrator to keep wording uniform? Or is manager something else in this context?

Suggested change
Each hop carries a different credential: the manager's workload token, the person's SSO session, the pod's projected token, the run token. None of them can stand in for another.
Each hop carries a different credential: the orchestrator's workload token, the person's SSO session, the pod's projected token, the run token. None of them can stand in for another.

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