alkcall 0.5.0 landed the review 006 remediation (filed from this crate's Phase 0 pass): - E-01/N-1: channel-open establishment phase (ADR-049) — register_openable_with_establisher, bounded await, teardown-on- failure, typed channel:open_failed reply (reason in details); ChannelClient::open_channel returns ChannelOpenError - E-02: OperationSpec.description disclosed via discovery - E-03/E-04/N-2: teardown-race log, early-arrival bound docs, count accessor alktunnels updates: - Cargo.toml: alkcall 0.4.0 -> 0.5.0 (lockfile resolves 0.5.0) - AGENTS.md convention 11: pin note updated; ADR-049 marked load-bearing (tunnel opens use register_openable_with_establisher) - phase-0-findings OQ-TN-09: RESOLVED by ADR-049 — the in-band control-frame hunch is superseded (establishment is the open op's reply, not a stream frame); residual for Phase 1 narrowed to half-open semantics; v1 needs no mid-stream control frame - phase-0-findings OQ-TN-08: per-op metadata residue resolved by E-02 (description field; OQ-40 enumerate half stays deferred) - tun2proxy prior-art + alktty-pattern sections: frame-vocabulary notes updated to point at the ADR-049 supersession - upstream posture paragraph updated: review 006 is the working proof of the ask-early rule Verification: cargo test (0 tests, ok), clippy --all-targets -D warnings, fmt --check, wasm32 check, doc --no-deps — all clean
32 lines
997 B
TOML
32 lines
997 B
TOML
[package]
|
|
name = "alktunnels"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
rust-version = "1.85"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Arbitrary tunnel protocol: bidirectional TCP, UDP, and unix-socket tunnels over alkcall channels. Producer/consumer protocol crate."
|
|
repository = "https://git.alk.dev/alkdev/alktunnels"
|
|
readme = "README.md"
|
|
keywords = ["tunnel", "proxy", "channels", "alkcall", "network"]
|
|
categories = ["network-programming", "asynchronous"]
|
|
exclude = [".opencode/", "AGENTS.md", "docs/reviews/", "docs/research/", "docs/plans/", "docs/sdd_process.md"]
|
|
|
|
[lib]
|
|
name = "alktunnels"
|
|
|
|
[features]
|
|
default = []
|
|
|
|
[dependencies]
|
|
alkcall = "0.5.0"
|
|
tokio = { version = "1", default-features = false, features = ["rt", "sync", "io-util", "macros", "time"] }
|
|
bytes = "1"
|
|
futures = "0.3"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
async-trait = "0.1"
|
|
tracing = "0.1"
|
|
thiserror = "2"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["full", "test-util", "macros"] } |