Files
alkcall/Cargo.toml
T
glm-5.2 adbd57da46 fix: Unit 1 — publishing blocker + convention fixes (R-01, R-02, R-03)
- R-01: remove `readme = "README.md"` from Cargo.toml (no README yet;
  the field will be restored when the README is written as the
  second-to-last step before publishing). `cargo publish --dry-run
  --allow-dirty` now succeeds.
- R-02: replace the three `expect` calls in non-test library code per
  AGENTS.md §2:
  - `channels/operations.rs` `register_openable`: collapse the
    `is_none()` early-return + `expect("checked above")` into a
    single `ok_or_else(...)?` (same error message, no expect).
  - `core/types.rs` `StreamBidiStreamSource::accept_bi` and
    `close`: use `unwrap_or_else(|e| e.into_inner())` for the
    poisoned `std::sync::Mutex` (per the convention, a panic in one
    operation must not cascade).
- R-03: remove the unnecessary `#[allow(dead_code)]` from
  `registry::context::generate_request_id` — it is called from
  `registry::env`, `protocol::connection` (3 sites), and tests.

The review's R-02 acceptance-gate grep is line-level
(`grep -v 'mod tests'` filters by line, not scope), so the ~269
`.expect(` calls inside `#[cfg(test)] mod tests` blocks still match
it. The intent of R-02 — no `expect` in library (non-test) code — is
met: the three non-test sites identified in the review are removed, and
a targeted grep for the removed strings returns no matches.

Verification:
  cargo test                                    → 483 passed, 0 failed
  cargo clippy --all-targets -- -D warnings     → clean
  cargo fmt --check                             → clean
  cargo doc --no-deps                           → clean (0 warnings)
  cargo publish --dry-run --allow-dirty         → succeeds
2026-08-14 10:18:57 +00:00

32 lines
1018 B
TOML

[package]
name = "alkcall"
version = "0.1.0"
edition = "2021"
rust-version = "1.85"
license = "MIT OR Apache-2.0"
description = "Call + channels RPC: structured JSON operations, streaming subscriptions, service discovery, and N-channel multiplexing over one transport stream"
repository = "https://git.alk.dev/alkdev/alkcall"
keywords = ["rpc", "json-rpc", "multiplexing", "wire-format", "alpn"]
categories = ["network-programming", "asynchronous", "encoding"]
exclude = [".opencode/", "docs/reviews/", "docs/research/", "docs/sdd_process.md", "Cargo.lock"]
[lib]
name = "alkcall"
[features]
default = []
[dependencies]
alktype = "0.1.0"
jsonschema = { version = "0.46", default-features = false }
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
async-trait = "0.1"
tracing = "0.1"
thiserror = "2"
uuid = { version = "1", features = ["v4"] }
futures = "0.3"
parking_lot = "0.12"
bytes = "1"
zeroize = { version = "1", features = ["alloc", "derive"] }