salvor 0.0.0

Durable execution runtime for AI agents in Rust: event-sourced runs, typed tool effects, crash-exact resume. This is the umbrella crate; the runtime currently ships as the salvor-* crates and the salvor binary.
Documentation
# lib.rs: the salvor umbrella crate

This crate exists to hold the `salvor` name on crates.io and to be the future
front door to the library. Right now it is documentation only: the file is a
single crate-level `//!` doc comment and no code.

## Walkthrough

A crate whose `src/lib.rs` contains only `//!` lines is a real, compilable
library with an empty public surface. That is enough to claim the name on the
registry without shipping a placeholder that pretends to do something it does
not. The version in `Cargo.toml` is a deliberate `0.0.0`, the conventional
signal for "registered, nothing to depend on yet."

It carries no dependencies on the `salvor-*` crates on purpose. A crate can
only publish once every dependency is already on the registry, and the family
is not published yet, so an umbrella that re-exported them now could not be
uploaded. Doc-only keeps it self-contained and publishable on its own.

At the real release, this file grows a set of `pub use` re-exports from
`salvor-runtime` and the other crates, the version moves to match the family,
and one `salvor` dependency covers the whole library.

## Concepts in this file

- **Doc-only crate**: a `lib.rs` of only `//!` comments compiles to a library
  with no items. Legitimate for a name-holder or a pure documentation crate.
- **Version 0.0.0 as intent**: signals a registered-but-empty crate rather
  than a usable release.
- **Publish ordering**: `cargo publish` requires every dependency to already
  exist on the registry, which is why the umbrella stays dependency-free until
  the family it would re-export is published.

## Check yourself

1. Why does this crate have no dependency on `salvor-runtime` yet?
2. What does the `0.0.0` version communicate?

<details>
<summary>Answers</summary>

1. Because `cargo publish` refuses a crate whose dependencies are not yet on
   the registry, and the `salvor-*` family is unpublished. A dependency-free
   doc-only crate can publish on its own to hold the name.
2. That the crate is registered but has nothing to depend on yet; the real
   release will republish at a version aligned with the family.

</details>