Evidence Artifacts
Evidence artifacts are concrete examples that prove your diagram is accurate and help viewers learn. They’re essential for comprehensive/technical diagrams. Instead of just labeling a box “API Response,” you show what the API response actually looks like.Why They Matter
Evidence artifacts transform a diagram from explanatory to educational:Without Evidence
A box labeled “Event Stream”Viewers know events exist but not what they’re called or how they’re structured.
With Evidence
A code snippet showing:Viewers learn the actual event names and can recognize them in code.
Types of Evidence Artifacts
Choose the artifact type based on what you’re explaining:| Artifact Type | When to Use | How to Render |
|---|---|---|
| Code snippets | APIs, integrations, implementation details | Dark rectangle + syntax-colored text |
| Data/JSON examples | Data formats, schemas, payloads | Dark rectangle + colored text |
| Event/step sequences | Protocols, workflows, lifecycles | Timeline pattern (line + dots + labels) |
| UI mockups | Showing actual output/results | Nested rectangles mimicking real UI |
| Real input content | Showing what goes IN to a system | Rectangle with sample content visible |
| API/method names | Real function calls, endpoints | Use actual names from docs, not placeholders |
Refer to the color palette reference for the specific colors to use for evidence artifact backgrounds and text.
Example 1: Streaming Protocol
For a diagram about a streaming protocol, you might show:Without Evidence Artifacts (Bad)
With Evidence Artifacts (Good)
- The actual event names from the spec
- The real API method to handle rendering
- How to connect these pieces in code
Example 2: Data Transformation Pipeline
For a diagram about a data transformation pipeline:Without Evidence Artifacts (Bad)
With Evidence Artifacts (Good)
- What the input format actually looks like
- What the output format actually looks like
- What fields get added during transformation
Example 3: API Integration
For a diagram showing how to integrate with an API:Without Evidence Artifacts (Bad)
With Evidence Artifacts (Good)
- The actual endpoint path
- The exact request format
- The exact response structure
- Field names they’ll encounter in code
When to Include Evidence Artifacts
Visual Rendering Guidelines
Code Snippets & JSON Examples
Use dark rectangles with syntax-colored text:- Background: Dark color from palette (evidence artifact background)
- Text: Syntax-colored using palette colors
- Font: Monospace (fontFamily: 3)
- Padding: Ensure text isn’t cramped
Event Sequences & Timelines
Use a timeline pattern:- Vertical or horizontal line as the spine
- Small dots (10-20px ellipses) at intervals
- Free-floating labels beside each dot with real event/step names
- No boxes needed — lines + text is cleaner
UI Mockups
Use nested rectangles:- Outer rectangle: Represents the window/container
- Inner elements: Buttons, text fields, content areas
- Labels: Show actual UI text, not “Button 1”, “Button 2”
The Research Connection
Evidence artifacts require research. You can’t include real event names or actual JSON formats without looking them up. Before creating evidence artifacts:- Find the official docs — API references, protocol specs, SDK documentation
- Copy actual examples — Don’t invent plausible-looking formats
- Use real names — Event names, method names, field names from the spec
- Verify accuracy — Double-check that what you’re showing matches reality
Quality Check
Ask yourself:- ✅ Could a developer copy these event names into their code?
- ✅ Could someone recognize this JSON format in a real system?
- ✅ Are these the actual method/function names from the docs?
- ✅ Would this help someone implement or debug this system?