Document AI systems that tell you when they're wrong.
A text notation for AI architecture: sketch the topology, record the assumptions behind it, and let the linter flag the diagram the moment one expires.
[human#you: You] -> [agent#a: Agent] -> [model#m: Model] [agent#a] -> [mcp#g: MCP Gateway] -> [tool#t: Tool] [agent#a] -> [rag#r: RAG] -> [data#d: Data] [eval#e: Eval] ~> [agent#a]
Five arrows. That's the syntax.
Nodes are [type#id: Label]. Edges are one of five arrows. You already know it.
uses / calls / sends to
hands off / escalates to
blocks / forbids
observes / subscribes to
interacts with (two-way)
It catches decay you'd never see in a diagram.
This refund decision's review date has passed. The linter says so — in your editor and in CI.
agentmark: 0.2
title: Support Triage
as_of: 2026-06-01
---
[human#u: Customer] <-> [agent#triage: Triage Agent]
[agent#triage] => [agent#refund: Refund Agent]
[agent#triage] -> [model#m: Claude Opus]
[agent#refund] x> [tool#pay: Payments API]
decision D-1: "Route refunds through a human gate" {
because: [C-1] review_by: 2026-05-01 ⚠ overdue
}
claim C-1: "Refund false-positives cost > review time" {
confidence: 0.6
evidence: ledger-q1
as_of: 2026-02-01
}Stale: decision D-1 — its review_by passed and claim C-1's evidence is four months old.
One file. Every view.
The same .agentmark source, projected three ways. No second copy to keep in sync.
A diagram answers one question. AgentMark answers seven.
- 1What connects to what?
- 2Why was it chosen?
- 3Under what assumptions?
- 4What constraints apply?
- 5What evidence supports this?
- 6When does it expire?
- 7How do we know it still works?
Five arrows
No syntax to learn. Pastes straight into Notion and Slack.
One file, many views
Topology, decision, risk — each a generated diagram, always in sync.
A knowledge layer
Claims, constraints and decisions, with confidence and evidence.
Assumptions expire
Every dated statement carries as_of / review_by; the linter catches the lapse.
Cross-language core
One canonical parser + linter + renderer (TS now; Python/Go/C planned).
Lives in your repo
Plain text. Diff it in PRs, run am lint in CI. No SaaS, no database.
Start from a working example
Open any of these in the editor — one click, no setup.
Sketch (viral core)
Zero setup — every layer gets its own shape.
RAG pipeline
Embed → vector index → corpus, grounding the model.
Multi-agent handoff
An orchestrator hands work off (=>) to specialists.
Channel (Telegram)
Two-way user↔harness interaction over a chat channel.
Groups & alignment
Cluster, orient and align nodes — with nested subgroups.
Spec mode
IDs, roles, properties, fan-out and edge labels.
Governance & risk
Trust boundaries, authority, high-risk capabilities.
Observability
Telemetry and evals observe (~>) the agent and model.
Hermes (full)
The complete worked example — topology + knowledge layer.
Make one architecture spec everyone can trust.
Sketch your topology in the editor.
Save the .agentmark file. Diff it in PRs.
Run am lint in CI so stale assumptions fail the build.