▢→AgentMarkv0.2.0

Examples

A cookbook of AgentMark patterns. Every one of these is in the editor under Load example… — open it, edit it, export it. For the complete reference document see the Hermes worked example.

Sketch — the viral core

Four arrows, zero setup.

[User] -> [Agent] -> [Model]
[Agent] -> [MCP] -> [Tool]
[Agent] -> [RAG] -> [Data]
[Agent] -> [Eval] -> [Agent]

Channel — two-way interaction (Telegram)

How a user interacts with a harness through a channel and gets replies back the same way. Model the channel as a node and read the whole thing as one two-way chain — Me <-> Telegram <-> Hermes — rather than drawing the request and response as separate, overlapping edges.

---
agentmark: 0.2.0
title: Hermes over Telegram
direction: LR
---

# I talk to Hermes through Telegram, and it replies the same way.
[human#me: Me] <->[Telegram] [mcp#tg: Telegram MCP] <->[Telegram] [harness#hermes: Hermes]

# What the harness does with each message.
[harness#hermes] -> [agent#worker: Worker Agent {roles: [planner, executor]}] -> [model#m: Model]
[agent#worker] ~>[traces] [log#otel: OpenTelemetry]

Prefer to show the request and response explicitly? Draw both directed edges — the renderer fans out parallel edges so they don't overlap:

[human#me: Me] ->[/command] [mcp#tg: Telegram MCP] -> [harness#hermes: Hermes]
[harness#hermes] ->[response] [mcp#tg] -> [human#me]

Spec — IDs, roles, properties, fan-out, edge labels

---
agentmark: 0.2.0
title: Coding Agent (Spec)
---

[human#you: You] -> [harness#codex: Codex Harness]

[harness#codex]
  -> [agent#coder: Coding Agent {roles: [planner, coder, tester], autonomy: 3}]
  -> [middleware#mcp_selector: MCP Tool Selector {strategy: shortlist, top_k: 12}]
  -> [mcp#github: GitHub MCP]

[agent#coder] -> [model#sonnet: Claude Sonnet]
[agent#coder] ~>[streams traces] [log#otel: OpenTelemetry]
[policy#no_prod: No Prod Writes] x>[forbids] [tool#deploy: Deploy]

Governance — trust, authority, risk

Model what an agent may do without asking, and gate high-risk capabilities.

---
agentmark: 0.2.0
title: Browser Agent Governance
as_of: 2026-06-02
review_by: 2026-07-01
---

[agent#browser: Browser Agent {roles: [browser, form_filler]}] -> [driver#playwright: Playwright] -> [browser#chromium: Chromium {mode: headless}] -> [sandbox#box: Browser Sandbox]
[policy#no_exfil: No Credential Exfiltration] x>[blocks] [browser#chromium]

authority:
  [agent#browser: Browser Agent]
  can:
    - read_dom
    - take_screenshot
  cannot:
    - submit_payment
    - exfiltrate_credentials
  approval_required:
    - download_file

capability: run_shell { risk: high, requires: [approval: User Approval] }
capability: delete_data { risk: critical, requires: [approval: Admin Approval] }

Top-down layout

The same notation, rendered top→bottom (set direction: TB, or use the editor's layout toggle):

---
agentmark: 0.2.0
title: Pipeline (top-down)
direction: TB
---
[User] -> [Router] -> [Planner] -> [Executor] -> [Model]

Knowledge layer — claims, decisions, staleness

claim C-001:
  text: Codex is best suited for cost-optimized backend coding.
  kind: comparative
  scope: Hermes
  metric: overall_suitability
  evidence: [bench#CODE-HARNESS-2026-06]
  confidence: medium
  review_by: 2026-06-16

decision D-001:
  title: Use Codex as the primary coding harness
  status: accepted
  chosen: [model#codex: Codex]
  supported_by: [C-001]
  invalid_if:
    - C-001 expires

bench CODE-HARNESS-2026-06:
  title: Coding-agent comparison
  run_on: 2026-06-02
  candidates: [Codex, GLM, Opus]
  metrics:
    - accepted_patch_rate
    - cost_per_accepted_patch

Run am stale (or watch the editor's staleness panel) and this decision is reported stale once 2026-06-16 passes, because the claim it rests on has expired.