Skip to content

Ecosystem Interop

darkstar edited this page Oct 3, 2026 · 2 revisions

Ecosystem Interop

🔄 Generic protocol

A dependency-free interoperability protocol (InteropDiagnostic) preserves severity, codes, messages, help, notes, labels and their primary/secondary roles, causes, documentation links and related diagnostics.

Note

Generic interop deliberately does not grant remediation trust. An integration that wants automatic edits must establish that separately.

🧩 Integrations (feature flags)

Feature What you get
anyhow anyhow error context → structured diagnostics, error chain preserved
tracing structured tracing events connected to diagprint reporting
miette compatible miette metadata mapped into the interop model
codespan-reporting codespan diagnostics routed through the generic layer
ariadne AriadneBridge: one capture produces a real Ariadne report and a diagprint diagnostic, with no parsing of rendered text and no private internals
annotate-snippets primary/context labels, validated byte ranges, UTF-8 boundary checks, one-based locations, SourceProvider handoff

🦀 rustc diagnostics

Structured rustc JSON can be ingested with severity, error codes, spans, child diagnostics, structured suggestions and applicability, compiler source edits and rendered context. Compiler edits need explicit trusted source-root hydration before they can take part in remediation.

📦 Cargo intelligence

Cargo ingestion tracks workspace packages and exact versions, membership, targets, resolved and renamed dependencies, compiler artifacts, build-script results, completion and summaries. Unknown Cargo messages are preserved for forward compatibility.

🌉 Ecosystem Bridge SDK

diagprint-bridge        reusable adapter mechanics
diagprint-error-stack   first concrete adapter

diagprint-bridge builds on InteropDiagnostic and the relationship graph, so third-party error crates keep structured relationships instead of flattening them into strings. diagprint-error-stack proves it against grouped reports with privacy-aware attachments: attachment content is private by default; printable text needs explicit opt-in; opaque values are never exported.

Specs: docs/ecosystem-bridges-roadmap.md.

← 🚦 CI & Code Scanning  ·  🔧 Remediation →

🩺 diagprint

⚡ Start

🧱 Build

📤 Ship

🔧 Fix

🔬 Investigate

🛠️ Project


🌐 Site · 📖 docs.rs · 📦 crates.io

Clone this wiki locally