This repository tests packaged Kafka clients from the outside. It does not gain privileged access to client internals merely to make a scenario easier.
- Read
ARCHITECTURE.mdand the relevant protocol or evidence document. - Identify whether a fact comes from the adapter, environment, or harness.
- Preserve uncertainty instead of manufacturing a definite outcome.
- Keep deterministic verdict logic independent from narrative reporting.
- Adapters are external processes speaking the versioned JSON Lines protocol.
- Adapter stdout contains protocol messages only; diagnostics go to stderr.
- Every command and terminal operation carries a stable identity.
- After manifests validate and a run identity exists, execution failures seal invalid evidence whenever the evidence filesystem remains writable.
- Broker-visible truth is checked independently from adapter-reported success.
- LLM output never decides validity, pass/fail, or release eligibility.
unsaferemains forbidden in the harness workspace.
- Every Rust source file begins with a
//!module contract. lib.rsandmod.rsare declarative facades: module declarations and re-exports only.- Unit tests live in sibling
*_test.rsfiles. - Rust source files remain at or below 300 lines.
- Run
zcheckbefore handing off a change.