Repository navigation
Faultbox 0.19.0 adds read-only environment diagnostics and native Kafka consumer barriers.
- Environment doctor:
faultbox doctorreports native Linux, optional Docker/shim, packet-fault and filesystem-observation prerequisites with stable JSON codes and remedies.--lima=NAMEchecks an existing guest and host/guest version pairing. It does not install tools, create VMs, change permissions or restart daemons. - macOS onboarding: a minimal Lima runtime profile includes Docker without mandatory language SDKs. One quickstart covers installation, version pairing and capability checks.
- Kafka readiness:
wait_ready(topics=, service=, group=, timeout=)requires acknowledged Fetch positions in current assignments; empty, stale and ambiguous evidence cannot pass. - Kafka commit barriers:
wait_committed(receipt, ...)binds the successful publish Response to its test, broker incarnation and pre-publish consumer assignment. Wrong-source commits and old offsets cannot satisfy it. Commit acknowledgement is explicitly not proof of business processing. - Missing topics: coalesced Kafka metadata diagnostics explain absent topics without warning on every poll.
- Executable docs: the exact documented Kafka helper runs against a real consumer, and Linux tests exercise two managed processes sharing one client ID through direct and proxied connections.
Migration and limits
Pass the original publish() Response to wait_committed, not .data or a reconstructed dictionary. Establish readiness before publishing and repeat after an assignment change. Existing low-level events remain available. The barriers initially require observed Kafka mocks; unobserved real/remote brokers fail explicitly.
Doctor validates prerequisites rather than promising that all fault modes are permitted. Fresh VM provisioning is explicit; env up is not introduced in this release.
The previously documented native seccomp listener handoff race (pidfd_getfd: bad file descriptor under unlucky scheduling) is unchanged by this release.