This project is not externally published yet, but the package split should be treated as a public boundary before the first release.
Verify metadata:
- Each publishable crate has
description,license,repository, andreadme. - README examples and package names match the current crate names.
- Public re-export paths in
crosswalk-coreare intentional. docs/crate-split-inventory.mdreflects the actual boundary decisions.
Run:
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cargo doc --workspace --no-depsIf Python dev libraries are unavailable, cargo test --workspace may require
using the workspace default members instead of the PyO3 crate. In that case,
record the skipped package and run the Python pytest checks below.
Verify:
- Package name is
crosswalk. - Import name is
crosswalk. - Typing stubs cover exported APIs.
- Examples still run.
Run from crates/crosswalk-python:
uv run --extra dev python -m pytest
for f in examples/*.py; do uv run --extra dev python "$f"; done
uv run --with 'maturin>=1.5,<2' maturin build --release -m Cargo.tomlVerify:
crosswalk-wasmraw methods are documented as JSON-string APIs.packages/jsexposes the idiomaticCrosswalkTypeScript surface.- Generated
wasm-pkgoutput is not treated as the source of truth.
Run from packages/js:
npm ci
npm testBefore an external release, explicitly confirm:
- Whether
crosswalk-corecompatibility re-exports are permanent or transitional. - Whether direct
crosswalk-publicschemaevaluation should continue to omit helper request context and helper hot-path limits. - Whether all public error shapes and serde casing are stable.
- Whether crate names, Python package name, and JS package name are final.
When sibling repositories are available, run the smallest meaningful consumer checks for:
publicschema.comregistry-relayregistry-witness- Any other repo with a live
crosswalk-*,crosswalk, orcrosswalk-jsdependency.
Record skipped checks with the exact reason.