Files
zeekayandHanzo Dev b37599e7be zap: the gate was blind to doctests; record who crates.io still credits
`cargo test --all-targets` does NOT imply `--doc` — it selects lib/bins/
tests/benches/examples and skips doctests entirely. Injecting
`compile_error!` into a lib.rs doc example passes the old gate with exit
0 and fails `cargo test --doc` immediately, so a doc example that does
not compile could ship green. Added the `--doc` line; the same injection
now takes `make test` to exit 2. `.github/workflows/test.yml` runs
`make test`, so CI picks this up with no second edit — the gate is one
thing, not a CI-only copy of one.

LLM.md: `zapwire` 1.0.0 and `zapc` 1.0.0 are published, so the collision
table no longer says "never published", and the crosswire entry names
`go run ./interop/golden` as the way to regenerate its hex.

Also recorded the part of the collision this repo CANNOT fix. crates.io
takes a crate's `repository` link from the most recently PUBLISHED
version, not the highest: `hanzo-zap` 0.2.1 (2026-06-23, from a
zap-proto/spec checkout) declares `repository = hanzoai/zap`, while
max_version 0.6.75 (2026-05-13) declares hanzonet/network. So
crates.io/crates/hanzo-zap still sends readers HERE for a crate whose
source is hanzo/net. Having vacated the name, this repo can no longer
correct it; hanzo/net publishing 0.6.76 would. Yanking 0.2.1 would not —
~25 engine forks pin it exactly and would fail to resolve.

make test: 27 lib + 10 crosswire + 2 live-Go interop + 1 doctest, exit 0.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 23:25:06 -07:00

22 lines
671 B
Makefile

.PHONY: test fmt tidy
# The gate. `cargo test` includes rust/tests/interop.rs, which builds
# interop/main.go against github.com/zap-proto/go and drives a REAL Go
# ZAP server from the Rust client — so wire agreement is proved, not
# asserted. That test skips loudly if no Go toolchain is present.
#
# cargo clippy is deliberately NOT here yet: the rustup clippy shim
# fails with "multiple input filenames provided" on this workspace's
# build-dependency. Add it back once that is fixed.
test:
cd rust && cargo fmt --all -- --check
cd rust && cargo test --all-targets
cd rust && cargo test --doc
go vet ./...
fmt:
cd rust && cargo fmt --all
tidy:
go mod tidy