Connector Certification
The normative certification suite, maturity labels, and the delivery-guarantee matrix.
Every connector in krishiv-connectors carries a maturity label and a delivery guarantee. The certification suite is the single source of truth for what is real and what is aspirational.
Maturity labels
| Label | Meaning |
|---|---|
Certified | Passes the full certification.rs suite. Has a confirmed production deployment. Documented in this guide. |
Preview | Code works, certification suite has run, but no production deployment yet. The API may change. |
Experimental | Early-stage. May be incomplete. The API will change. |
Delivery guarantee matrix
The effective delivery guarantee is the weakest across the source, sink, and durability profile. Combinations outside this table are unsupported (the runtime fails the query at submit time with a clear error).
| Source | Sink | Profile | Guarantee | Certified |
|---|---|---|---|---|
| Parquet (batch) | Parquet (batch) | any | Best effort | Yes |
| Parquet (batch) | Parquet (two-phase) | distributed-durable | Effectively once | Yes |
| Kafka | Parquet | single-node-durable+ | At-least-once | Yes |
| Kafka (transactional) | Parquet (two-phase) | distributed-durable | Exactly once | Yes |
| Kafka (transactional) | Kafka (transactional) | distributed-durable | Exactly once | Yes |
| Kafka (transactional) | Iceberg (two-phase) | distributed-durable | Exactly once | Yes |
| Iceberg (batch) | Iceberg (batch) | any | Best effort | Yes |
| Delta (batch, local) | Delta (batch) | any | Best effort | Yes (local fs only) |
| Delta (batch, local) | Delta (two-phase) | distributed-durable | Effectively once | Yes (local fs only) |
| Hudi (batch, local) | Hudi (two-phase) | distributed-durable | Effectively once | Yes (local fs only) |
| In-memory stream | In-memory sink | any | Best effort | Yes |
| Vector sinks | — | any | Best effort | No (Experimental) |
The certification suite
Lives at crates/krishiv-connectors/certification.rs (gated #[cfg(test)]). Runs the canonical failure-and-recovery matrix for every Certified connector:
- Source reconnect after connection loss.
- Source offset commit before the batch is acked.
- Sink write-failure rollback and retry.
- Two-phase commit prepare → coordinator crash → restart → resolve.
- Schema-evolution compatibility (added, dropped, widened columns).
- Late-event handling for sources with event time.
Run with:
cargo test -p krishiv-connectors --features='lakehouse kafka iceberg' --test certification
Adding a new connector
- Implement
SourceDriverandSinkDriverincrates/krishiv-connectors/src/<kind>.rs. - Register the kind in
ConnectorKindand add a capabilities profile inregistry/capabilities.rs. - Add a certification test to
certification.rscovering the failures you intend to handle. - Bump the maturity from
PreviewtoCertifiedonly after the suite passes in CI for 4 weeks and you have a production deployment.