Issue #99: A Nikaia package is found by version (registry, the nikaia_NAME prefix through Cargo)

Open and answer this issue on GitHub.

tools, ready · opened 2026-09-30 · updated 2026-10-06 · 0 comments

Record: ADR-103. Today a bare version (http = "1.2") is refused: path = "…" dependencies only.

http = "1.2" becomes http = { package = "nikaia_http", version = "1.2" } in the generated Cargo.toml; Cargo finds and fetches, the compiler reads src/*.nika and nikaia.contracts from where the crate landed and emits it as a workspace member as it does a path dependency; a crate under the prefix without both is refused by name. A package’s own package dependencies are not followed yet.

Order of work (ADR-103 §5): the manifest arm and the rename; resolution through cargo metadata and the not-a-Nikaia-package refusal; following a dependency’s own manifest in both arms; the stub Cargo.toml written by the build so that cargo publish is the whole of publishing.

Evidence: Part III 13.3’s own example; no package in the tree is published yet, so the first one is the test.

Back to Open Issues