// Daisy Chains: Testing Landscape Comparison
traceparent field enables Daisy Chains to correlate events automatically. Critical enabler.| Tool | Binary Pairs | Event Sequences | Temporal Assertions | Flow Causality | Declarative Spec |
|---|---|---|---|---|---|
| Daisy Chains | ✓ | ✓ | ✓ | ✓ | ✓ |
| Pact | ✓ (A↔B) | ✗ | ✗ | ✗ | ✓ |
| Temporal | ✗ | ✓ | ✓ | ~ | ✗ (code) |
| Conductor | ✗ | ✓ | ~ | ~ | ✓ (JSON) |
| AsyncAPI | ✓ | ✗ | ✗ | ✗ | ✓ |
| CloudEvents | ✓ | ~ | ~ | ✓ | ✓ |
| OpenTelemetry | ✗ | ~ | ~ | ✓ | ✗ |
| Jaeger | ✗ | ~ | ✓ | ✓ | ✗ |
graph LR
subgraph DESIGN["🔬 DESIGN TIME"]
direction TB
TLA["TLA+"]
ALLOY["Alloy"]
MCRL["mCRL2"]
end
subgraph COMPILE["⚙️ COMPILE TIME"]
direction TB
ST["Session Types"]
SCR["Scribble"]
end
subgraph CI["🔨 BUILD TIME · CI"]
direction TB
PACT["Pact"]
SPEC["Specmatic"]
ASYNC["AsyncAPI"]
end
subgraph RUNTIME["🟢 RUNTIME"]
direction TB
DC["Daisy Chains"]
OBS["Observes real\nNATS, DB, events"]
end
DESIGN --> COMPILE --> CI --> RUNTIME
style DESIGN fill:#2a2a30,stroke:#666,color:#ccc
style COMPILE fill:#2a2a30,stroke:#666,color:#ccc
style CI fill:#2a2a30,stroke:#666,color:#ccc
style RUNTIME fill:#16a34a22,stroke:#4ade80,color:#ccc
style DC fill:#16a34a33,stroke:#4ade80,color:#fff,font-weight:bold
| Tool | Phase | What It Proves | Connects to Real Infra? |
|---|---|---|---|
| TLA+ | Design | Protocol is deadlock-free, safe | ✗ |
| Alloy | Design | Structural relationships hold | ✗ |
| Session Types | Compile | Code matches protocol type | ✗ |
| Pact | CI/CD | A ↔ B agree on interface | Mocks |
| Runtime Verification | Runtime | LTL property holds on stream | Single |
| Daisy Chains | CI + Runtime | Multi-hop flow matches spec | ✓ NATS, DB, HTTP |
traceparent field enables automatic correlation for Daisy Chains.