Skip to content

Commit e33eccc

Browse files
authored
Merge pull request #19 from devonartis/feature/architecture-diagrams
docs: add SVG architecture diagrams
2 parents 92528d8 + 41bd453 commit e33eccc

12 files changed

Lines changed: 880 additions & 24 deletions

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added — Architecture diagrams + splash pages (2026-04-13)
11+
12+
- **`docs/diagrams/`** — 3 SVG architecture diagrams (architecture overview, token lifecycle, security topology) replacing the inline mermaid block. Built from code review, visual style adapted from agentauth-internal.
13+
- **`docs/python-sdk.md`** — splash page for the Python SDK (private repo). Shows status, code sample, and links to raw HTTP alternative.
14+
- **`docs/demos.md`** — splash page for MedAssist AI and Support Ticket demos (ship with Python SDK).
15+
- **`README.md`** — added Ephemeral Agent Credentialing v1.3 pattern lineage in "How it works". All private-repo links now point to splash pages instead of 404s.
16+
- **`docs/`** — 5 doc files updated: private `agentwrit-python` links replaced with splash page links.
17+
1018
### Changed — README overhaul for scannability and wayfinding (2026-04-13)
1119

1220
- **`README.md`** — full restructure for newcomers who scan, not read:

README.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ You now have a launch token. The agent presents this once to register and get it
8787

8888
| I want to... | Go to |
8989
|---|---|
90-
| Register an agent with this launch token (Python SDK) | [Python SDK →](https://github.com/devonartis/agentwrit-python) |
90+
| Register an agent with this launch token (Python SDK) | [Python SDK →](docs/python-sdk.md) |
9191
| See the raw HTTP registration flow (curl + openssl) | [Getting Started walkthrough →](docs/getting-started-user.md) |
9292
| Build from source or use Docker Compose instead | [Other install options →](#other-install-options) |
9393
| Understand what just happened (auth model, SPIFFE IDs, scopes) | [Concepts →](docs/concepts.md) |
@@ -96,14 +96,13 @@ You now have a launch token. The agent presents this once to register and get it
9696

9797
## How it works
9898

99-
```mermaid
100-
flowchart LR
101-
ADMIN["Operator"] -->|"create launch token"| BROKER["AgentWrit Broker"]
102-
APP["Your App"] -->|"hand launch token to agent"| AGENT["AI Agent"]
103-
AGENT -->|"register + get scoped JWT"| BROKER
104-
AGENT -->|"Bearer token"| RS["Resource Server"]
105-
BROKER -->|"audit every event"| AUDIT["Hash-chain log"]
106-
```
99+
AgentWrit implements the [Ephemeral Agent Credentialing v1.3](https://github.com/devonartis/AI-Security-Blueprints/blob/main/patterns/ephemeral-agent-credentialing/versions/v1.3.md) security pattern — an 8-component architecture purpose-built for autonomous AI agents. The pattern was developed as part of the [AI Security Blueprints](https://github.com/devonartis/AI-Security-Blueprints) project and AgentWrit is its reference implementation.
100+
101+
<p align="center">
102+
<img src="docs/diagrams/architecture-overview.svg" alt="AgentWrit Architecture Overview" width="100%">
103+
</p>
104+
105+
> **Detailed diagrams:** [Token Lifecycle](docs/diagrams/token-lifecycle.svg) · [Security Topology](docs/diagrams/security-topology.svg)
107106
108107
1. **Operator** creates a launch token with an allowed scope ceiling
109108
2. **App** hands the launch token to the agent for a specific task
@@ -142,15 +141,15 @@ The Python SDK includes **MedAssist AI**: a FastAPI web app where a local LLM dy
142141
| Clinical agent delegates to prescription agent | Delegation with scope attenuation |
143142
| Tokens renew and release at end of encounter | Full lifecycle management |
144143

145-
**Run it:** [MedAssist AI demo →](https://github.com/devonartis/agentwrit-python/tree/main/demo) · [Beginner's guide →](https://github.com/devonartis/agentwrit-python/blob/main/demo/BEGINNERS_GUIDE.md) · [Presenter's guide →](https://github.com/devonartis/agentwrit-python/blob/main/demo/PRESENTERS_GUIDE.md)
144+
**Run it:** [MedAssist AI demo →](docs/demos.md) · [Beginner's guide →](docs/demos.md) · [Presenter's guide →](docs/demos.md)
146145

147146
---
148147

149148
## SDKs
150149

151150
| Language | Repo | Install | Status |
152151
|----------|------|---------|--------|
153-
| **Python** | [agentwrit-python](https://github.com/devonartis/agentwrit-python) | `pip install agentauth` *(PyPI rename pending)* | v0.3.0 — 15 acceptance tests passing |
152+
| **Python** | [agentwrit-python](docs/python-sdk.md) | `pip install agentauth` *(PyPI rename pending)* | v0.3.0 — 15 acceptance tests passing |
154153
| **TypeScript** | Coming soon || Planned |
155154

156155
```python
@@ -170,7 +169,7 @@ response = httpx.get(url, headers=agent.bearer_header)
170169
agent.release()
171170
```
172171

173-
**Full SDK docs:** [Python SDK →](https://github.com/devonartis/agentwrit-python)
172+
**Full SDK docs:** [Python SDK →](docs/python-sdk.md)
174173

175174
---
176175

@@ -304,8 +303,8 @@ go test ./... -short # Unit tests only
304303
| Follow common workflows | [Common Tasks →](docs/common-tasks.md) |
305304
| Debug an issue | [Troubleshooting →](docs/troubleshooting.md) |
306305
| See real-world integration patterns | [Integration Patterns →](docs/integration-patterns.md) |
307-
| Use the Python SDK | [Python SDK →](https://github.com/devonartis/agentwrit-python) |
308-
| Run the MedAssist demo | [MedAssist AI →](https://github.com/devonartis/agentwrit-python/tree/main/demo) |
306+
| Use the Python SDK | [Python SDK →](docs/python-sdk.md) |
307+
| Run the MedAssist demo | [MedAssist AI →](docs/demos.md) |
309308
| Report a security vulnerability | [Security Policy →](SECURITY.md) |
310309
| Read the changelog | [CHANGELOG →](CHANGELOG.md) |
311310

docs/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ Lookup documentation for endpoints, CLI commands, and internals.
6060

6161
## Live Demos
6262

63-
See AgentWrit in action with the [Python SDK](https://github.com/devonartis/agentwrit-python) demo applications:
63+
See AgentWrit in action with the [Python SDK](python-sdk.md) demo applications:
6464

6565
| Demo | What it shows |
6666
|------|-------------|
67-
| **[MedAssist AI](https://github.com/devonartis/agentwrit-python/tree/main/demo)** | Healthcare multi-agent pipeline — clinical, prescription, and billing agents operating under strict scope isolation with LLM tool-calling, delegation, and per-patient scoping |
68-
| **[Support Ticket Zero-Trust](https://github.com/devonartis/agentwrit-python/tree/main/demo2)** | Three LLM-driven agents processing support tickets with broker-issued scoped credentials, streaming execution via SSE, and natural token expiry |
67+
| **[MedAssist AI](demos.md)** | Healthcare multi-agent pipeline — clinical, prescription, and billing agents operating under strict scope isolation with LLM tool-calling, delegation, and per-patient scoping |
68+
| **[Support Ticket Zero-Trust](demos.md)** | Three LLM-driven agents processing support tickets with broker-issued scoped credentials, streaming execution via SSE, and natural token expiry |
6969

7070
Both demos run against a real AgentWrit broker and show the full credential lifecycle: agent registration, scope enforcement, delegation, renewal, release, and revocation.
7171

docs/agentwrit-explained.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Ready to see it in action? Start here:
156156
**[Your First Five Minutes →](getting-started-user.md)**
157157
Run a local setup with Docker, walk through the registration flow, and get your first agent token.
158158

159-
**[Live Demos →](https://github.com/devonartis/agentwrit-python)**
159+
**[Live Demos →](demos.md)**
160160
See AgentWrit in real applications — a healthcare multi-agent pipeline and a support ticket zero-trust demo, both running against a live broker with LLM-driven agents.
161161

162162
Or jump to the topic that matches your interest:

docs/demos.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# AgentWrit Demos
2+
3+
> **Coming soon.** The demo applications ship with the Python SDK and will be available when [`devonartis/agentwrit-python`](https://github.com/devonartis/agentwrit-python) goes public.
4+
5+
## MedAssist AI
6+
7+
A FastAPI web app where a local LLM dynamically creates broker agents with per-patient scoped credentials. You enter a patient ID and a plain-language request. The LLM chooses which tools to call, and the app creates agents with only the scopes those tools need — for that specific patient.
8+
9+
| What you'll see | What it proves |
10+
|---|---|
11+
| Agents spawn on demand per LLM tool call | Dynamic agent creation |
12+
| Each agent scoped to one patient ID | Per-resource scope isolation |
13+
| LLM asks for wrong patient's data | Scope enforcement catches cross-boundary access |
14+
| Clinical agent delegates to prescription agent | Delegation with scope attenuation |
15+
| Tokens renew and release at end of encounter | Full lifecycle management |
16+
| Dedicated audit tab | Hash-chained broker events |
17+
18+
## Support Ticket Zero-Trust
19+
20+
Three LLM-driven agents process support tickets with broker-issued scoped credentials, streaming execution via SSE, and natural token expiry.
21+
22+
## In the meantime
23+
24+
You can follow the [Quick Start](../README.md#quick-start) to run the broker and issue your first agent token in five minutes. The [Getting Started walkthrough](getting-started-user.md) covers the full registration flow with curl.
25+
26+
## Get notified
27+
28+
Watch this repo or [file an issue](https://github.com/devonartis/agentwrit/issues) to be notified when demos are available.

0 commit comments

Comments
 (0)